docker-engine 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (248) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +17 -0
  4. data/README.md +230 -0
  5. data/SECURITY.md +27 -0
  6. data/lib/docker_engine/client.rb +77 -0
  7. data/lib/docker_engine/errors.rb +228 -0
  8. data/lib/docker_engine/file_part.rb +58 -0
  9. data/lib/docker_engine/internal/transport/base_client.rb +567 -0
  10. data/lib/docker_engine/internal/transport/pooled_net_requester.rb +210 -0
  11. data/lib/docker_engine/internal/type/array_of.rb +168 -0
  12. data/lib/docker_engine/internal/type/base_model.rb +529 -0
  13. data/lib/docker_engine/internal/type/base_page.rb +55 -0
  14. data/lib/docker_engine/internal/type/boolean.rb +77 -0
  15. data/lib/docker_engine/internal/type/converter.rb +327 -0
  16. data/lib/docker_engine/internal/type/enum.rb +131 -0
  17. data/lib/docker_engine/internal/type/file_input.rb +111 -0
  18. data/lib/docker_engine/internal/type/hash_of.rb +188 -0
  19. data/lib/docker_engine/internal/type/request_parameters.rb +42 -0
  20. data/lib/docker_engine/internal/type/union.rb +243 -0
  21. data/lib/docker_engine/internal/type/unknown.rb +81 -0
  22. data/lib/docker_engine/internal/util.rb +920 -0
  23. data/lib/docker_engine/internal.rb +20 -0
  24. data/lib/docker_engine/models/auth_login_params.rb +32 -0
  25. data/lib/docker_engine/models/auth_response.rb +27 -0
  26. data/lib/docker_engine/models/config.rb +307 -0
  27. data/lib/docker_engine/models/container.rb +2489 -0
  28. data/lib/docker_engine/models/container_create_params.rb +1716 -0
  29. data/lib/docker_engine/models/container_delete_params.rb +38 -0
  30. data/lib/docker_engine/models/container_inspect_params.rb +22 -0
  31. data/lib/docker_engine/models/container_kill_params.rb +25 -0
  32. data/lib/docker_engine/models/container_list_params.rb +70 -0
  33. data/lib/docker_engine/models/container_list_response.rb +8 -0
  34. data/lib/docker_engine/models/container_logs_params.rb +74 -0
  35. data/lib/docker_engine/models/container_start_params.rb +27 -0
  36. data/lib/docker_engine/models/container_stop_params.rb +33 -0
  37. data/lib/docker_engine/models/create_request.rb +348 -0
  38. data/lib/docker_engine/models/create_response.rb +27 -0
  39. data/lib/docker_engine/models/error.rb +18 -0
  40. data/lib/docker_engine/models/image.rb +1393 -0
  41. data/lib/docker_engine/models/image_delete_params.rb +43 -0
  42. data/lib/docker_engine/models/image_delete_response.rb +28 -0
  43. data/lib/docker_engine/models/image_inspect_params.rb +22 -0
  44. data/lib/docker_engine/models/image_list_params.rb +68 -0
  45. data/lib/docker_engine/models/image_list_response.rb +8 -0
  46. data/lib/docker_engine/models/image_pull_params.rb +115 -0
  47. data/lib/docker_engine/models/network.rb +253 -0
  48. data/lib/docker_engine/models/network_create_params.rb +210 -0
  49. data/lib/docker_engine/models/network_create_response.rb +27 -0
  50. data/lib/docker_engine/models/network_delete_params.rb +14 -0
  51. data/lib/docker_engine/models/network_inspect_params.rb +30 -0
  52. data/lib/docker_engine/models/network_inspect_response.rb +131 -0
  53. data/lib/docker_engine/models/network_list_params.rb +40 -0
  54. data/lib/docker_engine/models/network_list_response.rb +8 -0
  55. data/lib/docker_engine/models/service.rb +520 -0
  56. data/lib/docker_engine/models/service_create_params.rb +34 -0
  57. data/lib/docker_engine/models/service_create_response.rb +32 -0
  58. data/lib/docker_engine/models/service_delete_params.rb +14 -0
  59. data/lib/docker_engine/models/service_inspect_params.rb +22 -0
  60. data/lib/docker_engine/models/service_list_params.rb +41 -0
  61. data/lib/docker_engine/models/service_list_response.rb +8 -0
  62. data/lib/docker_engine/models/spec.rb +2302 -0
  63. data/lib/docker_engine/models/summary.rb +763 -0
  64. data/lib/docker_engine/models/system_info_params.rb +14 -0
  65. data/lib/docker_engine/models/system_info_response.rb +1879 -0
  66. data/lib/docker_engine/models/system_ping_params.rb +14 -0
  67. data/lib/docker_engine/models/system_ping_response.rb +7 -0
  68. data/lib/docker_engine/models/system_version_params.rb +14 -0
  69. data/lib/docker_engine/models/system_version_response.rb +164 -0
  70. data/lib/docker_engine/models/volume.rb +650 -0
  71. data/lib/docker_engine/models/volume_create_params.rb +14 -0
  72. data/lib/docker_engine/models/volume_delete_params.rb +22 -0
  73. data/lib/docker_engine/models/volume_inspect_params.rb +14 -0
  74. data/lib/docker_engine/models/volume_list_params.rb +34 -0
  75. data/lib/docker_engine/models/volume_list_response.rb +34 -0
  76. data/lib/docker_engine/models.rb +121 -0
  77. data/lib/docker_engine/request_options.rb +77 -0
  78. data/lib/docker_engine/resources/auth.rb +38 -0
  79. data/lib/docker_engine/resources/containers.rb +258 -0
  80. data/lib/docker_engine/resources/images.rb +156 -0
  81. data/lib/docker_engine/resources/networks.rb +139 -0
  82. data/lib/docker_engine/resources/services.rb +113 -0
  83. data/lib/docker_engine/resources/system.rb +70 -0
  84. data/lib/docker_engine/resources/volumes.rb +105 -0
  85. data/lib/docker_engine/version.rb +5 -0
  86. data/lib/docker_engine.rb +114 -0
  87. data/manifest.yaml +17 -0
  88. data/rbi/docker_engine/client.rbi +56 -0
  89. data/rbi/docker_engine/errors.rbi +205 -0
  90. data/rbi/docker_engine/file_part.rbi +37 -0
  91. data/rbi/docker_engine/internal/transport/base_client.rbi +300 -0
  92. data/rbi/docker_engine/internal/transport/pooled_net_requester.rbi +84 -0
  93. data/rbi/docker_engine/internal/type/array_of.rbi +104 -0
  94. data/rbi/docker_engine/internal/type/base_model.rbi +314 -0
  95. data/rbi/docker_engine/internal/type/base_page.rbi +43 -0
  96. data/rbi/docker_engine/internal/type/boolean.rbi +58 -0
  97. data/rbi/docker_engine/internal/type/converter.rbi +222 -0
  98. data/rbi/docker_engine/internal/type/enum.rbi +82 -0
  99. data/rbi/docker_engine/internal/type/file_input.rbi +59 -0
  100. data/rbi/docker_engine/internal/type/hash_of.rbi +104 -0
  101. data/rbi/docker_engine/internal/type/request_parameters.rbi +31 -0
  102. data/rbi/docker_engine/internal/type/union.rbi +128 -0
  103. data/rbi/docker_engine/internal/type/unknown.rbi +58 -0
  104. data/rbi/docker_engine/internal/util.rbi +487 -0
  105. data/rbi/docker_engine/internal.rbi +18 -0
  106. data/rbi/docker_engine/models/auth_login_params.rbi +62 -0
  107. data/rbi/docker_engine/models/auth_response.rbi +39 -0
  108. data/rbi/docker_engine/models/config.rbi +442 -0
  109. data/rbi/docker_engine/models/container.rbi +4575 -0
  110. data/rbi/docker_engine/models/container_create_params.rbi +3297 -0
  111. data/rbi/docker_engine/models/container_delete_params.rbi +71 -0
  112. data/rbi/docker_engine/models/container_inspect_params.rbi +46 -0
  113. data/rbi/docker_engine/models/container_kill_params.rbi +46 -0
  114. data/rbi/docker_engine/models/container_list_params.rbi +124 -0
  115. data/rbi/docker_engine/models/container_list_response.rbi +11 -0
  116. data/rbi/docker_engine/models/container_logs_params.rbi +117 -0
  117. data/rbi/docker_engine/models/container_start_params.rbi +50 -0
  118. data/rbi/docker_engine/models/container_stop_params.rbi +60 -0
  119. data/rbi/docker_engine/models/create_request.rbi +702 -0
  120. data/rbi/docker_engine/models/create_response.rbi +36 -0
  121. data/rbi/docker_engine/models/error.rbi +28 -0
  122. data/rbi/docker_engine/models/image.rbi +2323 -0
  123. data/rbi/docker_engine/models/image_delete_params.rbi +75 -0
  124. data/rbi/docker_engine/models/image_delete_response.rbi +52 -0
  125. data/rbi/docker_engine/models/image_inspect_params.rbi +49 -0
  126. data/rbi/docker_engine/models/image_list_params.rbi +112 -0
  127. data/rbi/docker_engine/models/image_list_response.rbi +11 -0
  128. data/rbi/docker_engine/models/image_pull_params.rbi +186 -0
  129. data/rbi/docker_engine/models/network.rbi +419 -0
  130. data/rbi/docker_engine/models/network_create_params.rbi +362 -0
  131. data/rbi/docker_engine/models/network_create_response.rbi +37 -0
  132. data/rbi/docker_engine/models/network_delete_params.rbi +32 -0
  133. data/rbi/docker_engine/models/network_inspect_params.rbi +60 -0
  134. data/rbi/docker_engine/models/network_inspect_response.rbi +329 -0
  135. data/rbi/docker_engine/models/network_list_params.rbi +76 -0
  136. data/rbi/docker_engine/models/network_list_response.rbi +11 -0
  137. data/rbi/docker_engine/models/service.rbi +1076 -0
  138. data/rbi/docker_engine/models/service_create_params.rbi +77 -0
  139. data/rbi/docker_engine/models/service_create_response.rbi +50 -0
  140. data/rbi/docker_engine/models/service_delete_params.rbi +32 -0
  141. data/rbi/docker_engine/models/service_inspect_params.rbi +49 -0
  142. data/rbi/docker_engine/models/service_list_params.rbi +76 -0
  143. data/rbi/docker_engine/models/service_list_response.rbi +11 -0
  144. data/rbi/docker_engine/models/spec.rbi +4587 -0
  145. data/rbi/docker_engine/models/summary.rbi +1298 -0
  146. data/rbi/docker_engine/models/system_info_params.rbi +29 -0
  147. data/rbi/docker_engine/models/system_info_response.rbi +3587 -0
  148. data/rbi/docker_engine/models/system_ping_params.rbi +29 -0
  149. data/rbi/docker_engine/models/system_ping_response.rbi +7 -0
  150. data/rbi/docker_engine/models/system_version_params.rbi +32 -0
  151. data/rbi/docker_engine/models/system_version_response.rbi +282 -0
  152. data/rbi/docker_engine/models/volume.rbi +1218 -0
  153. data/rbi/docker_engine/models/volume_create_params.rbi +32 -0
  154. data/rbi/docker_engine/models/volume_delete_params.rbi +46 -0
  155. data/rbi/docker_engine/models/volume_inspect_params.rbi +32 -0
  156. data/rbi/docker_engine/models/volume_list_params.rbi +61 -0
  157. data/rbi/docker_engine/models/volume_list_response.rbi +55 -0
  158. data/rbi/docker_engine/models.rbi +83 -0
  159. data/rbi/docker_engine/request_options.rbi +59 -0
  160. data/rbi/docker_engine/resources/auth.rbi +30 -0
  161. data/rbi/docker_engine/resources/containers.rbi +231 -0
  162. data/rbi/docker_engine/resources/images.rbi +164 -0
  163. data/rbi/docker_engine/resources/networks.rbi +133 -0
  164. data/rbi/docker_engine/resources/services.rbi +88 -0
  165. data/rbi/docker_engine/resources/system.rbi +40 -0
  166. data/rbi/docker_engine/resources/volumes.rbi +80 -0
  167. data/rbi/docker_engine/version.rbi +5 -0
  168. data/sig/docker_engine/client.rbs +33 -0
  169. data/sig/docker_engine/errors.rbs +117 -0
  170. data/sig/docker_engine/file_part.rbs +21 -0
  171. data/sig/docker_engine/internal/transport/base_client.rbs +131 -0
  172. data/sig/docker_engine/internal/transport/pooled_net_requester.rbs +48 -0
  173. data/sig/docker_engine/internal/type/array_of.rbs +48 -0
  174. data/sig/docker_engine/internal/type/base_model.rbs +104 -0
  175. data/sig/docker_engine/internal/type/base_page.rbs +24 -0
  176. data/sig/docker_engine/internal/type/boolean.rbs +26 -0
  177. data/sig/docker_engine/internal/type/converter.rbs +79 -0
  178. data/sig/docker_engine/internal/type/enum.rbs +32 -0
  179. data/sig/docker_engine/internal/type/file_input.rbs +25 -0
  180. data/sig/docker_engine/internal/type/hash_of.rbs +48 -0
  181. data/sig/docker_engine/internal/type/request_parameters.rbs +19 -0
  182. data/sig/docker_engine/internal/type/union.rbs +52 -0
  183. data/sig/docker_engine/internal/type/unknown.rbs +26 -0
  184. data/sig/docker_engine/internal/util.rbs +185 -0
  185. data/sig/docker_engine/internal.rbs +9 -0
  186. data/sig/docker_engine/models/auth_login_params.rbs +38 -0
  187. data/sig/docker_engine/models/auth_response.rbs +17 -0
  188. data/sig/docker_engine/models/config.rbs +225 -0
  189. data/sig/docker_engine/models/container.rbs +1973 -0
  190. data/sig/docker_engine/models/container_create_params.rbs +1352 -0
  191. data/sig/docker_engine/models/container_delete_params.rbs +38 -0
  192. data/sig/docker_engine/models/container_inspect_params.rbs +25 -0
  193. data/sig/docker_engine/models/container_kill_params.rbs +25 -0
  194. data/sig/docker_engine/models/container_list_params.rbs +44 -0
  195. data/sig/docker_engine/models/container_list_response.rbs +7 -0
  196. data/sig/docker_engine/models/container_logs_params.rbs +70 -0
  197. data/sig/docker_engine/models/container_start_params.rbs +25 -0
  198. data/sig/docker_engine/models/container_stop_params.rbs +32 -0
  199. data/sig/docker_engine/models/create_request.rbs +255 -0
  200. data/sig/docker_engine/models/create_response.rbs +15 -0
  201. data/sig/docker_engine/models/error.rbs +13 -0
  202. data/sig/docker_engine/models/image.rbs +1038 -0
  203. data/sig/docker_engine/models/image_delete_params.rbs +38 -0
  204. data/sig/docker_engine/models/image_delete_response.rbs +24 -0
  205. data/sig/docker_engine/models/image_inspect_params.rbs +25 -0
  206. data/sig/docker_engine/models/image_list_params.rbs +56 -0
  207. data/sig/docker_engine/models/image_list_response.rbs +7 -0
  208. data/sig/docker_engine/models/image_pull_params.rbs +84 -0
  209. data/sig/docker_engine/models/network.rbs +236 -0
  210. data/sig/docker_engine/models/network_create_params.rbs +203 -0
  211. data/sig/docker_engine/models/network_create_response.rbs +15 -0
  212. data/sig/docker_engine/models/network_delete_params.rbs +15 -0
  213. data/sig/docker_engine/models/network_inspect_params.rbs +32 -0
  214. data/sig/docker_engine/models/network_inspect_response.rbs +149 -0
  215. data/sig/docker_engine/models/network_list_params.rbs +25 -0
  216. data/sig/docker_engine/models/network_list_response.rbs +7 -0
  217. data/sig/docker_engine/models/service.rbs +471 -0
  218. data/sig/docker_engine/models/service_create_params.rbs +38 -0
  219. data/sig/docker_engine/models/service_create_response.rbs +17 -0
  220. data/sig/docker_engine/models/service_delete_params.rbs +15 -0
  221. data/sig/docker_engine/models/service_inspect_params.rbs +26 -0
  222. data/sig/docker_engine/models/service_list_params.rbs +32 -0
  223. data/sig/docker_engine/models/service_list_response.rbs +7 -0
  224. data/sig/docker_engine/models/spec.rbs +1984 -0
  225. data/sig/docker_engine/models/summary.rbs +634 -0
  226. data/sig/docker_engine/models/system_info_params.rbs +15 -0
  227. data/sig/docker_engine/models/system_info_response.rbs +1380 -0
  228. data/sig/docker_engine/models/system_ping_params.rbs +15 -0
  229. data/sig/docker_engine/models/system_ping_response.rbs +5 -0
  230. data/sig/docker_engine/models/system_version_params.rbs +15 -0
  231. data/sig/docker_engine/models/system_version_response.rbs +127 -0
  232. data/sig/docker_engine/models/volume.rbs +478 -0
  233. data/sig/docker_engine/models/volume_create_params.rbs +15 -0
  234. data/sig/docker_engine/models/volume_delete_params.rbs +25 -0
  235. data/sig/docker_engine/models/volume_inspect_params.rbs +15 -0
  236. data/sig/docker_engine/models/volume_list_params.rbs +25 -0
  237. data/sig/docker_engine/models/volume_list_response.rbs +28 -0
  238. data/sig/docker_engine/models.rbs +81 -0
  239. data/sig/docker_engine/request_options.rbs +36 -0
  240. data/sig/docker_engine/resources/auth.rbs +14 -0
  241. data/sig/docker_engine/resources/containers.rbs +67 -0
  242. data/sig/docker_engine/resources/images.rbs +43 -0
  243. data/sig/docker_engine/resources/networks.rbs +41 -0
  244. data/sig/docker_engine/resources/services.rbs +30 -0
  245. data/sig/docker_engine/resources/system.rbs +17 -0
  246. data/sig/docker_engine/resources/volumes.rbs +28 -0
  247. data/sig/docker_engine/version.rbs +3 -0
  248. metadata +319 -0
@@ -0,0 +1,3587 @@
1
+ # typed: strong
2
+
3
+ module DockerEngine
4
+ module Models
5
+ class SystemInfoResponse < DockerEngine::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ DockerEngine::Models::SystemInfoResponse,
10
+ DockerEngine::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # Hardware architecture of the host, as returned by the operating system. This is
15
+ # equivalent to the output of `uname -m` on Linux.
16
+ #
17
+ # Unlike `Arch` (from `/version`), this reports the machine's native architecture,
18
+ # which can differ from the Go runtime architecture when running a binary compiled
19
+ # for a different architecture (for example, a 32-bit binary running on 64-bit
20
+ # hardware).
21
+ sig { returns(T.nilable(String)) }
22
+ attr_reader :architecture
23
+
24
+ sig { params(architecture: String).void }
25
+ attr_writer :architecture
26
+
27
+ # List of directories where (Container Device Interface) CDI specifications are
28
+ # located.
29
+ #
30
+ # These specifications define vendor-specific modifications to an OCI runtime
31
+ # specification for a container being created.
32
+ #
33
+ # An empty list indicates that CDI device injection is disabled.
34
+ #
35
+ # Note that since using CDI device injection requires the daemon to have
36
+ # experimental enabled. For non-experimental daemons an empty list will always be
37
+ # returned.
38
+ sig { returns(T.nilable(T::Array[String])) }
39
+ attr_reader :cdi_spec_dirs
40
+
41
+ sig { params(cdi_spec_dirs: T::Array[String]).void }
42
+ attr_writer :cdi_spec_dirs
43
+
44
+ # The driver to use for managing cgroups.
45
+ sig do
46
+ returns(
47
+ T.nilable(
48
+ DockerEngine::Models::SystemInfoResponse::CgroupDriver::TaggedSymbol
49
+ )
50
+ )
51
+ end
52
+ attr_reader :cgroup_driver
53
+
54
+ sig do
55
+ params(
56
+ cgroup_driver:
57
+ DockerEngine::Models::SystemInfoResponse::CgroupDriver::OrSymbol
58
+ ).void
59
+ end
60
+ attr_writer :cgroup_driver
61
+
62
+ # The version of the cgroup.
63
+ sig do
64
+ returns(
65
+ T.nilable(
66
+ DockerEngine::Models::SystemInfoResponse::CgroupVersion::TaggedSymbol
67
+ )
68
+ )
69
+ end
70
+ attr_reader :cgroup_version
71
+
72
+ sig do
73
+ params(
74
+ cgroup_version:
75
+ DockerEngine::Models::SystemInfoResponse::CgroupVersion::OrSymbol
76
+ ).void
77
+ end
78
+ attr_writer :cgroup_version
79
+
80
+ # Information for connecting to the containerd instance that is used by the
81
+ # daemon. This is included for debugging purposes only.
82
+ sig do
83
+ returns(T.nilable(DockerEngine::Models::SystemInfoResponse::Containerd))
84
+ end
85
+ attr_reader :containerd
86
+
87
+ sig do
88
+ params(
89
+ containerd:
90
+ T.nilable(
91
+ DockerEngine::Models::SystemInfoResponse::Containerd::OrHash
92
+ )
93
+ ).void
94
+ end
95
+ attr_writer :containerd
96
+
97
+ # Commit holds the Git-commit (SHA1) that a binary was built from, as reported in
98
+ # the version-string of external tools, such as `containerd`, or `runC`.
99
+ sig do
100
+ returns(
101
+ T.nilable(DockerEngine::Models::SystemInfoResponse::ContainerdCommit)
102
+ )
103
+ end
104
+ attr_reader :containerd_commit
105
+
106
+ sig do
107
+ params(
108
+ containerd_commit:
109
+ DockerEngine::Models::SystemInfoResponse::ContainerdCommit::OrHash
110
+ ).void
111
+ end
112
+ attr_writer :containerd_commit
113
+
114
+ # Total number of containers on the host.
115
+ sig { returns(T.nilable(Integer)) }
116
+ attr_reader :containers
117
+
118
+ sig { params(containers: Integer).void }
119
+ attr_writer :containers
120
+
121
+ # Number of containers with status `"paused"`.
122
+ sig { returns(T.nilable(Integer)) }
123
+ attr_reader :containers_paused
124
+
125
+ sig { params(containers_paused: Integer).void }
126
+ attr_writer :containers_paused
127
+
128
+ # Number of containers with status `"running"`.
129
+ sig { returns(T.nilable(Integer)) }
130
+ attr_reader :containers_running
131
+
132
+ sig { params(containers_running: Integer).void }
133
+ attr_writer :containers_running
134
+
135
+ # Number of containers with status `"stopped"`.
136
+ sig { returns(T.nilable(Integer)) }
137
+ attr_reader :containers_stopped
138
+
139
+ sig { params(containers_stopped: Integer).void }
140
+ attr_writer :containers_stopped
141
+
142
+ # Indicates if CPU CFS(Completely Fair Scheduler) period is supported by the host.
143
+ sig { returns(T.nilable(T::Boolean)) }
144
+ attr_reader :cpu_cfs_period
145
+
146
+ sig { params(cpu_cfs_period: T::Boolean).void }
147
+ attr_writer :cpu_cfs_period
148
+
149
+ # Indicates if CPU CFS(Completely Fair Scheduler) quota is supported by the host.
150
+ sig { returns(T.nilable(T::Boolean)) }
151
+ attr_reader :cpu_cfs_quota
152
+
153
+ sig { params(cpu_cfs_quota: T::Boolean).void }
154
+ attr_writer :cpu_cfs_quota
155
+
156
+ # Indicates if CPUsets (cpuset.cpus, cpuset.mems) are supported by the host.
157
+ #
158
+ # See [cpuset(7)](https://www.kernel.org/doc/Documentation/cgroup-v1/cpusets.txt)
159
+ sig { returns(T.nilable(T::Boolean)) }
160
+ attr_reader :cpu_set
161
+
162
+ sig { params(cpu_set: T::Boolean).void }
163
+ attr_writer :cpu_set
164
+
165
+ # Indicates if CPU Shares limiting is supported by the host.
166
+ sig { returns(T.nilable(T::Boolean)) }
167
+ attr_reader :cpu_shares
168
+
169
+ sig { params(cpu_shares: T::Boolean).void }
170
+ attr_writer :cpu_shares
171
+
172
+ # Indicates if the daemon is running in debug-mode / with debug-level logging
173
+ # enabled.
174
+ sig { returns(T.nilable(T::Boolean)) }
175
+ attr_reader :debug
176
+
177
+ sig { params(debug: T::Boolean).void }
178
+ attr_writer :debug
179
+
180
+ # List of custom default address pools for local networks, which can be specified
181
+ # in the daemon.json file or dockerd option.
182
+ #
183
+ # Example: a Base "10.10.0.0/16" with Size 24 will define the set of 256
184
+ # 10.10.[0-255].0/24 address pools.
185
+ sig do
186
+ returns(
187
+ T.nilable(
188
+ T::Array[
189
+ DockerEngine::Models::SystemInfoResponse::DefaultAddressPool
190
+ ]
191
+ )
192
+ )
193
+ end
194
+ attr_reader :default_address_pools
195
+
196
+ sig do
197
+ params(
198
+ default_address_pools:
199
+ T::Array[
200
+ DockerEngine::Models::SystemInfoResponse::DefaultAddressPool::OrHash
201
+ ]
202
+ ).void
203
+ end
204
+ attr_writer :default_address_pools
205
+
206
+ # Name of the default OCI runtime that is used when starting containers.
207
+ #
208
+ # The default can be overridden per-container at create time.
209
+ sig { returns(T.nilable(String)) }
210
+ attr_reader :default_runtime
211
+
212
+ sig { params(default_runtime: String).void }
213
+ attr_writer :default_runtime
214
+
215
+ # List of devices discovered by device drivers.
216
+ #
217
+ # Each device includes information about its source driver, kind, name, and
218
+ # additional driver-specific attributes.
219
+ sig do
220
+ returns(
221
+ T.nilable(
222
+ T::Array[DockerEngine::Models::SystemInfoResponse::DiscoveredDevice]
223
+ )
224
+ )
225
+ end
226
+ attr_reader :discovered_devices
227
+
228
+ sig do
229
+ params(
230
+ discovered_devices:
231
+ T::Array[
232
+ DockerEngine::Models::SystemInfoResponse::DiscoveredDevice::OrHash
233
+ ]
234
+ ).void
235
+ end
236
+ attr_writer :discovered_devices
237
+
238
+ # Root directory of persistent Docker state.
239
+ #
240
+ # Defaults to `/var/lib/docker` on Linux, and `C:\ProgramData\docker` on Windows.
241
+ sig { returns(T.nilable(String)) }
242
+ attr_reader :docker_root_dir
243
+
244
+ sig { params(docker_root_dir: String).void }
245
+ attr_writer :docker_root_dir
246
+
247
+ # Name of the storage driver in use.
248
+ sig { returns(T.nilable(String)) }
249
+ attr_reader :driver
250
+
251
+ sig { params(driver: String).void }
252
+ attr_writer :driver
253
+
254
+ # Information specific to the storage driver, provided as "label" / "value" pairs.
255
+ #
256
+ # This information is provided by the storage driver, and formatted in a way
257
+ # consistent with the output of `docker info` on the command line.
258
+ #
259
+ # <p><br /></p>
260
+ #
261
+ # > **Note**: The information returned in this field, including the formatting of
262
+ # > values and labels, should not be considered stable, and may change without
263
+ # > notice.
264
+ sig { returns(T.nilable(T::Array[T::Array[String]])) }
265
+ attr_reader :driver_status
266
+
267
+ sig { params(driver_status: T::Array[T::Array[String]]).void }
268
+ attr_writer :driver_status
269
+
270
+ # Indicates if experimental features are enabled on the daemon.
271
+ sig { returns(T.nilable(T::Boolean)) }
272
+ attr_reader :experimental_build
273
+
274
+ sig { params(experimental_build: T::Boolean).void }
275
+ attr_writer :experimental_build
276
+
277
+ # Information about the daemon's firewalling configuration.
278
+ #
279
+ # This field is currently only used on Linux, and omitted on other platforms.
280
+ sig do
281
+ returns(
282
+ T.nilable(DockerEngine::Models::SystemInfoResponse::FirewallBackend)
283
+ )
284
+ end
285
+ attr_reader :firewall_backend
286
+
287
+ sig do
288
+ params(
289
+ firewall_backend:
290
+ T.nilable(
291
+ DockerEngine::Models::SystemInfoResponse::FirewallBackend::OrHash
292
+ )
293
+ ).void
294
+ end
295
+ attr_writer :firewall_backend
296
+
297
+ # User-defined resources can be either Integer resources (e.g, `SSD=3`) or String
298
+ # resources (e.g, `GPU=UUID1`).
299
+ sig do
300
+ returns(
301
+ T.nilable(
302
+ T::Array[DockerEngine::Models::SystemInfoResponse::GenericResource]
303
+ )
304
+ )
305
+ end
306
+ attr_reader :generic_resources
307
+
308
+ sig do
309
+ params(
310
+ generic_resources:
311
+ T::Array[
312
+ DockerEngine::Models::SystemInfoResponse::GenericResource::OrHash
313
+ ]
314
+ ).void
315
+ end
316
+ attr_writer :generic_resources
317
+
318
+ # HTTP-proxy configured for the daemon. This value is obtained from the
319
+ # [`HTTP_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html)
320
+ # environment variable. Credentials
321
+ # ([user info component](https://tools.ietf.org/html/rfc3986#section-3.2.1)) in
322
+ # the proxy URL are masked in the API response.
323
+ #
324
+ # Containers do not automatically inherit this configuration.
325
+ sig { returns(T.nilable(String)) }
326
+ attr_reader :http_proxy
327
+
328
+ sig { params(http_proxy: String).void }
329
+ attr_writer :http_proxy
330
+
331
+ # HTTPS-proxy configured for the daemon. This value is obtained from the
332
+ # [`HTTPS_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html)
333
+ # environment variable. Credentials
334
+ # ([user info component](https://tools.ietf.org/html/rfc3986#section-3.2.1)) in
335
+ # the proxy URL are masked in the API response.
336
+ #
337
+ # Containers do not automatically inherit this configuration.
338
+ sig { returns(T.nilable(String)) }
339
+ attr_reader :https_proxy
340
+
341
+ sig { params(https_proxy: String).void }
342
+ attr_writer :https_proxy
343
+
344
+ # Unique identifier of the daemon.
345
+ #
346
+ # <p><br /></p>
347
+ #
348
+ # > **Note**: The format of the ID itself is not part of the API, and should not
349
+ # > be considered stable.
350
+ sig { returns(T.nilable(String)) }
351
+ attr_reader :id
352
+
353
+ sig { params(id: String).void }
354
+ attr_writer :id
355
+
356
+ # Total number of images on the host.
357
+ #
358
+ # Both _tagged_ and _untagged_ (dangling) images are counted.
359
+ sig { returns(T.nilable(Integer)) }
360
+ attr_reader :images
361
+
362
+ sig { params(images: Integer).void }
363
+ attr_writer :images
364
+
365
+ # Address / URL of the index server that is used for image search, and as a
366
+ # default for user authentication for Docker Hub and Docker Cloud.
367
+ sig { returns(T.nilable(String)) }
368
+ attr_reader :index_server_address
369
+
370
+ sig { params(index_server_address: String).void }
371
+ attr_writer :index_server_address
372
+
373
+ # Name and, optional, path of the `docker-init` binary.
374
+ #
375
+ # If the path is omitted, the daemon searches the host's `$PATH` for the binary
376
+ # and uses the first result.
377
+ sig { returns(T.nilable(String)) }
378
+ attr_reader :init_binary
379
+
380
+ sig { params(init_binary: String).void }
381
+ attr_writer :init_binary
382
+
383
+ # Commit holds the Git-commit (SHA1) that a binary was built from, as reported in
384
+ # the version-string of external tools, such as `containerd`, or `runC`.
385
+ sig do
386
+ returns(T.nilable(DockerEngine::Models::SystemInfoResponse::InitCommit))
387
+ end
388
+ attr_reader :init_commit
389
+
390
+ sig do
391
+ params(
392
+ init_commit:
393
+ DockerEngine::Models::SystemInfoResponse::InitCommit::OrHash
394
+ ).void
395
+ end
396
+ attr_writer :init_commit
397
+
398
+ # Indicates IPv4 forwarding is enabled.
399
+ sig { returns(T.nilable(T::Boolean)) }
400
+ attr_reader :i_pv4_forwarding
401
+
402
+ sig { params(i_pv4_forwarding: T::Boolean).void }
403
+ attr_writer :i_pv4_forwarding
404
+
405
+ # Represents the isolation technology to use as a default for containers. The
406
+ # supported values are platform-specific.
407
+ #
408
+ # If no isolation value is specified on daemon start, on Windows client, the
409
+ # default is `hyperv`, and on Windows server, the default is `process`.
410
+ #
411
+ # This option is currently not used on other platforms.
412
+ sig do
413
+ returns(
414
+ T.nilable(
415
+ DockerEngine::Models::SystemInfoResponse::Isolation::TaggedSymbol
416
+ )
417
+ )
418
+ end
419
+ attr_reader :isolation
420
+
421
+ sig do
422
+ params(
423
+ isolation:
424
+ DockerEngine::Models::SystemInfoResponse::Isolation::OrSymbol
425
+ ).void
426
+ end
427
+ attr_writer :isolation
428
+
429
+ # Kernel version of the host.
430
+ #
431
+ # On Linux, this information obtained from `uname`. On Windows this information is
432
+ # queried from the <kbd>HKEY*LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows
433
+ # NT\\CurrentVersion\\</kbd> registry value, for example *"10.0 14393
434
+ # (14393.1198.amd64fre.rs1*release_sec.170427-1353)"*.
435
+ sig { returns(T.nilable(String)) }
436
+ attr_reader :kernel_version
437
+
438
+ sig { params(kernel_version: String).void }
439
+ attr_writer :kernel_version
440
+
441
+ # User-defined labels (key/value metadata) as set on the daemon.
442
+ #
443
+ # <p><br /></p>
444
+ #
445
+ # > **Note**: When part of a Swarm, nodes can both have _daemon_ labels, set
446
+ # > through the daemon configuration, and _node_ labels, set from a manager node
447
+ # > in the Swarm. Node labels are not included in this field. Node labels can be
448
+ # > retrieved using the `/nodes/(id)` endpoint on a manager node in the Swarm.
449
+ sig { returns(T.nilable(T::Array[String])) }
450
+ attr_reader :labels
451
+
452
+ sig { params(labels: T::Array[String]).void }
453
+ attr_writer :labels
454
+
455
+ # Indicates if live restore is enabled.
456
+ #
457
+ # If enabled, containers are kept running when the daemon is shutdown or upon
458
+ # daemon start if running containers are detected.
459
+ sig { returns(T.nilable(T::Boolean)) }
460
+ attr_reader :live_restore_enabled
461
+
462
+ sig { params(live_restore_enabled: T::Boolean).void }
463
+ attr_writer :live_restore_enabled
464
+
465
+ # The logging driver to use as a default for new containers.
466
+ sig { returns(T.nilable(String)) }
467
+ attr_reader :logging_driver
468
+
469
+ sig { params(logging_driver: String).void }
470
+ attr_writer :logging_driver
471
+
472
+ # Indicates if the host has memory limit support enabled.
473
+ sig { returns(T.nilable(T::Boolean)) }
474
+ attr_reader :memory_limit
475
+
476
+ sig { params(memory_limit: T::Boolean).void }
477
+ attr_writer :memory_limit
478
+
479
+ # Total amount of physical memory available on the host, in bytes.
480
+ sig { returns(T.nilable(Integer)) }
481
+ attr_reader :mem_total
482
+
483
+ sig { params(mem_total: Integer).void }
484
+ attr_writer :mem_total
485
+
486
+ # Hostname of the host.
487
+ sig { returns(T.nilable(String)) }
488
+ attr_reader :name
489
+
490
+ sig { params(name: String).void }
491
+ attr_writer :name
492
+
493
+ # The number of logical CPUs usable by the daemon.
494
+ #
495
+ # The number of available CPUs is checked by querying the operating system when
496
+ # the daemon starts. Changes to operating system CPU allocation after the daemon
497
+ # is started are not reflected.
498
+ sig { returns(T.nilable(Integer)) }
499
+ attr_reader :ncpu
500
+
501
+ sig { params(ncpu: Integer).void }
502
+ attr_writer :ncpu
503
+
504
+ # Number of event listeners subscribed.
505
+ sig { returns(T.nilable(Integer)) }
506
+ attr_reader :n_events_listener
507
+
508
+ sig { params(n_events_listener: Integer).void }
509
+ attr_writer :n_events_listener
510
+
511
+ # The total number of file Descriptors in use by the daemon process.
512
+ #
513
+ # This information is only returned if debug-mode is enabled.
514
+ sig { returns(T.nilable(Integer)) }
515
+ attr_reader :n_fd
516
+
517
+ sig { params(n_fd: Integer).void }
518
+ attr_writer :n_fd
519
+
520
+ # The number of goroutines that currently exist.
521
+ #
522
+ # This information is only returned if debug-mode is enabled.
523
+ sig { returns(T.nilable(Integer)) }
524
+ attr_reader :n_goroutines
525
+
526
+ sig { params(n_goroutines: Integer).void }
527
+ attr_writer :n_goroutines
528
+
529
+ # Comma-separated list of domain extensions for which no proxy should be used.
530
+ # This value is obtained from the
531
+ # [`NO_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html)
532
+ # environment variable.
533
+ #
534
+ # Containers do not automatically inherit this configuration.
535
+ sig { returns(T.nilable(String)) }
536
+ attr_reader :no_proxy
537
+
538
+ sig { params(no_proxy: String).void }
539
+ attr_writer :no_proxy
540
+
541
+ # Information about the Node Resource Interface (NRI).
542
+ #
543
+ # This field is only present if NRI is enabled.
544
+ sig { returns(T.nilable(DockerEngine::Models::SystemInfoResponse::Nri)) }
545
+ attr_reader :nri
546
+
547
+ sig do
548
+ params(
549
+ nri: T.nilable(DockerEngine::Models::SystemInfoResponse::Nri::OrHash)
550
+ ).void
551
+ end
552
+ attr_writer :nri
553
+
554
+ # Indicates if OOM killer disable is supported on the host.
555
+ sig { returns(T.nilable(T::Boolean)) }
556
+ attr_reader :oom_kill_disable
557
+
558
+ sig { params(oom_kill_disable: T::Boolean).void }
559
+ attr_writer :oom_kill_disable
560
+
561
+ # Name of the host's operating system, for example: "Ubuntu 24.04 LTS" or "Windows
562
+ # Server 2016 Datacenter"
563
+ sig { returns(T.nilable(String)) }
564
+ attr_reader :operating_system
565
+
566
+ sig { params(operating_system: String).void }
567
+ attr_writer :operating_system
568
+
569
+ # Generic type of the operating system of the host, as returned by the Go runtime
570
+ # (`GOOS`).
571
+ #
572
+ # Currently returned values are "linux" and "windows". A full list of possible
573
+ # values can be found in the
574
+ # [Go documentation](https://go.dev/doc/install/source#environment).
575
+ sig { returns(T.nilable(String)) }
576
+ attr_reader :os_type
577
+
578
+ sig { params(os_type: String).void }
579
+ attr_writer :os_type
580
+
581
+ # Version of the host's operating system
582
+ #
583
+ # <p><br /></p>
584
+ #
585
+ # > **Note**: The information returned in this field, including its very
586
+ # > existence, and the formatting of values, should not be considered stable, and
587
+ # > may change without notice.
588
+ sig { returns(T.nilable(String)) }
589
+ attr_reader :os_version
590
+
591
+ sig { params(os_version: String).void }
592
+ attr_writer :os_version
593
+
594
+ # Indicates if the host kernel has PID limit support enabled.
595
+ sig { returns(T.nilable(T::Boolean)) }
596
+ attr_reader :pids_limit
597
+
598
+ sig { params(pids_limit: T::Boolean).void }
599
+ attr_writer :pids_limit
600
+
601
+ # Available plugins per type.
602
+ #
603
+ # <p><br /></p>
604
+ #
605
+ # > **Note**: Only unmanaged (V1) plugins are included in this list. V1 plugins
606
+ # > are "lazily" loaded, and are not returned in this list if there is no resource
607
+ # > using the plugin.
608
+ sig do
609
+ returns(T.nilable(DockerEngine::Models::SystemInfoResponse::Plugins))
610
+ end
611
+ attr_reader :plugins
612
+
613
+ sig do
614
+ params(
615
+ plugins: DockerEngine::Models::SystemInfoResponse::Plugins::OrHash
616
+ ).void
617
+ end
618
+ attr_writer :plugins
619
+
620
+ # Reports a summary of the product license on the daemon.
621
+ #
622
+ # If a commercial license has been applied to the daemon, information such as
623
+ # number of nodes, and expiration are included.
624
+ sig { returns(T.nilable(String)) }
625
+ attr_reader :product_license
626
+
627
+ sig { params(product_license: String).void }
628
+ attr_writer :product_license
629
+
630
+ # RegistryServiceConfig stores daemon registry services configuration.
631
+ sig do
632
+ returns(
633
+ T.nilable(DockerEngine::Models::SystemInfoResponse::RegistryConfig)
634
+ )
635
+ end
636
+ attr_reader :registry_config
637
+
638
+ sig do
639
+ params(
640
+ registry_config:
641
+ T.nilable(
642
+ DockerEngine::Models::SystemInfoResponse::RegistryConfig::OrHash
643
+ )
644
+ ).void
645
+ end
646
+ attr_writer :registry_config
647
+
648
+ # Commit holds the Git-commit (SHA1) that a binary was built from, as reported in
649
+ # the version-string of external tools, such as `containerd`, or `runC`.
650
+ sig do
651
+ returns(T.nilable(DockerEngine::Models::SystemInfoResponse::RuncCommit))
652
+ end
653
+ attr_reader :runc_commit
654
+
655
+ sig do
656
+ params(
657
+ runc_commit:
658
+ DockerEngine::Models::SystemInfoResponse::RuncCommit::OrHash
659
+ ).void
660
+ end
661
+ attr_writer :runc_commit
662
+
663
+ # List of [OCI compliant](https://github.com/opencontainers/runtime-spec) runtimes
664
+ # configured on the daemon. Keys hold the "name" used to reference the runtime.
665
+ #
666
+ # The Docker daemon relies on an OCI compliant runtime (invoked via the
667
+ # `containerd` daemon) as its interface to the Linux kernel namespaces, cgroups,
668
+ # and SELinux.
669
+ #
670
+ # The default runtime is `runc`, and automatically configured. Additional runtimes
671
+ # can be configured by the user and will be listed here.
672
+ sig do
673
+ returns(
674
+ T.nilable(
675
+ T::Hash[Symbol, DockerEngine::Models::SystemInfoResponse::Runtime]
676
+ )
677
+ )
678
+ end
679
+ attr_reader :runtimes
680
+
681
+ sig do
682
+ params(
683
+ runtimes:
684
+ T::Hash[
685
+ Symbol,
686
+ DockerEngine::Models::SystemInfoResponse::Runtime::OrHash
687
+ ]
688
+ ).void
689
+ end
690
+ attr_writer :runtimes
691
+
692
+ # List of security features that are enabled on the daemon, such as apparmor,
693
+ # seccomp, SELinux, user-namespaces (userns), rootless and no-new-privileges.
694
+ #
695
+ # Additional configuration options for each security feature may be present, and
696
+ # are included as a comma-separated list of key/value pairs.
697
+ sig { returns(T.nilable(T::Array[String])) }
698
+ attr_reader :security_options
699
+
700
+ sig { params(security_options: T::Array[String]).void }
701
+ attr_writer :security_options
702
+
703
+ # Version string of the daemon.
704
+ sig { returns(T.nilable(String)) }
705
+ attr_reader :server_version
706
+
707
+ sig { params(server_version: String).void }
708
+ attr_writer :server_version
709
+
710
+ # Indicates if the host has memory swap limit support enabled.
711
+ sig { returns(T.nilable(T::Boolean)) }
712
+ attr_reader :swap_limit
713
+
714
+ sig { params(swap_limit: T::Boolean).void }
715
+ attr_writer :swap_limit
716
+
717
+ # Represents generic information about swarm.
718
+ sig do
719
+ returns(T.nilable(DockerEngine::Models::SystemInfoResponse::Swarm))
720
+ end
721
+ attr_reader :swarm
722
+
723
+ sig do
724
+ params(
725
+ swarm: DockerEngine::Models::SystemInfoResponse::Swarm::OrHash
726
+ ).void
727
+ end
728
+ attr_writer :swarm
729
+
730
+ # Current system-time in [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format
731
+ # with nano-seconds.
732
+ sig { returns(T.nilable(String)) }
733
+ attr_reader :system_time
734
+
735
+ sig { params(system_time: String).void }
736
+ attr_writer :system_time
737
+
738
+ # List of warnings / informational messages about missing features, or issues
739
+ # related to the daemon configuration.
740
+ #
741
+ # These messages can be printed by the client as information to the user.
742
+ sig { returns(T.nilable(T::Array[String])) }
743
+ attr_reader :warnings
744
+
745
+ sig { params(warnings: T::Array[String]).void }
746
+ attr_writer :warnings
747
+
748
+ sig do
749
+ params(
750
+ architecture: String,
751
+ cdi_spec_dirs: T::Array[String],
752
+ cgroup_driver:
753
+ DockerEngine::Models::SystemInfoResponse::CgroupDriver::OrSymbol,
754
+ cgroup_version:
755
+ DockerEngine::Models::SystemInfoResponse::CgroupVersion::OrSymbol,
756
+ containerd:
757
+ T.nilable(
758
+ DockerEngine::Models::SystemInfoResponse::Containerd::OrHash
759
+ ),
760
+ containerd_commit:
761
+ DockerEngine::Models::SystemInfoResponse::ContainerdCommit::OrHash,
762
+ containers: Integer,
763
+ containers_paused: Integer,
764
+ containers_running: Integer,
765
+ containers_stopped: Integer,
766
+ cpu_cfs_period: T::Boolean,
767
+ cpu_cfs_quota: T::Boolean,
768
+ cpu_set: T::Boolean,
769
+ cpu_shares: T::Boolean,
770
+ debug: T::Boolean,
771
+ default_address_pools:
772
+ T::Array[
773
+ DockerEngine::Models::SystemInfoResponse::DefaultAddressPool::OrHash
774
+ ],
775
+ default_runtime: String,
776
+ discovered_devices:
777
+ T::Array[
778
+ DockerEngine::Models::SystemInfoResponse::DiscoveredDevice::OrHash
779
+ ],
780
+ docker_root_dir: String,
781
+ driver: String,
782
+ driver_status: T::Array[T::Array[String]],
783
+ experimental_build: T::Boolean,
784
+ firewall_backend:
785
+ T.nilable(
786
+ DockerEngine::Models::SystemInfoResponse::FirewallBackend::OrHash
787
+ ),
788
+ generic_resources:
789
+ T::Array[
790
+ DockerEngine::Models::SystemInfoResponse::GenericResource::OrHash
791
+ ],
792
+ http_proxy: String,
793
+ https_proxy: String,
794
+ id: String,
795
+ images: Integer,
796
+ index_server_address: String,
797
+ init_binary: String,
798
+ init_commit:
799
+ DockerEngine::Models::SystemInfoResponse::InitCommit::OrHash,
800
+ i_pv4_forwarding: T::Boolean,
801
+ isolation:
802
+ DockerEngine::Models::SystemInfoResponse::Isolation::OrSymbol,
803
+ kernel_version: String,
804
+ labels: T::Array[String],
805
+ live_restore_enabled: T::Boolean,
806
+ logging_driver: String,
807
+ memory_limit: T::Boolean,
808
+ mem_total: Integer,
809
+ name: String,
810
+ ncpu: Integer,
811
+ n_events_listener: Integer,
812
+ n_fd: Integer,
813
+ n_goroutines: Integer,
814
+ no_proxy: String,
815
+ nri: T.nilable(DockerEngine::Models::SystemInfoResponse::Nri::OrHash),
816
+ oom_kill_disable: T::Boolean,
817
+ operating_system: String,
818
+ os_type: String,
819
+ os_version: String,
820
+ pids_limit: T::Boolean,
821
+ plugins: DockerEngine::Models::SystemInfoResponse::Plugins::OrHash,
822
+ product_license: String,
823
+ registry_config:
824
+ T.nilable(
825
+ DockerEngine::Models::SystemInfoResponse::RegistryConfig::OrHash
826
+ ),
827
+ runc_commit:
828
+ DockerEngine::Models::SystemInfoResponse::RuncCommit::OrHash,
829
+ runtimes:
830
+ T::Hash[
831
+ Symbol,
832
+ DockerEngine::Models::SystemInfoResponse::Runtime::OrHash
833
+ ],
834
+ security_options: T::Array[String],
835
+ server_version: String,
836
+ swap_limit: T::Boolean,
837
+ swarm: DockerEngine::Models::SystemInfoResponse::Swarm::OrHash,
838
+ system_time: String,
839
+ warnings: T::Array[String]
840
+ ).returns(T.attached_class)
841
+ end
842
+ def self.new(
843
+ # Hardware architecture of the host, as returned by the operating system. This is
844
+ # equivalent to the output of `uname -m` on Linux.
845
+ #
846
+ # Unlike `Arch` (from `/version`), this reports the machine's native architecture,
847
+ # which can differ from the Go runtime architecture when running a binary compiled
848
+ # for a different architecture (for example, a 32-bit binary running on 64-bit
849
+ # hardware).
850
+ architecture: nil,
851
+ # List of directories where (Container Device Interface) CDI specifications are
852
+ # located.
853
+ #
854
+ # These specifications define vendor-specific modifications to an OCI runtime
855
+ # specification for a container being created.
856
+ #
857
+ # An empty list indicates that CDI device injection is disabled.
858
+ #
859
+ # Note that since using CDI device injection requires the daemon to have
860
+ # experimental enabled. For non-experimental daemons an empty list will always be
861
+ # returned.
862
+ cdi_spec_dirs: nil,
863
+ # The driver to use for managing cgroups.
864
+ cgroup_driver: nil,
865
+ # The version of the cgroup.
866
+ cgroup_version: nil,
867
+ # Information for connecting to the containerd instance that is used by the
868
+ # daemon. This is included for debugging purposes only.
869
+ containerd: nil,
870
+ # Commit holds the Git-commit (SHA1) that a binary was built from, as reported in
871
+ # the version-string of external tools, such as `containerd`, or `runC`.
872
+ containerd_commit: nil,
873
+ # Total number of containers on the host.
874
+ containers: nil,
875
+ # Number of containers with status `"paused"`.
876
+ containers_paused: nil,
877
+ # Number of containers with status `"running"`.
878
+ containers_running: nil,
879
+ # Number of containers with status `"stopped"`.
880
+ containers_stopped: nil,
881
+ # Indicates if CPU CFS(Completely Fair Scheduler) period is supported by the host.
882
+ cpu_cfs_period: nil,
883
+ # Indicates if CPU CFS(Completely Fair Scheduler) quota is supported by the host.
884
+ cpu_cfs_quota: nil,
885
+ # Indicates if CPUsets (cpuset.cpus, cpuset.mems) are supported by the host.
886
+ #
887
+ # See [cpuset(7)](https://www.kernel.org/doc/Documentation/cgroup-v1/cpusets.txt)
888
+ cpu_set: nil,
889
+ # Indicates if CPU Shares limiting is supported by the host.
890
+ cpu_shares: nil,
891
+ # Indicates if the daemon is running in debug-mode / with debug-level logging
892
+ # enabled.
893
+ debug: nil,
894
+ # List of custom default address pools for local networks, which can be specified
895
+ # in the daemon.json file or dockerd option.
896
+ #
897
+ # Example: a Base "10.10.0.0/16" with Size 24 will define the set of 256
898
+ # 10.10.[0-255].0/24 address pools.
899
+ default_address_pools: nil,
900
+ # Name of the default OCI runtime that is used when starting containers.
901
+ #
902
+ # The default can be overridden per-container at create time.
903
+ default_runtime: nil,
904
+ # List of devices discovered by device drivers.
905
+ #
906
+ # Each device includes information about its source driver, kind, name, and
907
+ # additional driver-specific attributes.
908
+ discovered_devices: nil,
909
+ # Root directory of persistent Docker state.
910
+ #
911
+ # Defaults to `/var/lib/docker` on Linux, and `C:\ProgramData\docker` on Windows.
912
+ docker_root_dir: nil,
913
+ # Name of the storage driver in use.
914
+ driver: nil,
915
+ # Information specific to the storage driver, provided as "label" / "value" pairs.
916
+ #
917
+ # This information is provided by the storage driver, and formatted in a way
918
+ # consistent with the output of `docker info` on the command line.
919
+ #
920
+ # <p><br /></p>
921
+ #
922
+ # > **Note**: The information returned in this field, including the formatting of
923
+ # > values and labels, should not be considered stable, and may change without
924
+ # > notice.
925
+ driver_status: nil,
926
+ # Indicates if experimental features are enabled on the daemon.
927
+ experimental_build: nil,
928
+ # Information about the daemon's firewalling configuration.
929
+ #
930
+ # This field is currently only used on Linux, and omitted on other platforms.
931
+ firewall_backend: nil,
932
+ # User-defined resources can be either Integer resources (e.g, `SSD=3`) or String
933
+ # resources (e.g, `GPU=UUID1`).
934
+ generic_resources: nil,
935
+ # HTTP-proxy configured for the daemon. This value is obtained from the
936
+ # [`HTTP_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html)
937
+ # environment variable. Credentials
938
+ # ([user info component](https://tools.ietf.org/html/rfc3986#section-3.2.1)) in
939
+ # the proxy URL are masked in the API response.
940
+ #
941
+ # Containers do not automatically inherit this configuration.
942
+ http_proxy: nil,
943
+ # HTTPS-proxy configured for the daemon. This value is obtained from the
944
+ # [`HTTPS_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html)
945
+ # environment variable. Credentials
946
+ # ([user info component](https://tools.ietf.org/html/rfc3986#section-3.2.1)) in
947
+ # the proxy URL are masked in the API response.
948
+ #
949
+ # Containers do not automatically inherit this configuration.
950
+ https_proxy: nil,
951
+ # Unique identifier of the daemon.
952
+ #
953
+ # <p><br /></p>
954
+ #
955
+ # > **Note**: The format of the ID itself is not part of the API, and should not
956
+ # > be considered stable.
957
+ id: nil,
958
+ # Total number of images on the host.
959
+ #
960
+ # Both _tagged_ and _untagged_ (dangling) images are counted.
961
+ images: nil,
962
+ # Address / URL of the index server that is used for image search, and as a
963
+ # default for user authentication for Docker Hub and Docker Cloud.
964
+ index_server_address: nil,
965
+ # Name and, optional, path of the `docker-init` binary.
966
+ #
967
+ # If the path is omitted, the daemon searches the host's `$PATH` for the binary
968
+ # and uses the first result.
969
+ init_binary: nil,
970
+ # Commit holds the Git-commit (SHA1) that a binary was built from, as reported in
971
+ # the version-string of external tools, such as `containerd`, or `runC`.
972
+ init_commit: nil,
973
+ # Indicates IPv4 forwarding is enabled.
974
+ i_pv4_forwarding: nil,
975
+ # Represents the isolation technology to use as a default for containers. The
976
+ # supported values are platform-specific.
977
+ #
978
+ # If no isolation value is specified on daemon start, on Windows client, the
979
+ # default is `hyperv`, and on Windows server, the default is `process`.
980
+ #
981
+ # This option is currently not used on other platforms.
982
+ isolation: nil,
983
+ # Kernel version of the host.
984
+ #
985
+ # On Linux, this information obtained from `uname`. On Windows this information is
986
+ # queried from the <kbd>HKEY*LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows
987
+ # NT\\CurrentVersion\\</kbd> registry value, for example *"10.0 14393
988
+ # (14393.1198.amd64fre.rs1*release_sec.170427-1353)"*.
989
+ kernel_version: nil,
990
+ # User-defined labels (key/value metadata) as set on the daemon.
991
+ #
992
+ # <p><br /></p>
993
+ #
994
+ # > **Note**: When part of a Swarm, nodes can both have _daemon_ labels, set
995
+ # > through the daemon configuration, and _node_ labels, set from a manager node
996
+ # > in the Swarm. Node labels are not included in this field. Node labels can be
997
+ # > retrieved using the `/nodes/(id)` endpoint on a manager node in the Swarm.
998
+ labels: nil,
999
+ # Indicates if live restore is enabled.
1000
+ #
1001
+ # If enabled, containers are kept running when the daemon is shutdown or upon
1002
+ # daemon start if running containers are detected.
1003
+ live_restore_enabled: nil,
1004
+ # The logging driver to use as a default for new containers.
1005
+ logging_driver: nil,
1006
+ # Indicates if the host has memory limit support enabled.
1007
+ memory_limit: nil,
1008
+ # Total amount of physical memory available on the host, in bytes.
1009
+ mem_total: nil,
1010
+ # Hostname of the host.
1011
+ name: nil,
1012
+ # The number of logical CPUs usable by the daemon.
1013
+ #
1014
+ # The number of available CPUs is checked by querying the operating system when
1015
+ # the daemon starts. Changes to operating system CPU allocation after the daemon
1016
+ # is started are not reflected.
1017
+ ncpu: nil,
1018
+ # Number of event listeners subscribed.
1019
+ n_events_listener: nil,
1020
+ # The total number of file Descriptors in use by the daemon process.
1021
+ #
1022
+ # This information is only returned if debug-mode is enabled.
1023
+ n_fd: nil,
1024
+ # The number of goroutines that currently exist.
1025
+ #
1026
+ # This information is only returned if debug-mode is enabled.
1027
+ n_goroutines: nil,
1028
+ # Comma-separated list of domain extensions for which no proxy should be used.
1029
+ # This value is obtained from the
1030
+ # [`NO_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html)
1031
+ # environment variable.
1032
+ #
1033
+ # Containers do not automatically inherit this configuration.
1034
+ no_proxy: nil,
1035
+ # Information about the Node Resource Interface (NRI).
1036
+ #
1037
+ # This field is only present if NRI is enabled.
1038
+ nri: nil,
1039
+ # Indicates if OOM killer disable is supported on the host.
1040
+ oom_kill_disable: nil,
1041
+ # Name of the host's operating system, for example: "Ubuntu 24.04 LTS" or "Windows
1042
+ # Server 2016 Datacenter"
1043
+ operating_system: nil,
1044
+ # Generic type of the operating system of the host, as returned by the Go runtime
1045
+ # (`GOOS`).
1046
+ #
1047
+ # Currently returned values are "linux" and "windows". A full list of possible
1048
+ # values can be found in the
1049
+ # [Go documentation](https://go.dev/doc/install/source#environment).
1050
+ os_type: nil,
1051
+ # Version of the host's operating system
1052
+ #
1053
+ # <p><br /></p>
1054
+ #
1055
+ # > **Note**: The information returned in this field, including its very
1056
+ # > existence, and the formatting of values, should not be considered stable, and
1057
+ # > may change without notice.
1058
+ os_version: nil,
1059
+ # Indicates if the host kernel has PID limit support enabled.
1060
+ pids_limit: nil,
1061
+ # Available plugins per type.
1062
+ #
1063
+ # <p><br /></p>
1064
+ #
1065
+ # > **Note**: Only unmanaged (V1) plugins are included in this list. V1 plugins
1066
+ # > are "lazily" loaded, and are not returned in this list if there is no resource
1067
+ # > using the plugin.
1068
+ plugins: nil,
1069
+ # Reports a summary of the product license on the daemon.
1070
+ #
1071
+ # If a commercial license has been applied to the daemon, information such as
1072
+ # number of nodes, and expiration are included.
1073
+ product_license: nil,
1074
+ # RegistryServiceConfig stores daemon registry services configuration.
1075
+ registry_config: nil,
1076
+ # Commit holds the Git-commit (SHA1) that a binary was built from, as reported in
1077
+ # the version-string of external tools, such as `containerd`, or `runC`.
1078
+ runc_commit: nil,
1079
+ # List of [OCI compliant](https://github.com/opencontainers/runtime-spec) runtimes
1080
+ # configured on the daemon. Keys hold the "name" used to reference the runtime.
1081
+ #
1082
+ # The Docker daemon relies on an OCI compliant runtime (invoked via the
1083
+ # `containerd` daemon) as its interface to the Linux kernel namespaces, cgroups,
1084
+ # and SELinux.
1085
+ #
1086
+ # The default runtime is `runc`, and automatically configured. Additional runtimes
1087
+ # can be configured by the user and will be listed here.
1088
+ runtimes: nil,
1089
+ # List of security features that are enabled on the daemon, such as apparmor,
1090
+ # seccomp, SELinux, user-namespaces (userns), rootless and no-new-privileges.
1091
+ #
1092
+ # Additional configuration options for each security feature may be present, and
1093
+ # are included as a comma-separated list of key/value pairs.
1094
+ security_options: nil,
1095
+ # Version string of the daemon.
1096
+ server_version: nil,
1097
+ # Indicates if the host has memory swap limit support enabled.
1098
+ swap_limit: nil,
1099
+ # Represents generic information about swarm.
1100
+ swarm: nil,
1101
+ # Current system-time in [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format
1102
+ # with nano-seconds.
1103
+ system_time: nil,
1104
+ # List of warnings / informational messages about missing features, or issues
1105
+ # related to the daemon configuration.
1106
+ #
1107
+ # These messages can be printed by the client as information to the user.
1108
+ warnings: nil
1109
+ )
1110
+ end
1111
+
1112
+ sig do
1113
+ override.returns(
1114
+ {
1115
+ architecture: String,
1116
+ cdi_spec_dirs: T::Array[String],
1117
+ cgroup_driver:
1118
+ DockerEngine::Models::SystemInfoResponse::CgroupDriver::TaggedSymbol,
1119
+ cgroup_version:
1120
+ DockerEngine::Models::SystemInfoResponse::CgroupVersion::TaggedSymbol,
1121
+ containerd:
1122
+ T.nilable(DockerEngine::Models::SystemInfoResponse::Containerd),
1123
+ containerd_commit:
1124
+ DockerEngine::Models::SystemInfoResponse::ContainerdCommit,
1125
+ containers: Integer,
1126
+ containers_paused: Integer,
1127
+ containers_running: Integer,
1128
+ containers_stopped: Integer,
1129
+ cpu_cfs_period: T::Boolean,
1130
+ cpu_cfs_quota: T::Boolean,
1131
+ cpu_set: T::Boolean,
1132
+ cpu_shares: T::Boolean,
1133
+ debug: T::Boolean,
1134
+ default_address_pools:
1135
+ T::Array[
1136
+ DockerEngine::Models::SystemInfoResponse::DefaultAddressPool
1137
+ ],
1138
+ default_runtime: String,
1139
+ discovered_devices:
1140
+ T::Array[
1141
+ DockerEngine::Models::SystemInfoResponse::DiscoveredDevice
1142
+ ],
1143
+ docker_root_dir: String,
1144
+ driver: String,
1145
+ driver_status: T::Array[T::Array[String]],
1146
+ experimental_build: T::Boolean,
1147
+ firewall_backend:
1148
+ T.nilable(
1149
+ DockerEngine::Models::SystemInfoResponse::FirewallBackend
1150
+ ),
1151
+ generic_resources:
1152
+ T::Array[
1153
+ DockerEngine::Models::SystemInfoResponse::GenericResource
1154
+ ],
1155
+ http_proxy: String,
1156
+ https_proxy: String,
1157
+ id: String,
1158
+ images: Integer,
1159
+ index_server_address: String,
1160
+ init_binary: String,
1161
+ init_commit: DockerEngine::Models::SystemInfoResponse::InitCommit,
1162
+ i_pv4_forwarding: T::Boolean,
1163
+ isolation:
1164
+ DockerEngine::Models::SystemInfoResponse::Isolation::TaggedSymbol,
1165
+ kernel_version: String,
1166
+ labels: T::Array[String],
1167
+ live_restore_enabled: T::Boolean,
1168
+ logging_driver: String,
1169
+ memory_limit: T::Boolean,
1170
+ mem_total: Integer,
1171
+ name: String,
1172
+ ncpu: Integer,
1173
+ n_events_listener: Integer,
1174
+ n_fd: Integer,
1175
+ n_goroutines: Integer,
1176
+ no_proxy: String,
1177
+ nri: T.nilable(DockerEngine::Models::SystemInfoResponse::Nri),
1178
+ oom_kill_disable: T::Boolean,
1179
+ operating_system: String,
1180
+ os_type: String,
1181
+ os_version: String,
1182
+ pids_limit: T::Boolean,
1183
+ plugins: DockerEngine::Models::SystemInfoResponse::Plugins,
1184
+ product_license: String,
1185
+ registry_config:
1186
+ T.nilable(
1187
+ DockerEngine::Models::SystemInfoResponse::RegistryConfig
1188
+ ),
1189
+ runc_commit: DockerEngine::Models::SystemInfoResponse::RuncCommit,
1190
+ runtimes:
1191
+ T::Hash[
1192
+ Symbol,
1193
+ DockerEngine::Models::SystemInfoResponse::Runtime
1194
+ ],
1195
+ security_options: T::Array[String],
1196
+ server_version: String,
1197
+ swap_limit: T::Boolean,
1198
+ swarm: DockerEngine::Models::SystemInfoResponse::Swarm,
1199
+ system_time: String,
1200
+ warnings: T::Array[String]
1201
+ }
1202
+ )
1203
+ end
1204
+ def to_hash
1205
+ end
1206
+
1207
+ # The driver to use for managing cgroups.
1208
+ module CgroupDriver
1209
+ extend DockerEngine::Internal::Type::Enum
1210
+
1211
+ TaggedSymbol =
1212
+ T.type_alias do
1213
+ T.all(
1214
+ Symbol,
1215
+ DockerEngine::Models::SystemInfoResponse::CgroupDriver
1216
+ )
1217
+ end
1218
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1219
+
1220
+ CGROUPFS =
1221
+ T.let(
1222
+ :cgroupfs,
1223
+ DockerEngine::Models::SystemInfoResponse::CgroupDriver::TaggedSymbol
1224
+ )
1225
+ SYSTEMD =
1226
+ T.let(
1227
+ :systemd,
1228
+ DockerEngine::Models::SystemInfoResponse::CgroupDriver::TaggedSymbol
1229
+ )
1230
+ NONE =
1231
+ T.let(
1232
+ :none,
1233
+ DockerEngine::Models::SystemInfoResponse::CgroupDriver::TaggedSymbol
1234
+ )
1235
+
1236
+ sig do
1237
+ override.returns(
1238
+ T::Array[
1239
+ DockerEngine::Models::SystemInfoResponse::CgroupDriver::TaggedSymbol
1240
+ ]
1241
+ )
1242
+ end
1243
+ def self.values
1244
+ end
1245
+ end
1246
+
1247
+ # The version of the cgroup.
1248
+ module CgroupVersion
1249
+ extend DockerEngine::Internal::Type::Enum
1250
+
1251
+ TaggedSymbol =
1252
+ T.type_alias do
1253
+ T.all(
1254
+ Symbol,
1255
+ DockerEngine::Models::SystemInfoResponse::CgroupVersion
1256
+ )
1257
+ end
1258
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1259
+
1260
+ CGROUP_VERSION_1 =
1261
+ T.let(
1262
+ :"1",
1263
+ DockerEngine::Models::SystemInfoResponse::CgroupVersion::TaggedSymbol
1264
+ )
1265
+ CGROUP_VERSION_2 =
1266
+ T.let(
1267
+ :"2",
1268
+ DockerEngine::Models::SystemInfoResponse::CgroupVersion::TaggedSymbol
1269
+ )
1270
+
1271
+ sig do
1272
+ override.returns(
1273
+ T::Array[
1274
+ DockerEngine::Models::SystemInfoResponse::CgroupVersion::TaggedSymbol
1275
+ ]
1276
+ )
1277
+ end
1278
+ def self.values
1279
+ end
1280
+ end
1281
+
1282
+ class Containerd < DockerEngine::Internal::Type::BaseModel
1283
+ OrHash =
1284
+ T.type_alias do
1285
+ T.any(
1286
+ DockerEngine::Models::SystemInfoResponse::Containerd,
1287
+ DockerEngine::Internal::AnyHash
1288
+ )
1289
+ end
1290
+
1291
+ # The address of the containerd socket.
1292
+ sig { returns(T.nilable(String)) }
1293
+ attr_reader :address
1294
+
1295
+ sig { params(address: String).void }
1296
+ attr_writer :address
1297
+
1298
+ # The namespaces that the daemon uses for running containers and plugins in
1299
+ # containerd. These namespaces can be configured in the daemon configuration, and
1300
+ # are considered to be used exclusively by the daemon, Tampering with the
1301
+ # containerd instance may cause unexpected behavior.
1302
+ #
1303
+ # As these namespaces are considered to be exclusively accessed by the daemon, it
1304
+ # is not recommended to change these values, or to change them to a value that is
1305
+ # used by other systems, such as cri-containerd.
1306
+ sig do
1307
+ returns(
1308
+ T.nilable(
1309
+ DockerEngine::Models::SystemInfoResponse::Containerd::Namespaces
1310
+ )
1311
+ )
1312
+ end
1313
+ attr_reader :namespaces
1314
+
1315
+ sig do
1316
+ params(
1317
+ namespaces:
1318
+ DockerEngine::Models::SystemInfoResponse::Containerd::Namespaces::OrHash
1319
+ ).void
1320
+ end
1321
+ attr_writer :namespaces
1322
+
1323
+ # Information for connecting to the containerd instance that is used by the
1324
+ # daemon. This is included for debugging purposes only.
1325
+ sig do
1326
+ params(
1327
+ address: String,
1328
+ namespaces:
1329
+ DockerEngine::Models::SystemInfoResponse::Containerd::Namespaces::OrHash
1330
+ ).returns(T.attached_class)
1331
+ end
1332
+ def self.new(
1333
+ # The address of the containerd socket.
1334
+ address: nil,
1335
+ # The namespaces that the daemon uses for running containers and plugins in
1336
+ # containerd. These namespaces can be configured in the daemon configuration, and
1337
+ # are considered to be used exclusively by the daemon, Tampering with the
1338
+ # containerd instance may cause unexpected behavior.
1339
+ #
1340
+ # As these namespaces are considered to be exclusively accessed by the daemon, it
1341
+ # is not recommended to change these values, or to change them to a value that is
1342
+ # used by other systems, such as cri-containerd.
1343
+ namespaces: nil
1344
+ )
1345
+ end
1346
+
1347
+ sig do
1348
+ override.returns(
1349
+ {
1350
+ address: String,
1351
+ namespaces:
1352
+ DockerEngine::Models::SystemInfoResponse::Containerd::Namespaces
1353
+ }
1354
+ )
1355
+ end
1356
+ def to_hash
1357
+ end
1358
+
1359
+ class Namespaces < DockerEngine::Internal::Type::BaseModel
1360
+ OrHash =
1361
+ T.type_alias do
1362
+ T.any(
1363
+ DockerEngine::Models::SystemInfoResponse::Containerd::Namespaces,
1364
+ DockerEngine::Internal::AnyHash
1365
+ )
1366
+ end
1367
+
1368
+ # The default containerd namespace used for containers managed by the daemon.
1369
+ #
1370
+ # The default namespace for containers is "moby", but will be suffixed with the
1371
+ # `<uid>.<gid>` of the remapped `root` if user-namespaces are enabled and the
1372
+ # containerd image-store is used.
1373
+ sig { returns(T.nilable(String)) }
1374
+ attr_reader :containers
1375
+
1376
+ sig { params(containers: String).void }
1377
+ attr_writer :containers
1378
+
1379
+ # The default containerd namespace used for plugins managed by the daemon.
1380
+ #
1381
+ # The default namespace for plugins is "plugins.moby", but will be suffixed with
1382
+ # the `<uid>.<gid>` of the remapped `root` if user-namespaces are enabled and the
1383
+ # containerd image-store is used.
1384
+ sig { returns(T.nilable(String)) }
1385
+ attr_reader :plugins
1386
+
1387
+ sig { params(plugins: String).void }
1388
+ attr_writer :plugins
1389
+
1390
+ # The namespaces that the daemon uses for running containers and plugins in
1391
+ # containerd. These namespaces can be configured in the daemon configuration, and
1392
+ # are considered to be used exclusively by the daemon, Tampering with the
1393
+ # containerd instance may cause unexpected behavior.
1394
+ #
1395
+ # As these namespaces are considered to be exclusively accessed by the daemon, it
1396
+ # is not recommended to change these values, or to change them to a value that is
1397
+ # used by other systems, such as cri-containerd.
1398
+ sig do
1399
+ params(containers: String, plugins: String).returns(
1400
+ T.attached_class
1401
+ )
1402
+ end
1403
+ def self.new(
1404
+ # The default containerd namespace used for containers managed by the daemon.
1405
+ #
1406
+ # The default namespace for containers is "moby", but will be suffixed with the
1407
+ # `<uid>.<gid>` of the remapped `root` if user-namespaces are enabled and the
1408
+ # containerd image-store is used.
1409
+ containers: nil,
1410
+ # The default containerd namespace used for plugins managed by the daemon.
1411
+ #
1412
+ # The default namespace for plugins is "plugins.moby", but will be suffixed with
1413
+ # the `<uid>.<gid>` of the remapped `root` if user-namespaces are enabled and the
1414
+ # containerd image-store is used.
1415
+ plugins: nil
1416
+ )
1417
+ end
1418
+
1419
+ sig { override.returns({ containers: String, plugins: String }) }
1420
+ def to_hash
1421
+ end
1422
+ end
1423
+ end
1424
+
1425
+ class ContainerdCommit < DockerEngine::Internal::Type::BaseModel
1426
+ OrHash =
1427
+ T.type_alias do
1428
+ T.any(
1429
+ DockerEngine::Models::SystemInfoResponse::ContainerdCommit,
1430
+ DockerEngine::Internal::AnyHash
1431
+ )
1432
+ end
1433
+
1434
+ # Actual commit ID of external tool.
1435
+ sig { returns(T.nilable(String)) }
1436
+ attr_reader :id
1437
+
1438
+ sig { params(id: String).void }
1439
+ attr_writer :id
1440
+
1441
+ # Commit holds the Git-commit (SHA1) that a binary was built from, as reported in
1442
+ # the version-string of external tools, such as `containerd`, or `runC`.
1443
+ sig { params(id: String).returns(T.attached_class) }
1444
+ def self.new(
1445
+ # Actual commit ID of external tool.
1446
+ id: nil
1447
+ )
1448
+ end
1449
+
1450
+ sig { override.returns({ id: String }) }
1451
+ def to_hash
1452
+ end
1453
+ end
1454
+
1455
+ class DefaultAddressPool < DockerEngine::Internal::Type::BaseModel
1456
+ OrHash =
1457
+ T.type_alias do
1458
+ T.any(
1459
+ DockerEngine::Models::SystemInfoResponse::DefaultAddressPool,
1460
+ DockerEngine::Internal::AnyHash
1461
+ )
1462
+ end
1463
+
1464
+ # The network address in CIDR format
1465
+ sig { returns(T.nilable(String)) }
1466
+ attr_reader :base
1467
+
1468
+ sig { params(base: String).void }
1469
+ attr_writer :base
1470
+
1471
+ # The network pool size
1472
+ sig { returns(T.nilable(Integer)) }
1473
+ attr_reader :size
1474
+
1475
+ sig { params(size: Integer).void }
1476
+ attr_writer :size
1477
+
1478
+ sig { params(base: String, size: Integer).returns(T.attached_class) }
1479
+ def self.new(
1480
+ # The network address in CIDR format
1481
+ base: nil,
1482
+ # The network pool size
1483
+ size: nil
1484
+ )
1485
+ end
1486
+
1487
+ sig { override.returns({ base: String, size: Integer }) }
1488
+ def to_hash
1489
+ end
1490
+ end
1491
+
1492
+ class DiscoveredDevice < DockerEngine::Internal::Type::BaseModel
1493
+ OrHash =
1494
+ T.type_alias do
1495
+ T.any(
1496
+ DockerEngine::Models::SystemInfoResponse::DiscoveredDevice,
1497
+ DockerEngine::Internal::AnyHash
1498
+ )
1499
+ end
1500
+
1501
+ # The unique identifier for the device within its source driver. For CDI devices,
1502
+ # this would be an FQDN like "vendor.com/gpu=0".
1503
+ sig { returns(T.nilable(String)) }
1504
+ attr_reader :id
1505
+
1506
+ sig { params(id: String).void }
1507
+ attr_writer :id
1508
+
1509
+ # The origin device driver.
1510
+ sig { returns(T.nilable(String)) }
1511
+ attr_reader :source
1512
+
1513
+ sig { params(source: String).void }
1514
+ attr_writer :source
1515
+
1516
+ # DeviceInfo represents a device that can be used by a container.
1517
+ sig { params(id: String, source: String).returns(T.attached_class) }
1518
+ def self.new(
1519
+ # The unique identifier for the device within its source driver. For CDI devices,
1520
+ # this would be an FQDN like "vendor.com/gpu=0".
1521
+ id: nil,
1522
+ # The origin device driver.
1523
+ source: nil
1524
+ )
1525
+ end
1526
+
1527
+ sig { override.returns({ id: String, source: String }) }
1528
+ def to_hash
1529
+ end
1530
+ end
1531
+
1532
+ class FirewallBackend < DockerEngine::Internal::Type::BaseModel
1533
+ OrHash =
1534
+ T.type_alias do
1535
+ T.any(
1536
+ DockerEngine::Models::SystemInfoResponse::FirewallBackend,
1537
+ DockerEngine::Internal::AnyHash
1538
+ )
1539
+ end
1540
+
1541
+ # The name of the firewall backend driver.
1542
+ sig { returns(T.nilable(String)) }
1543
+ attr_reader :driver
1544
+
1545
+ sig { params(driver: String).void }
1546
+ attr_writer :driver
1547
+
1548
+ # Information about the firewall backend, provided as "label" / "value" pairs.
1549
+ #
1550
+ # <p><br /></p>
1551
+ #
1552
+ # > **Note**: The information returned in this field, including the formatting of
1553
+ # > values and labels, should not be considered stable, and may change without
1554
+ # > notice.
1555
+ sig { returns(T.nilable(T::Array[T::Array[String]])) }
1556
+ attr_reader :info
1557
+
1558
+ sig { params(info: T::Array[T::Array[String]]).void }
1559
+ attr_writer :info
1560
+
1561
+ # Information about the daemon's firewalling configuration.
1562
+ #
1563
+ # This field is currently only used on Linux, and omitted on other platforms.
1564
+ sig do
1565
+ params(driver: String, info: T::Array[T::Array[String]]).returns(
1566
+ T.attached_class
1567
+ )
1568
+ end
1569
+ def self.new(
1570
+ # The name of the firewall backend driver.
1571
+ driver: nil,
1572
+ # Information about the firewall backend, provided as "label" / "value" pairs.
1573
+ #
1574
+ # <p><br /></p>
1575
+ #
1576
+ # > **Note**: The information returned in this field, including the formatting of
1577
+ # > values and labels, should not be considered stable, and may change without
1578
+ # > notice.
1579
+ info: nil
1580
+ )
1581
+ end
1582
+
1583
+ sig do
1584
+ override.returns({ driver: String, info: T::Array[T::Array[String]] })
1585
+ end
1586
+ def to_hash
1587
+ end
1588
+ end
1589
+
1590
+ class GenericResource < DockerEngine::Internal::Type::BaseModel
1591
+ OrHash =
1592
+ T.type_alias do
1593
+ T.any(
1594
+ DockerEngine::Models::SystemInfoResponse::GenericResource,
1595
+ DockerEngine::Internal::AnyHash
1596
+ )
1597
+ end
1598
+
1599
+ sig do
1600
+ returns(
1601
+ T.nilable(
1602
+ DockerEngine::Models::SystemInfoResponse::GenericResource::DiscreteResourceSpec
1603
+ )
1604
+ )
1605
+ end
1606
+ attr_reader :discrete_resource_spec
1607
+
1608
+ sig do
1609
+ params(
1610
+ discrete_resource_spec:
1611
+ DockerEngine::Models::SystemInfoResponse::GenericResource::DiscreteResourceSpec::OrHash
1612
+ ).void
1613
+ end
1614
+ attr_writer :discrete_resource_spec
1615
+
1616
+ sig do
1617
+ returns(
1618
+ T.nilable(
1619
+ DockerEngine::Models::SystemInfoResponse::GenericResource::NamedResourceSpec
1620
+ )
1621
+ )
1622
+ end
1623
+ attr_reader :named_resource_spec
1624
+
1625
+ sig do
1626
+ params(
1627
+ named_resource_spec:
1628
+ DockerEngine::Models::SystemInfoResponse::GenericResource::NamedResourceSpec::OrHash
1629
+ ).void
1630
+ end
1631
+ attr_writer :named_resource_spec
1632
+
1633
+ sig do
1634
+ params(
1635
+ discrete_resource_spec:
1636
+ DockerEngine::Models::SystemInfoResponse::GenericResource::DiscreteResourceSpec::OrHash,
1637
+ named_resource_spec:
1638
+ DockerEngine::Models::SystemInfoResponse::GenericResource::NamedResourceSpec::OrHash
1639
+ ).returns(T.attached_class)
1640
+ end
1641
+ def self.new(discrete_resource_spec: nil, named_resource_spec: nil)
1642
+ end
1643
+
1644
+ sig do
1645
+ override.returns(
1646
+ {
1647
+ discrete_resource_spec:
1648
+ DockerEngine::Models::SystemInfoResponse::GenericResource::DiscreteResourceSpec,
1649
+ named_resource_spec:
1650
+ DockerEngine::Models::SystemInfoResponse::GenericResource::NamedResourceSpec
1651
+ }
1652
+ )
1653
+ end
1654
+ def to_hash
1655
+ end
1656
+
1657
+ class DiscreteResourceSpec < DockerEngine::Internal::Type::BaseModel
1658
+ OrHash =
1659
+ T.type_alias do
1660
+ T.any(
1661
+ DockerEngine::Models::SystemInfoResponse::GenericResource::DiscreteResourceSpec,
1662
+ DockerEngine::Internal::AnyHash
1663
+ )
1664
+ end
1665
+
1666
+ sig { returns(T.nilable(String)) }
1667
+ attr_reader :kind
1668
+
1669
+ sig { params(kind: String).void }
1670
+ attr_writer :kind
1671
+
1672
+ sig { returns(T.nilable(Integer)) }
1673
+ attr_reader :value
1674
+
1675
+ sig { params(value: Integer).void }
1676
+ attr_writer :value
1677
+
1678
+ sig { params(kind: String, value: Integer).returns(T.attached_class) }
1679
+ def self.new(kind: nil, value: nil)
1680
+ end
1681
+
1682
+ sig { override.returns({ kind: String, value: Integer }) }
1683
+ def to_hash
1684
+ end
1685
+ end
1686
+
1687
+ class NamedResourceSpec < DockerEngine::Internal::Type::BaseModel
1688
+ OrHash =
1689
+ T.type_alias do
1690
+ T.any(
1691
+ DockerEngine::Models::SystemInfoResponse::GenericResource::NamedResourceSpec,
1692
+ DockerEngine::Internal::AnyHash
1693
+ )
1694
+ end
1695
+
1696
+ sig { returns(T.nilable(String)) }
1697
+ attr_reader :kind
1698
+
1699
+ sig { params(kind: String).void }
1700
+ attr_writer :kind
1701
+
1702
+ sig { returns(T.nilable(String)) }
1703
+ attr_reader :value
1704
+
1705
+ sig { params(value: String).void }
1706
+ attr_writer :value
1707
+
1708
+ sig { params(kind: String, value: String).returns(T.attached_class) }
1709
+ def self.new(kind: nil, value: nil)
1710
+ end
1711
+
1712
+ sig { override.returns({ kind: String, value: String }) }
1713
+ def to_hash
1714
+ end
1715
+ end
1716
+ end
1717
+
1718
+ class InitCommit < DockerEngine::Internal::Type::BaseModel
1719
+ OrHash =
1720
+ T.type_alias do
1721
+ T.any(
1722
+ DockerEngine::Models::SystemInfoResponse::InitCommit,
1723
+ DockerEngine::Internal::AnyHash
1724
+ )
1725
+ end
1726
+
1727
+ # Actual commit ID of external tool.
1728
+ sig { returns(T.nilable(String)) }
1729
+ attr_reader :id
1730
+
1731
+ sig { params(id: String).void }
1732
+ attr_writer :id
1733
+
1734
+ # Commit holds the Git-commit (SHA1) that a binary was built from, as reported in
1735
+ # the version-string of external tools, such as `containerd`, or `runC`.
1736
+ sig { params(id: String).returns(T.attached_class) }
1737
+ def self.new(
1738
+ # Actual commit ID of external tool.
1739
+ id: nil
1740
+ )
1741
+ end
1742
+
1743
+ sig { override.returns({ id: String }) }
1744
+ def to_hash
1745
+ end
1746
+ end
1747
+
1748
+ # Represents the isolation technology to use as a default for containers. The
1749
+ # supported values are platform-specific.
1750
+ #
1751
+ # If no isolation value is specified on daemon start, on Windows client, the
1752
+ # default is `hyperv`, and on Windows server, the default is `process`.
1753
+ #
1754
+ # This option is currently not used on other platforms.
1755
+ module Isolation
1756
+ extend DockerEngine::Internal::Type::Enum
1757
+
1758
+ TaggedSymbol =
1759
+ T.type_alias do
1760
+ T.all(Symbol, DockerEngine::Models::SystemInfoResponse::Isolation)
1761
+ end
1762
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1763
+
1764
+ DEFAULT =
1765
+ T.let(
1766
+ :default,
1767
+ DockerEngine::Models::SystemInfoResponse::Isolation::TaggedSymbol
1768
+ )
1769
+ HYPERV =
1770
+ T.let(
1771
+ :hyperv,
1772
+ DockerEngine::Models::SystemInfoResponse::Isolation::TaggedSymbol
1773
+ )
1774
+ PROCESS =
1775
+ T.let(
1776
+ :process,
1777
+ DockerEngine::Models::SystemInfoResponse::Isolation::TaggedSymbol
1778
+ )
1779
+ EMPTY =
1780
+ T.let(
1781
+ :"",
1782
+ DockerEngine::Models::SystemInfoResponse::Isolation::TaggedSymbol
1783
+ )
1784
+
1785
+ sig do
1786
+ override.returns(
1787
+ T::Array[
1788
+ DockerEngine::Models::SystemInfoResponse::Isolation::TaggedSymbol
1789
+ ]
1790
+ )
1791
+ end
1792
+ def self.values
1793
+ end
1794
+ end
1795
+
1796
+ class Nri < DockerEngine::Internal::Type::BaseModel
1797
+ OrHash =
1798
+ T.type_alias do
1799
+ T.any(
1800
+ DockerEngine::Models::SystemInfoResponse::Nri,
1801
+ DockerEngine::Internal::AnyHash
1802
+ )
1803
+ end
1804
+
1805
+ # Information about NRI, provided as "label" / "value" pairs.
1806
+ #
1807
+ # <p><br /></p>
1808
+ #
1809
+ # > **Note**: The information returned in this field, including the formatting of
1810
+ # > values and labels, should not be considered stable, and may change without
1811
+ # > notice.
1812
+ sig { returns(T.nilable(T::Array[T::Array[String]])) }
1813
+ attr_reader :info
1814
+
1815
+ sig { params(info: T::Array[T::Array[String]]).void }
1816
+ attr_writer :info
1817
+
1818
+ # Information about the Node Resource Interface (NRI).
1819
+ #
1820
+ # This field is only present if NRI is enabled.
1821
+ sig do
1822
+ params(info: T::Array[T::Array[String]]).returns(T.attached_class)
1823
+ end
1824
+ def self.new(
1825
+ # Information about NRI, provided as "label" / "value" pairs.
1826
+ #
1827
+ # <p><br /></p>
1828
+ #
1829
+ # > **Note**: The information returned in this field, including the formatting of
1830
+ # > values and labels, should not be considered stable, and may change without
1831
+ # > notice.
1832
+ info: nil
1833
+ )
1834
+ end
1835
+
1836
+ sig { override.returns({ info: T::Array[T::Array[String]] }) }
1837
+ def to_hash
1838
+ end
1839
+ end
1840
+
1841
+ class Plugins < DockerEngine::Internal::Type::BaseModel
1842
+ OrHash =
1843
+ T.type_alias do
1844
+ T.any(
1845
+ DockerEngine::Models::SystemInfoResponse::Plugins,
1846
+ DockerEngine::Internal::AnyHash
1847
+ )
1848
+ end
1849
+
1850
+ # Names of available authorization plugins.
1851
+ sig { returns(T.nilable(T::Array[String])) }
1852
+ attr_reader :authorization
1853
+
1854
+ sig { params(authorization: T::Array[String]).void }
1855
+ attr_writer :authorization
1856
+
1857
+ # Names of available logging-drivers, and logging-driver plugins.
1858
+ sig { returns(T.nilable(T::Array[String])) }
1859
+ attr_reader :log
1860
+
1861
+ sig { params(log: T::Array[String]).void }
1862
+ attr_writer :log
1863
+
1864
+ # Names of available network-drivers, and network-driver plugins.
1865
+ sig { returns(T.nilable(T::Array[String])) }
1866
+ attr_reader :network
1867
+
1868
+ sig { params(network: T::Array[String]).void }
1869
+ attr_writer :network
1870
+
1871
+ # Names of available volume-drivers, and network-driver plugins.
1872
+ sig { returns(T.nilable(T::Array[String])) }
1873
+ attr_reader :volume
1874
+
1875
+ sig { params(volume: T::Array[String]).void }
1876
+ attr_writer :volume
1877
+
1878
+ # Available plugins per type.
1879
+ #
1880
+ # <p><br /></p>
1881
+ #
1882
+ # > **Note**: Only unmanaged (V1) plugins are included in this list. V1 plugins
1883
+ # > are "lazily" loaded, and are not returned in this list if there is no resource
1884
+ # > using the plugin.
1885
+ sig do
1886
+ params(
1887
+ authorization: T::Array[String],
1888
+ log: T::Array[String],
1889
+ network: T::Array[String],
1890
+ volume: T::Array[String]
1891
+ ).returns(T.attached_class)
1892
+ end
1893
+ def self.new(
1894
+ # Names of available authorization plugins.
1895
+ authorization: nil,
1896
+ # Names of available logging-drivers, and logging-driver plugins.
1897
+ log: nil,
1898
+ # Names of available network-drivers, and network-driver plugins.
1899
+ network: nil,
1900
+ # Names of available volume-drivers, and network-driver plugins.
1901
+ volume: nil
1902
+ )
1903
+ end
1904
+
1905
+ sig do
1906
+ override.returns(
1907
+ {
1908
+ authorization: T::Array[String],
1909
+ log: T::Array[String],
1910
+ network: T::Array[String],
1911
+ volume: T::Array[String]
1912
+ }
1913
+ )
1914
+ end
1915
+ def to_hash
1916
+ end
1917
+ end
1918
+
1919
+ class RegistryConfig < DockerEngine::Internal::Type::BaseModel
1920
+ OrHash =
1921
+ T.type_alias do
1922
+ T.any(
1923
+ DockerEngine::Models::SystemInfoResponse::RegistryConfig,
1924
+ DockerEngine::Internal::AnyHash
1925
+ )
1926
+ end
1927
+
1928
+ sig do
1929
+ returns(
1930
+ T.nilable(
1931
+ T::Hash[
1932
+ Symbol,
1933
+ T.nilable(
1934
+ DockerEngine::Models::SystemInfoResponse::RegistryConfig::IndexConfig
1935
+ )
1936
+ ]
1937
+ )
1938
+ )
1939
+ end
1940
+ attr_reader :index_configs
1941
+
1942
+ sig do
1943
+ params(
1944
+ index_configs:
1945
+ T::Hash[
1946
+ Symbol,
1947
+ T.nilable(
1948
+ DockerEngine::Models::SystemInfoResponse::RegistryConfig::IndexConfig::OrHash
1949
+ )
1950
+ ]
1951
+ ).void
1952
+ end
1953
+ attr_writer :index_configs
1954
+
1955
+ # List of IP ranges of insecure registries, using the CIDR syntax
1956
+ # ([RFC 4632](https://tools.ietf.org/html/4632)). Insecure registries accept
1957
+ # un-encrypted (HTTP) and/or untrusted (HTTPS with certificates from unknown CAs)
1958
+ # communication.
1959
+ #
1960
+ # By default, local registries (`::1/128` and `127.0.0.0/8`) are configured as
1961
+ # insecure. All other registries are secure. Communicating with an insecure
1962
+ # registry is not possible if the daemon assumes that registry is secure.
1963
+ #
1964
+ # This configuration override this behavior, insecure communication with
1965
+ # registries whose resolved IP address is within the subnet described by the CIDR
1966
+ # syntax.
1967
+ #
1968
+ # Registries can also be marked insecure by hostname. Those registries are listed
1969
+ # under `IndexConfigs` and have their `Secure` field set to `false`.
1970
+ #
1971
+ # > **Warning**: Using this option can be useful when running a local registry,
1972
+ # > but introduces security vulnerabilities. This option should therefore ONLY be
1973
+ # > used for testing purposes. For increased security, users should add their CA
1974
+ # > to their system's list of trusted CAs instead of enabling this option.
1975
+ sig { returns(T.nilable(T::Array[String])) }
1976
+ attr_reader :insecure_registry_cid_rs
1977
+
1978
+ sig { params(insecure_registry_cid_rs: T::Array[String]).void }
1979
+ attr_writer :insecure_registry_cid_rs
1980
+
1981
+ # List of registry URLs that act as a mirror for the official (`docker.io`)
1982
+ # registry.
1983
+ sig { returns(T.nilable(T::Array[String])) }
1984
+ attr_reader :mirrors
1985
+
1986
+ sig { params(mirrors: T::Array[String]).void }
1987
+ attr_writer :mirrors
1988
+
1989
+ # RegistryServiceConfig stores daemon registry services configuration.
1990
+ sig do
1991
+ params(
1992
+ index_configs:
1993
+ T::Hash[
1994
+ Symbol,
1995
+ T.nilable(
1996
+ DockerEngine::Models::SystemInfoResponse::RegistryConfig::IndexConfig::OrHash
1997
+ )
1998
+ ],
1999
+ insecure_registry_cid_rs: T::Array[String],
2000
+ mirrors: T::Array[String]
2001
+ ).returns(T.attached_class)
2002
+ end
2003
+ def self.new(
2004
+ index_configs: nil,
2005
+ # List of IP ranges of insecure registries, using the CIDR syntax
2006
+ # ([RFC 4632](https://tools.ietf.org/html/4632)). Insecure registries accept
2007
+ # un-encrypted (HTTP) and/or untrusted (HTTPS with certificates from unknown CAs)
2008
+ # communication.
2009
+ #
2010
+ # By default, local registries (`::1/128` and `127.0.0.0/8`) are configured as
2011
+ # insecure. All other registries are secure. Communicating with an insecure
2012
+ # registry is not possible if the daemon assumes that registry is secure.
2013
+ #
2014
+ # This configuration override this behavior, insecure communication with
2015
+ # registries whose resolved IP address is within the subnet described by the CIDR
2016
+ # syntax.
2017
+ #
2018
+ # Registries can also be marked insecure by hostname. Those registries are listed
2019
+ # under `IndexConfigs` and have their `Secure` field set to `false`.
2020
+ #
2021
+ # > **Warning**: Using this option can be useful when running a local registry,
2022
+ # > but introduces security vulnerabilities. This option should therefore ONLY be
2023
+ # > used for testing purposes. For increased security, users should add their CA
2024
+ # > to their system's list of trusted CAs instead of enabling this option.
2025
+ insecure_registry_cid_rs: nil,
2026
+ # List of registry URLs that act as a mirror for the official (`docker.io`)
2027
+ # registry.
2028
+ mirrors: nil
2029
+ )
2030
+ end
2031
+
2032
+ sig do
2033
+ override.returns(
2034
+ {
2035
+ index_configs:
2036
+ T::Hash[
2037
+ Symbol,
2038
+ T.nilable(
2039
+ DockerEngine::Models::SystemInfoResponse::RegistryConfig::IndexConfig
2040
+ )
2041
+ ],
2042
+ insecure_registry_cid_rs: T::Array[String],
2043
+ mirrors: T::Array[String]
2044
+ }
2045
+ )
2046
+ end
2047
+ def to_hash
2048
+ end
2049
+
2050
+ class IndexConfig < DockerEngine::Internal::Type::BaseModel
2051
+ OrHash =
2052
+ T.type_alias do
2053
+ T.any(
2054
+ DockerEngine::Models::SystemInfoResponse::RegistryConfig::IndexConfig,
2055
+ DockerEngine::Internal::AnyHash
2056
+ )
2057
+ end
2058
+
2059
+ # List of mirrors, expressed as URIs.
2060
+ sig { returns(T.nilable(T::Array[String])) }
2061
+ attr_reader :mirrors
2062
+
2063
+ sig { params(mirrors: T::Array[String]).void }
2064
+ attr_writer :mirrors
2065
+
2066
+ # Name of the registry, such as "docker.io".
2067
+ sig { returns(T.nilable(String)) }
2068
+ attr_reader :name
2069
+
2070
+ sig { params(name: String).void }
2071
+ attr_writer :name
2072
+
2073
+ # Indicates whether this is an official registry (i.e., Docker Hub / docker.io)
2074
+ sig { returns(T.nilable(T::Boolean)) }
2075
+ attr_reader :official
2076
+
2077
+ sig { params(official: T::Boolean).void }
2078
+ attr_writer :official
2079
+
2080
+ # Indicates if the registry is part of the list of insecure registries.
2081
+ #
2082
+ # If `false`, the registry is insecure. Insecure registries accept un-encrypted
2083
+ # (HTTP) and/or untrusted (HTTPS with certificates from unknown CAs)
2084
+ # communication.
2085
+ #
2086
+ # > **Warning**: Insecure registries can be useful when running a local registry.
2087
+ # > However, because its use creates security vulnerabilities it should ONLY be
2088
+ # > enabled for testing purposes. For increased security, users should add their
2089
+ # > CA to their system's list of trusted CAs instead of enabling this option.
2090
+ sig { returns(T.nilable(T::Boolean)) }
2091
+ attr_reader :secure
2092
+
2093
+ sig { params(secure: T::Boolean).void }
2094
+ attr_writer :secure
2095
+
2096
+ # IndexInfo contains information about a registry.
2097
+ sig do
2098
+ params(
2099
+ mirrors: T::Array[String],
2100
+ name: String,
2101
+ official: T::Boolean,
2102
+ secure: T::Boolean
2103
+ ).returns(T.attached_class)
2104
+ end
2105
+ def self.new(
2106
+ # List of mirrors, expressed as URIs.
2107
+ mirrors: nil,
2108
+ # Name of the registry, such as "docker.io".
2109
+ name: nil,
2110
+ # Indicates whether this is an official registry (i.e., Docker Hub / docker.io)
2111
+ official: nil,
2112
+ # Indicates if the registry is part of the list of insecure registries.
2113
+ #
2114
+ # If `false`, the registry is insecure. Insecure registries accept un-encrypted
2115
+ # (HTTP) and/or untrusted (HTTPS with certificates from unknown CAs)
2116
+ # communication.
2117
+ #
2118
+ # > **Warning**: Insecure registries can be useful when running a local registry.
2119
+ # > However, because its use creates security vulnerabilities it should ONLY be
2120
+ # > enabled for testing purposes. For increased security, users should add their
2121
+ # > CA to their system's list of trusted CAs instead of enabling this option.
2122
+ secure: nil
2123
+ )
2124
+ end
2125
+
2126
+ sig do
2127
+ override.returns(
2128
+ {
2129
+ mirrors: T::Array[String],
2130
+ name: String,
2131
+ official: T::Boolean,
2132
+ secure: T::Boolean
2133
+ }
2134
+ )
2135
+ end
2136
+ def to_hash
2137
+ end
2138
+ end
2139
+ end
2140
+
2141
+ class RuncCommit < DockerEngine::Internal::Type::BaseModel
2142
+ OrHash =
2143
+ T.type_alias do
2144
+ T.any(
2145
+ DockerEngine::Models::SystemInfoResponse::RuncCommit,
2146
+ DockerEngine::Internal::AnyHash
2147
+ )
2148
+ end
2149
+
2150
+ # Actual commit ID of external tool.
2151
+ sig { returns(T.nilable(String)) }
2152
+ attr_reader :id
2153
+
2154
+ sig { params(id: String).void }
2155
+ attr_writer :id
2156
+
2157
+ # Commit holds the Git-commit (SHA1) that a binary was built from, as reported in
2158
+ # the version-string of external tools, such as `containerd`, or `runC`.
2159
+ sig { params(id: String).returns(T.attached_class) }
2160
+ def self.new(
2161
+ # Actual commit ID of external tool.
2162
+ id: nil
2163
+ )
2164
+ end
2165
+
2166
+ sig { override.returns({ id: String }) }
2167
+ def to_hash
2168
+ end
2169
+ end
2170
+
2171
+ class Runtime < DockerEngine::Internal::Type::BaseModel
2172
+ OrHash =
2173
+ T.type_alias do
2174
+ T.any(
2175
+ DockerEngine::Models::SystemInfoResponse::Runtime,
2176
+ DockerEngine::Internal::AnyHash
2177
+ )
2178
+ end
2179
+
2180
+ # Name and, optional, path, of the OCI executable binary.
2181
+ #
2182
+ # If the path is omitted, the daemon searches the host's `$PATH` for the binary
2183
+ # and uses the first result.
2184
+ sig { returns(T.nilable(String)) }
2185
+ attr_reader :path
2186
+
2187
+ sig { params(path: String).void }
2188
+ attr_writer :path
2189
+
2190
+ # List of command-line arguments to pass to the runtime when invoked.
2191
+ sig { returns(T.nilable(T::Array[String])) }
2192
+ attr_accessor :runtime_args
2193
+
2194
+ # Information specific to the runtime.
2195
+ #
2196
+ # While this API specification does not define data provided by runtimes, the
2197
+ # following well-known properties may be provided by runtimes:
2198
+ #
2199
+ # `org.opencontainers.runtime-spec.features`: features structure as defined in the
2200
+ # [OCI Runtime Specification](https://github.com/opencontainers/runtime-spec/blob/main/features.md),
2201
+ # in a JSON string representation.
2202
+ #
2203
+ # <p><br /></p>
2204
+ #
2205
+ # > **Note**: The information returned in this field, including the formatting of
2206
+ # > values and labels, should not be considered stable, and may change without
2207
+ # > notice.
2208
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
2209
+ attr_accessor :status
2210
+
2211
+ # Runtime describes an
2212
+ # [OCI compliant](https://github.com/opencontainers/runtime-spec) runtime.
2213
+ #
2214
+ # The runtime is invoked by the daemon via the `containerd` daemon. OCI runtimes
2215
+ # act as an interface to the Linux kernel namespaces, cgroups, and SELinux.
2216
+ sig do
2217
+ params(
2218
+ path: String,
2219
+ runtime_args: T.nilable(T::Array[String]),
2220
+ status: T.nilable(T::Hash[Symbol, String])
2221
+ ).returns(T.attached_class)
2222
+ end
2223
+ def self.new(
2224
+ # Name and, optional, path, of the OCI executable binary.
2225
+ #
2226
+ # If the path is omitted, the daemon searches the host's `$PATH` for the binary
2227
+ # and uses the first result.
2228
+ path: nil,
2229
+ # List of command-line arguments to pass to the runtime when invoked.
2230
+ runtime_args: nil,
2231
+ # Information specific to the runtime.
2232
+ #
2233
+ # While this API specification does not define data provided by runtimes, the
2234
+ # following well-known properties may be provided by runtimes:
2235
+ #
2236
+ # `org.opencontainers.runtime-spec.features`: features structure as defined in the
2237
+ # [OCI Runtime Specification](https://github.com/opencontainers/runtime-spec/blob/main/features.md),
2238
+ # in a JSON string representation.
2239
+ #
2240
+ # <p><br /></p>
2241
+ #
2242
+ # > **Note**: The information returned in this field, including the formatting of
2243
+ # > values and labels, should not be considered stable, and may change without
2244
+ # > notice.
2245
+ status: nil
2246
+ )
2247
+ end
2248
+
2249
+ sig do
2250
+ override.returns(
2251
+ {
2252
+ path: String,
2253
+ runtime_args: T.nilable(T::Array[String]),
2254
+ status: T.nilable(T::Hash[Symbol, String])
2255
+ }
2256
+ )
2257
+ end
2258
+ def to_hash
2259
+ end
2260
+ end
2261
+
2262
+ class Swarm < DockerEngine::Internal::Type::BaseModel
2263
+ OrHash =
2264
+ T.type_alias do
2265
+ T.any(
2266
+ DockerEngine::Models::SystemInfoResponse::Swarm,
2267
+ DockerEngine::Internal::AnyHash
2268
+ )
2269
+ end
2270
+
2271
+ # ClusterInfo represents information about the swarm as is returned by the "/info"
2272
+ # endpoint. Join-tokens are not included.
2273
+ sig do
2274
+ returns(
2275
+ T.nilable(DockerEngine::Models::SystemInfoResponse::Swarm::Cluster)
2276
+ )
2277
+ end
2278
+ attr_reader :cluster
2279
+
2280
+ sig do
2281
+ params(
2282
+ cluster:
2283
+ T.nilable(
2284
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::OrHash
2285
+ )
2286
+ ).void
2287
+ end
2288
+ attr_writer :cluster
2289
+
2290
+ sig { returns(T.nilable(T::Boolean)) }
2291
+ attr_reader :control_available
2292
+
2293
+ sig { params(control_available: T::Boolean).void }
2294
+ attr_writer :control_available
2295
+
2296
+ sig { returns(T.nilable(String)) }
2297
+ attr_reader :error
2298
+
2299
+ sig { params(error: String).void }
2300
+ attr_writer :error
2301
+
2302
+ # Current local status of this node.
2303
+ sig do
2304
+ returns(
2305
+ T.nilable(
2306
+ DockerEngine::Models::SystemInfoResponse::Swarm::LocalNodeState::TaggedSymbol
2307
+ )
2308
+ )
2309
+ end
2310
+ attr_reader :local_node_state
2311
+
2312
+ sig do
2313
+ params(
2314
+ local_node_state:
2315
+ DockerEngine::Models::SystemInfoResponse::Swarm::LocalNodeState::OrSymbol
2316
+ ).void
2317
+ end
2318
+ attr_writer :local_node_state
2319
+
2320
+ # Total number of managers in the swarm.
2321
+ sig { returns(T.nilable(Integer)) }
2322
+ attr_accessor :managers
2323
+
2324
+ # IP address at which this node can be reached by other nodes in the swarm.
2325
+ sig { returns(T.nilable(String)) }
2326
+ attr_reader :node_addr
2327
+
2328
+ sig { params(node_addr: String).void }
2329
+ attr_writer :node_addr
2330
+
2331
+ # Unique identifier of for this node in the swarm.
2332
+ sig { returns(T.nilable(String)) }
2333
+ attr_reader :node_id
2334
+
2335
+ sig { params(node_id: String).void }
2336
+ attr_writer :node_id
2337
+
2338
+ # Total number of nodes in the swarm.
2339
+ sig { returns(T.nilable(Integer)) }
2340
+ attr_accessor :nodes
2341
+
2342
+ # List of ID's and addresses of other managers in the swarm.
2343
+ sig do
2344
+ returns(
2345
+ T.nilable(
2346
+ T::Array[
2347
+ DockerEngine::Models::SystemInfoResponse::Swarm::RemoteManager
2348
+ ]
2349
+ )
2350
+ )
2351
+ end
2352
+ attr_accessor :remote_managers
2353
+
2354
+ # Represents generic information about swarm.
2355
+ sig do
2356
+ params(
2357
+ cluster:
2358
+ T.nilable(
2359
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::OrHash
2360
+ ),
2361
+ control_available: T::Boolean,
2362
+ error: String,
2363
+ local_node_state:
2364
+ DockerEngine::Models::SystemInfoResponse::Swarm::LocalNodeState::OrSymbol,
2365
+ managers: T.nilable(Integer),
2366
+ node_addr: String,
2367
+ node_id: String,
2368
+ nodes: T.nilable(Integer),
2369
+ remote_managers:
2370
+ T.nilable(
2371
+ T::Array[
2372
+ DockerEngine::Models::SystemInfoResponse::Swarm::RemoteManager::OrHash
2373
+ ]
2374
+ )
2375
+ ).returns(T.attached_class)
2376
+ end
2377
+ def self.new(
2378
+ # ClusterInfo represents information about the swarm as is returned by the "/info"
2379
+ # endpoint. Join-tokens are not included.
2380
+ cluster: nil,
2381
+ control_available: nil,
2382
+ error: nil,
2383
+ # Current local status of this node.
2384
+ local_node_state: nil,
2385
+ # Total number of managers in the swarm.
2386
+ managers: nil,
2387
+ # IP address at which this node can be reached by other nodes in the swarm.
2388
+ node_addr: nil,
2389
+ # Unique identifier of for this node in the swarm.
2390
+ node_id: nil,
2391
+ # Total number of nodes in the swarm.
2392
+ nodes: nil,
2393
+ # List of ID's and addresses of other managers in the swarm.
2394
+ remote_managers: nil
2395
+ )
2396
+ end
2397
+
2398
+ sig do
2399
+ override.returns(
2400
+ {
2401
+ cluster:
2402
+ T.nilable(
2403
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster
2404
+ ),
2405
+ control_available: T::Boolean,
2406
+ error: String,
2407
+ local_node_state:
2408
+ DockerEngine::Models::SystemInfoResponse::Swarm::LocalNodeState::TaggedSymbol,
2409
+ managers: T.nilable(Integer),
2410
+ node_addr: String,
2411
+ node_id: String,
2412
+ nodes: T.nilable(Integer),
2413
+ remote_managers:
2414
+ T.nilable(
2415
+ T::Array[
2416
+ DockerEngine::Models::SystemInfoResponse::Swarm::RemoteManager
2417
+ ]
2418
+ )
2419
+ }
2420
+ )
2421
+ end
2422
+ def to_hash
2423
+ end
2424
+
2425
+ class Cluster < DockerEngine::Internal::Type::BaseModel
2426
+ OrHash =
2427
+ T.type_alias do
2428
+ T.any(
2429
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster,
2430
+ DockerEngine::Internal::AnyHash
2431
+ )
2432
+ end
2433
+
2434
+ # Date and time at which the swarm was initialised in
2435
+ # [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.
2436
+ sig { returns(T.nilable(String)) }
2437
+ attr_reader :created_at
2438
+
2439
+ sig { params(created_at: String).void }
2440
+ attr_writer :created_at
2441
+
2442
+ # DataPathPort specifies the data path port number for data traffic. Acceptable
2443
+ # port range is 1024 to 49151. If no port is set or is set to 0, the default port
2444
+ # (4789) is used.
2445
+ sig { returns(T.nilable(Integer)) }
2446
+ attr_reader :data_path_port
2447
+
2448
+ sig { params(data_path_port: Integer).void }
2449
+ attr_writer :data_path_port
2450
+
2451
+ # Default Address Pool specifies default subnet pools for global scope networks.
2452
+ sig { returns(T.nilable(T::Array[String])) }
2453
+ attr_reader :default_addr_pool
2454
+
2455
+ sig { params(default_addr_pool: T::Array[String]).void }
2456
+ attr_writer :default_addr_pool
2457
+
2458
+ # The ID of the swarm.
2459
+ sig { returns(T.nilable(String)) }
2460
+ attr_reader :id
2461
+
2462
+ sig { params(id: String).void }
2463
+ attr_writer :id
2464
+
2465
+ # Whether there is currently a root CA rotation in progress for the swarm
2466
+ sig { returns(T.nilable(T::Boolean)) }
2467
+ attr_reader :root_rotation_in_progress
2468
+
2469
+ sig { params(root_rotation_in_progress: T::Boolean).void }
2470
+ attr_writer :root_rotation_in_progress
2471
+
2472
+ # User modifiable swarm configuration.
2473
+ sig do
2474
+ returns(
2475
+ T.nilable(
2476
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec
2477
+ )
2478
+ )
2479
+ end
2480
+ attr_reader :spec
2481
+
2482
+ sig do
2483
+ params(
2484
+ spec:
2485
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::OrHash
2486
+ ).void
2487
+ end
2488
+ attr_writer :spec
2489
+
2490
+ # SubnetSize specifies the subnet size of the networks created from the default
2491
+ # subnet pool.
2492
+ sig { returns(T.nilable(Integer)) }
2493
+ attr_reader :subnet_size
2494
+
2495
+ sig { params(subnet_size: Integer).void }
2496
+ attr_writer :subnet_size
2497
+
2498
+ # Information about the issuer of leaf TLS certificates and the trusted root CA
2499
+ # certificate.
2500
+ sig do
2501
+ returns(
2502
+ T.nilable(
2503
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::TlsInfo
2504
+ )
2505
+ )
2506
+ end
2507
+ attr_reader :tls_info
2508
+
2509
+ sig do
2510
+ params(
2511
+ tls_info:
2512
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::TlsInfo::OrHash
2513
+ ).void
2514
+ end
2515
+ attr_writer :tls_info
2516
+
2517
+ # Date and time at which the swarm was last updated in
2518
+ # [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.
2519
+ sig { returns(T.nilable(String)) }
2520
+ attr_reader :updated_at
2521
+
2522
+ sig { params(updated_at: String).void }
2523
+ attr_writer :updated_at
2524
+
2525
+ # The version number of the object such as node, service, etc. This is needed to
2526
+ # avoid conflicting writes. The client must send the version number along with the
2527
+ # modified specification when updating these objects.
2528
+ #
2529
+ # This approach ensures safe concurrency and determinism in that the change on the
2530
+ # object may not be applied if the version number has changed from the last read.
2531
+ # In other words, if two update requests specify the same base version, only one
2532
+ # of the requests can succeed. As a result, two separate update requests that
2533
+ # happen at the same time will not unintentionally overwrite each other.
2534
+ sig do
2535
+ returns(
2536
+ T.nilable(
2537
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Version
2538
+ )
2539
+ )
2540
+ end
2541
+ attr_reader :version
2542
+
2543
+ sig do
2544
+ params(
2545
+ version:
2546
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Version::OrHash
2547
+ ).void
2548
+ end
2549
+ attr_writer :version
2550
+
2551
+ # ClusterInfo represents information about the swarm as is returned by the "/info"
2552
+ # endpoint. Join-tokens are not included.
2553
+ sig do
2554
+ params(
2555
+ created_at: String,
2556
+ data_path_port: Integer,
2557
+ default_addr_pool: T::Array[String],
2558
+ id: String,
2559
+ root_rotation_in_progress: T::Boolean,
2560
+ spec:
2561
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::OrHash,
2562
+ subnet_size: Integer,
2563
+ tls_info:
2564
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::TlsInfo::OrHash,
2565
+ updated_at: String,
2566
+ version:
2567
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Version::OrHash
2568
+ ).returns(T.attached_class)
2569
+ end
2570
+ def self.new(
2571
+ # Date and time at which the swarm was initialised in
2572
+ # [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.
2573
+ created_at: nil,
2574
+ # DataPathPort specifies the data path port number for data traffic. Acceptable
2575
+ # port range is 1024 to 49151. If no port is set or is set to 0, the default port
2576
+ # (4789) is used.
2577
+ data_path_port: nil,
2578
+ # Default Address Pool specifies default subnet pools for global scope networks.
2579
+ default_addr_pool: nil,
2580
+ # The ID of the swarm.
2581
+ id: nil,
2582
+ # Whether there is currently a root CA rotation in progress for the swarm
2583
+ root_rotation_in_progress: nil,
2584
+ # User modifiable swarm configuration.
2585
+ spec: nil,
2586
+ # SubnetSize specifies the subnet size of the networks created from the default
2587
+ # subnet pool.
2588
+ subnet_size: nil,
2589
+ # Information about the issuer of leaf TLS certificates and the trusted root CA
2590
+ # certificate.
2591
+ tls_info: nil,
2592
+ # Date and time at which the swarm was last updated in
2593
+ # [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.
2594
+ updated_at: nil,
2595
+ # The version number of the object such as node, service, etc. This is needed to
2596
+ # avoid conflicting writes. The client must send the version number along with the
2597
+ # modified specification when updating these objects.
2598
+ #
2599
+ # This approach ensures safe concurrency and determinism in that the change on the
2600
+ # object may not be applied if the version number has changed from the last read.
2601
+ # In other words, if two update requests specify the same base version, only one
2602
+ # of the requests can succeed. As a result, two separate update requests that
2603
+ # happen at the same time will not unintentionally overwrite each other.
2604
+ version: nil
2605
+ )
2606
+ end
2607
+
2608
+ sig do
2609
+ override.returns(
2610
+ {
2611
+ created_at: String,
2612
+ data_path_port: Integer,
2613
+ default_addr_pool: T::Array[String],
2614
+ id: String,
2615
+ root_rotation_in_progress: T::Boolean,
2616
+ spec:
2617
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec,
2618
+ subnet_size: Integer,
2619
+ tls_info:
2620
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::TlsInfo,
2621
+ updated_at: String,
2622
+ version:
2623
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Version
2624
+ }
2625
+ )
2626
+ end
2627
+ def to_hash
2628
+ end
2629
+
2630
+ class Spec < DockerEngine::Internal::Type::BaseModel
2631
+ OrHash =
2632
+ T.type_alias do
2633
+ T.any(
2634
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec,
2635
+ DockerEngine::Internal::AnyHash
2636
+ )
2637
+ end
2638
+
2639
+ # CA configuration.
2640
+ sig do
2641
+ returns(
2642
+ T.nilable(
2643
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::CaConfig
2644
+ )
2645
+ )
2646
+ end
2647
+ attr_reader :ca_config
2648
+
2649
+ sig do
2650
+ params(
2651
+ ca_config:
2652
+ T.nilable(
2653
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::CaConfig::OrHash
2654
+ )
2655
+ ).void
2656
+ end
2657
+ attr_writer :ca_config
2658
+
2659
+ # Dispatcher configuration.
2660
+ sig do
2661
+ returns(
2662
+ T.nilable(
2663
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::Dispatcher
2664
+ )
2665
+ )
2666
+ end
2667
+ attr_reader :dispatcher
2668
+
2669
+ sig do
2670
+ params(
2671
+ dispatcher:
2672
+ T.nilable(
2673
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::Dispatcher::OrHash
2674
+ )
2675
+ ).void
2676
+ end
2677
+ attr_writer :dispatcher
2678
+
2679
+ # Parameters related to encryption-at-rest.
2680
+ sig do
2681
+ returns(
2682
+ T.nilable(
2683
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::EncryptionConfig
2684
+ )
2685
+ )
2686
+ end
2687
+ attr_reader :encryption_config
2688
+
2689
+ sig do
2690
+ params(
2691
+ encryption_config:
2692
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::EncryptionConfig::OrHash
2693
+ ).void
2694
+ end
2695
+ attr_writer :encryption_config
2696
+
2697
+ # User-defined key/value metadata.
2698
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
2699
+ attr_reader :labels
2700
+
2701
+ sig { params(labels: T::Hash[Symbol, String]).void }
2702
+ attr_writer :labels
2703
+
2704
+ # Name of the swarm.
2705
+ sig { returns(T.nilable(String)) }
2706
+ attr_reader :name
2707
+
2708
+ sig { params(name: String).void }
2709
+ attr_writer :name
2710
+
2711
+ # Orchestration configuration.
2712
+ sig do
2713
+ returns(
2714
+ T.nilable(
2715
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::Orchestration
2716
+ )
2717
+ )
2718
+ end
2719
+ attr_reader :orchestration
2720
+
2721
+ sig do
2722
+ params(
2723
+ orchestration:
2724
+ T.nilable(
2725
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::Orchestration::OrHash
2726
+ )
2727
+ ).void
2728
+ end
2729
+ attr_writer :orchestration
2730
+
2731
+ # Raft configuration.
2732
+ sig do
2733
+ returns(
2734
+ T.nilable(
2735
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::Raft
2736
+ )
2737
+ )
2738
+ end
2739
+ attr_reader :raft
2740
+
2741
+ sig do
2742
+ params(
2743
+ raft:
2744
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::Raft::OrHash
2745
+ ).void
2746
+ end
2747
+ attr_writer :raft
2748
+
2749
+ # Defaults for creating tasks in this cluster.
2750
+ sig do
2751
+ returns(
2752
+ T.nilable(
2753
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::TaskDefaults
2754
+ )
2755
+ )
2756
+ end
2757
+ attr_reader :task_defaults
2758
+
2759
+ sig do
2760
+ params(
2761
+ task_defaults:
2762
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::TaskDefaults::OrHash
2763
+ ).void
2764
+ end
2765
+ attr_writer :task_defaults
2766
+
2767
+ # User modifiable swarm configuration.
2768
+ sig do
2769
+ params(
2770
+ ca_config:
2771
+ T.nilable(
2772
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::CaConfig::OrHash
2773
+ ),
2774
+ dispatcher:
2775
+ T.nilable(
2776
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::Dispatcher::OrHash
2777
+ ),
2778
+ encryption_config:
2779
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::EncryptionConfig::OrHash,
2780
+ labels: T::Hash[Symbol, String],
2781
+ name: String,
2782
+ orchestration:
2783
+ T.nilable(
2784
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::Orchestration::OrHash
2785
+ ),
2786
+ raft:
2787
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::Raft::OrHash,
2788
+ task_defaults:
2789
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::TaskDefaults::OrHash
2790
+ ).returns(T.attached_class)
2791
+ end
2792
+ def self.new(
2793
+ # CA configuration.
2794
+ ca_config: nil,
2795
+ # Dispatcher configuration.
2796
+ dispatcher: nil,
2797
+ # Parameters related to encryption-at-rest.
2798
+ encryption_config: nil,
2799
+ # User-defined key/value metadata.
2800
+ labels: nil,
2801
+ # Name of the swarm.
2802
+ name: nil,
2803
+ # Orchestration configuration.
2804
+ orchestration: nil,
2805
+ # Raft configuration.
2806
+ raft: nil,
2807
+ # Defaults for creating tasks in this cluster.
2808
+ task_defaults: nil
2809
+ )
2810
+ end
2811
+
2812
+ sig do
2813
+ override.returns(
2814
+ {
2815
+ ca_config:
2816
+ T.nilable(
2817
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::CaConfig
2818
+ ),
2819
+ dispatcher:
2820
+ T.nilable(
2821
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::Dispatcher
2822
+ ),
2823
+ encryption_config:
2824
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::EncryptionConfig,
2825
+ labels: T::Hash[Symbol, String],
2826
+ name: String,
2827
+ orchestration:
2828
+ T.nilable(
2829
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::Orchestration
2830
+ ),
2831
+ raft:
2832
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::Raft,
2833
+ task_defaults:
2834
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::TaskDefaults
2835
+ }
2836
+ )
2837
+ end
2838
+ def to_hash
2839
+ end
2840
+
2841
+ class CaConfig < DockerEngine::Internal::Type::BaseModel
2842
+ OrHash =
2843
+ T.type_alias do
2844
+ T.any(
2845
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::CaConfig,
2846
+ DockerEngine::Internal::AnyHash
2847
+ )
2848
+ end
2849
+
2850
+ # Configuration for forwarding signing requests to an external certificate
2851
+ # authority.
2852
+ sig do
2853
+ returns(
2854
+ T.nilable(
2855
+ T::Array[
2856
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::CaConfig::ExternalCA
2857
+ ]
2858
+ )
2859
+ )
2860
+ end
2861
+ attr_reader :external_c_as
2862
+
2863
+ sig do
2864
+ params(
2865
+ external_c_as:
2866
+ T::Array[
2867
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::CaConfig::ExternalCA::OrHash
2868
+ ]
2869
+ ).void
2870
+ end
2871
+ attr_writer :external_c_as
2872
+
2873
+ # An integer whose purpose is to force swarm to generate a new signing CA
2874
+ # certificate and key, if none have been specified in `SigningCACert` and
2875
+ # `SigningCAKey`
2876
+ sig { returns(T.nilable(Integer)) }
2877
+ attr_reader :force_rotate
2878
+
2879
+ sig { params(force_rotate: Integer).void }
2880
+ attr_writer :force_rotate
2881
+
2882
+ # The duration node certificates are issued for.
2883
+ sig { returns(T.nilable(Integer)) }
2884
+ attr_reader :node_cert_expiry
2885
+
2886
+ sig { params(node_cert_expiry: Integer).void }
2887
+ attr_writer :node_cert_expiry
2888
+
2889
+ # The desired signing CA certificate for all swarm node TLS leaf certificates, in
2890
+ # PEM format.
2891
+ sig { returns(T.nilable(String)) }
2892
+ attr_reader :signing_ca_cert
2893
+
2894
+ sig { params(signing_ca_cert: String).void }
2895
+ attr_writer :signing_ca_cert
2896
+
2897
+ # The desired signing CA key for all swarm node TLS leaf certificates, in PEM
2898
+ # format.
2899
+ sig { returns(T.nilable(String)) }
2900
+ attr_reader :signing_ca_key
2901
+
2902
+ sig { params(signing_ca_key: String).void }
2903
+ attr_writer :signing_ca_key
2904
+
2905
+ # CA configuration.
2906
+ sig do
2907
+ params(
2908
+ external_c_as:
2909
+ T::Array[
2910
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::CaConfig::ExternalCA::OrHash
2911
+ ],
2912
+ force_rotate: Integer,
2913
+ node_cert_expiry: Integer,
2914
+ signing_ca_cert: String,
2915
+ signing_ca_key: String
2916
+ ).returns(T.attached_class)
2917
+ end
2918
+ def self.new(
2919
+ # Configuration for forwarding signing requests to an external certificate
2920
+ # authority.
2921
+ external_c_as: nil,
2922
+ # An integer whose purpose is to force swarm to generate a new signing CA
2923
+ # certificate and key, if none have been specified in `SigningCACert` and
2924
+ # `SigningCAKey`
2925
+ force_rotate: nil,
2926
+ # The duration node certificates are issued for.
2927
+ node_cert_expiry: nil,
2928
+ # The desired signing CA certificate for all swarm node TLS leaf certificates, in
2929
+ # PEM format.
2930
+ signing_ca_cert: nil,
2931
+ # The desired signing CA key for all swarm node TLS leaf certificates, in PEM
2932
+ # format.
2933
+ signing_ca_key: nil
2934
+ )
2935
+ end
2936
+
2937
+ sig do
2938
+ override.returns(
2939
+ {
2940
+ external_c_as:
2941
+ T::Array[
2942
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::CaConfig::ExternalCA
2943
+ ],
2944
+ force_rotate: Integer,
2945
+ node_cert_expiry: Integer,
2946
+ signing_ca_cert: String,
2947
+ signing_ca_key: String
2948
+ }
2949
+ )
2950
+ end
2951
+ def to_hash
2952
+ end
2953
+
2954
+ class ExternalCA < DockerEngine::Internal::Type::BaseModel
2955
+ OrHash =
2956
+ T.type_alias do
2957
+ T.any(
2958
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::CaConfig::ExternalCA,
2959
+ DockerEngine::Internal::AnyHash
2960
+ )
2961
+ end
2962
+
2963
+ # The root CA certificate (in PEM format) this external CA uses to issue TLS
2964
+ # certificates (assumed to be to the current swarm root CA certificate if not
2965
+ # provided).
2966
+ sig { returns(T.nilable(String)) }
2967
+ attr_reader :ca_cert
2968
+
2969
+ sig { params(ca_cert: String).void }
2970
+ attr_writer :ca_cert
2971
+
2972
+ # An object with key/value pairs that are interpreted as protocol-specific options
2973
+ # for the external CA driver.
2974
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
2975
+ attr_reader :options
2976
+
2977
+ sig { params(options: T::Hash[Symbol, String]).void }
2978
+ attr_writer :options
2979
+
2980
+ # Protocol for communication with the external CA (currently only `cfssl` is
2981
+ # supported).
2982
+ sig do
2983
+ returns(
2984
+ T.nilable(
2985
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::CaConfig::ExternalCA::Protocol::TaggedSymbol
2986
+ )
2987
+ )
2988
+ end
2989
+ attr_reader :protocol
2990
+
2991
+ sig do
2992
+ params(
2993
+ protocol:
2994
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::CaConfig::ExternalCA::Protocol::OrSymbol
2995
+ ).void
2996
+ end
2997
+ attr_writer :protocol
2998
+
2999
+ # URL where certificate signing requests should be sent.
3000
+ sig { returns(T.nilable(String)) }
3001
+ attr_reader :url
3002
+
3003
+ sig { params(url: String).void }
3004
+ attr_writer :url
3005
+
3006
+ sig do
3007
+ params(
3008
+ ca_cert: String,
3009
+ options: T::Hash[Symbol, String],
3010
+ protocol:
3011
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::CaConfig::ExternalCA::Protocol::OrSymbol,
3012
+ url: String
3013
+ ).returns(T.attached_class)
3014
+ end
3015
+ def self.new(
3016
+ # The root CA certificate (in PEM format) this external CA uses to issue TLS
3017
+ # certificates (assumed to be to the current swarm root CA certificate if not
3018
+ # provided).
3019
+ ca_cert: nil,
3020
+ # An object with key/value pairs that are interpreted as protocol-specific options
3021
+ # for the external CA driver.
3022
+ options: nil,
3023
+ # Protocol for communication with the external CA (currently only `cfssl` is
3024
+ # supported).
3025
+ protocol: nil,
3026
+ # URL where certificate signing requests should be sent.
3027
+ url: nil
3028
+ )
3029
+ end
3030
+
3031
+ sig do
3032
+ override.returns(
3033
+ {
3034
+ ca_cert: String,
3035
+ options: T::Hash[Symbol, String],
3036
+ protocol:
3037
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::CaConfig::ExternalCA::Protocol::TaggedSymbol,
3038
+ url: String
3039
+ }
3040
+ )
3041
+ end
3042
+ def to_hash
3043
+ end
3044
+
3045
+ # Protocol for communication with the external CA (currently only `cfssl` is
3046
+ # supported).
3047
+ module Protocol
3048
+ extend DockerEngine::Internal::Type::Enum
3049
+
3050
+ TaggedSymbol =
3051
+ T.type_alias do
3052
+ T.all(
3053
+ Symbol,
3054
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::CaConfig::ExternalCA::Protocol
3055
+ )
3056
+ end
3057
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3058
+
3059
+ CFSSL =
3060
+ T.let(
3061
+ :cfssl,
3062
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::CaConfig::ExternalCA::Protocol::TaggedSymbol
3063
+ )
3064
+
3065
+ sig do
3066
+ override.returns(
3067
+ T::Array[
3068
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::CaConfig::ExternalCA::Protocol::TaggedSymbol
3069
+ ]
3070
+ )
3071
+ end
3072
+ def self.values
3073
+ end
3074
+ end
3075
+ end
3076
+ end
3077
+
3078
+ class Dispatcher < DockerEngine::Internal::Type::BaseModel
3079
+ OrHash =
3080
+ T.type_alias do
3081
+ T.any(
3082
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::Dispatcher,
3083
+ DockerEngine::Internal::AnyHash
3084
+ )
3085
+ end
3086
+
3087
+ # The delay for an agent to send a heartbeat to the dispatcher.
3088
+ sig { returns(T.nilable(Integer)) }
3089
+ attr_reader :heartbeat_period
3090
+
3091
+ sig { params(heartbeat_period: Integer).void }
3092
+ attr_writer :heartbeat_period
3093
+
3094
+ # Dispatcher configuration.
3095
+ sig do
3096
+ params(heartbeat_period: Integer).returns(T.attached_class)
3097
+ end
3098
+ def self.new(
3099
+ # The delay for an agent to send a heartbeat to the dispatcher.
3100
+ heartbeat_period: nil
3101
+ )
3102
+ end
3103
+
3104
+ sig { override.returns({ heartbeat_period: Integer }) }
3105
+ def to_hash
3106
+ end
3107
+ end
3108
+
3109
+ class EncryptionConfig < DockerEngine::Internal::Type::BaseModel
3110
+ OrHash =
3111
+ T.type_alias do
3112
+ T.any(
3113
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::EncryptionConfig,
3114
+ DockerEngine::Internal::AnyHash
3115
+ )
3116
+ end
3117
+
3118
+ # If set, generate a key and use it to lock data stored on the managers.
3119
+ sig { returns(T.nilable(T::Boolean)) }
3120
+ attr_reader :auto_lock_managers
3121
+
3122
+ sig { params(auto_lock_managers: T::Boolean).void }
3123
+ attr_writer :auto_lock_managers
3124
+
3125
+ # Parameters related to encryption-at-rest.
3126
+ sig do
3127
+ params(auto_lock_managers: T::Boolean).returns(T.attached_class)
3128
+ end
3129
+ def self.new(
3130
+ # If set, generate a key and use it to lock data stored on the managers.
3131
+ auto_lock_managers: nil
3132
+ )
3133
+ end
3134
+
3135
+ sig { override.returns({ auto_lock_managers: T::Boolean }) }
3136
+ def to_hash
3137
+ end
3138
+ end
3139
+
3140
+ class Orchestration < DockerEngine::Internal::Type::BaseModel
3141
+ OrHash =
3142
+ T.type_alias do
3143
+ T.any(
3144
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::Orchestration,
3145
+ DockerEngine::Internal::AnyHash
3146
+ )
3147
+ end
3148
+
3149
+ # The number of historic tasks to keep per instance or node. If negative, never
3150
+ # remove completed or failed tasks.
3151
+ sig { returns(T.nilable(Integer)) }
3152
+ attr_reader :task_history_retention_limit
3153
+
3154
+ sig { params(task_history_retention_limit: Integer).void }
3155
+ attr_writer :task_history_retention_limit
3156
+
3157
+ # Orchestration configuration.
3158
+ sig do
3159
+ params(task_history_retention_limit: Integer).returns(
3160
+ T.attached_class
3161
+ )
3162
+ end
3163
+ def self.new(
3164
+ # The number of historic tasks to keep per instance or node. If negative, never
3165
+ # remove completed or failed tasks.
3166
+ task_history_retention_limit: nil
3167
+ )
3168
+ end
3169
+
3170
+ sig do
3171
+ override.returns({ task_history_retention_limit: Integer })
3172
+ end
3173
+ def to_hash
3174
+ end
3175
+ end
3176
+
3177
+ class Raft < DockerEngine::Internal::Type::BaseModel
3178
+ OrHash =
3179
+ T.type_alias do
3180
+ T.any(
3181
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::Raft,
3182
+ DockerEngine::Internal::AnyHash
3183
+ )
3184
+ end
3185
+
3186
+ # The number of ticks that a follower will wait for a message from the leader
3187
+ # before becoming a candidate and starting an election. `ElectionTick` must be
3188
+ # greater than `HeartbeatTick`.
3189
+ #
3190
+ # A tick currently defaults to one second, so these translate directly to seconds
3191
+ # currently, but this is NOT guaranteed.
3192
+ sig { returns(T.nilable(Integer)) }
3193
+ attr_reader :election_tick
3194
+
3195
+ sig { params(election_tick: Integer).void }
3196
+ attr_writer :election_tick
3197
+
3198
+ # The number of ticks between heartbeats. Every HeartbeatTick ticks, the leader
3199
+ # will send a heartbeat to the followers.
3200
+ #
3201
+ # A tick currently defaults to one second, so these translate directly to seconds
3202
+ # currently, but this is NOT guaranteed.
3203
+ sig { returns(T.nilable(Integer)) }
3204
+ attr_reader :heartbeat_tick
3205
+
3206
+ sig { params(heartbeat_tick: Integer).void }
3207
+ attr_writer :heartbeat_tick
3208
+
3209
+ # The number of snapshots to keep beyond the current snapshot.
3210
+ sig { returns(T.nilable(Integer)) }
3211
+ attr_reader :keep_old_snapshots
3212
+
3213
+ sig { params(keep_old_snapshots: Integer).void }
3214
+ attr_writer :keep_old_snapshots
3215
+
3216
+ # The number of log entries to keep around to sync up slow followers after a
3217
+ # snapshot is created.
3218
+ sig { returns(T.nilable(Integer)) }
3219
+ attr_reader :log_entries_for_slow_followers
3220
+
3221
+ sig { params(log_entries_for_slow_followers: Integer).void }
3222
+ attr_writer :log_entries_for_slow_followers
3223
+
3224
+ # The number of log entries between snapshots.
3225
+ sig { returns(T.nilable(Integer)) }
3226
+ attr_reader :snapshot_interval
3227
+
3228
+ sig { params(snapshot_interval: Integer).void }
3229
+ attr_writer :snapshot_interval
3230
+
3231
+ # Raft configuration.
3232
+ sig do
3233
+ params(
3234
+ election_tick: Integer,
3235
+ heartbeat_tick: Integer,
3236
+ keep_old_snapshots: Integer,
3237
+ log_entries_for_slow_followers: Integer,
3238
+ snapshot_interval: Integer
3239
+ ).returns(T.attached_class)
3240
+ end
3241
+ def self.new(
3242
+ # The number of ticks that a follower will wait for a message from the leader
3243
+ # before becoming a candidate and starting an election. `ElectionTick` must be
3244
+ # greater than `HeartbeatTick`.
3245
+ #
3246
+ # A tick currently defaults to one second, so these translate directly to seconds
3247
+ # currently, but this is NOT guaranteed.
3248
+ election_tick: nil,
3249
+ # The number of ticks between heartbeats. Every HeartbeatTick ticks, the leader
3250
+ # will send a heartbeat to the followers.
3251
+ #
3252
+ # A tick currently defaults to one second, so these translate directly to seconds
3253
+ # currently, but this is NOT guaranteed.
3254
+ heartbeat_tick: nil,
3255
+ # The number of snapshots to keep beyond the current snapshot.
3256
+ keep_old_snapshots: nil,
3257
+ # The number of log entries to keep around to sync up slow followers after a
3258
+ # snapshot is created.
3259
+ log_entries_for_slow_followers: nil,
3260
+ # The number of log entries between snapshots.
3261
+ snapshot_interval: nil
3262
+ )
3263
+ end
3264
+
3265
+ sig do
3266
+ override.returns(
3267
+ {
3268
+ election_tick: Integer,
3269
+ heartbeat_tick: Integer,
3270
+ keep_old_snapshots: Integer,
3271
+ log_entries_for_slow_followers: Integer,
3272
+ snapshot_interval: Integer
3273
+ }
3274
+ )
3275
+ end
3276
+ def to_hash
3277
+ end
3278
+ end
3279
+
3280
+ class TaskDefaults < DockerEngine::Internal::Type::BaseModel
3281
+ OrHash =
3282
+ T.type_alias do
3283
+ T.any(
3284
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::TaskDefaults,
3285
+ DockerEngine::Internal::AnyHash
3286
+ )
3287
+ end
3288
+
3289
+ # The log driver to use for tasks created in the orchestrator if unspecified by a
3290
+ # service.
3291
+ #
3292
+ # Updating this value only affects new tasks. Existing tasks continue to use their
3293
+ # previously configured log driver until recreated.
3294
+ sig do
3295
+ returns(
3296
+ T.nilable(
3297
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::TaskDefaults::LogDriver
3298
+ )
3299
+ )
3300
+ end
3301
+ attr_reader :log_driver
3302
+
3303
+ sig do
3304
+ params(
3305
+ log_driver:
3306
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::TaskDefaults::LogDriver::OrHash
3307
+ ).void
3308
+ end
3309
+ attr_writer :log_driver
3310
+
3311
+ # Defaults for creating tasks in this cluster.
3312
+ sig do
3313
+ params(
3314
+ log_driver:
3315
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::TaskDefaults::LogDriver::OrHash
3316
+ ).returns(T.attached_class)
3317
+ end
3318
+ def self.new(
3319
+ # The log driver to use for tasks created in the orchestrator if unspecified by a
3320
+ # service.
3321
+ #
3322
+ # Updating this value only affects new tasks. Existing tasks continue to use their
3323
+ # previously configured log driver until recreated.
3324
+ log_driver: nil
3325
+ )
3326
+ end
3327
+
3328
+ sig do
3329
+ override.returns(
3330
+ {
3331
+ log_driver:
3332
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::TaskDefaults::LogDriver
3333
+ }
3334
+ )
3335
+ end
3336
+ def to_hash
3337
+ end
3338
+
3339
+ class LogDriver < DockerEngine::Internal::Type::BaseModel
3340
+ OrHash =
3341
+ T.type_alias do
3342
+ T.any(
3343
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::TaskDefaults::LogDriver,
3344
+ DockerEngine::Internal::AnyHash
3345
+ )
3346
+ end
3347
+
3348
+ # The log driver to use as a default for new tasks.
3349
+ sig { returns(T.nilable(String)) }
3350
+ attr_reader :name
3351
+
3352
+ sig { params(name: String).void }
3353
+ attr_writer :name
3354
+
3355
+ # Driver-specific options for the selected log driver, specified as key/value
3356
+ # pairs.
3357
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
3358
+ attr_reader :options
3359
+
3360
+ sig { params(options: T::Hash[Symbol, String]).void }
3361
+ attr_writer :options
3362
+
3363
+ # The log driver to use for tasks created in the orchestrator if unspecified by a
3364
+ # service.
3365
+ #
3366
+ # Updating this value only affects new tasks. Existing tasks continue to use their
3367
+ # previously configured log driver until recreated.
3368
+ sig do
3369
+ params(
3370
+ name: String,
3371
+ options: T::Hash[Symbol, String]
3372
+ ).returns(T.attached_class)
3373
+ end
3374
+ def self.new(
3375
+ # The log driver to use as a default for new tasks.
3376
+ name: nil,
3377
+ # Driver-specific options for the selected log driver, specified as key/value
3378
+ # pairs.
3379
+ options: nil
3380
+ )
3381
+ end
3382
+
3383
+ sig do
3384
+ override.returns(
3385
+ { name: String, options: T::Hash[Symbol, String] }
3386
+ )
3387
+ end
3388
+ def to_hash
3389
+ end
3390
+ end
3391
+ end
3392
+ end
3393
+
3394
+ class TlsInfo < DockerEngine::Internal::Type::BaseModel
3395
+ OrHash =
3396
+ T.type_alias do
3397
+ T.any(
3398
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::TlsInfo,
3399
+ DockerEngine::Internal::AnyHash
3400
+ )
3401
+ end
3402
+
3403
+ # The base64-url-safe-encoded raw public key bytes of the issuer.
3404
+ sig { returns(T.nilable(String)) }
3405
+ attr_reader :cert_issuer_public_key
3406
+
3407
+ sig { params(cert_issuer_public_key: String).void }
3408
+ attr_writer :cert_issuer_public_key
3409
+
3410
+ # The base64-url-safe-encoded raw subject bytes of the issuer.
3411
+ sig { returns(T.nilable(String)) }
3412
+ attr_reader :cert_issuer_subject
3413
+
3414
+ sig { params(cert_issuer_subject: String).void }
3415
+ attr_writer :cert_issuer_subject
3416
+
3417
+ # The root CA certificate(s) that are used to validate leaf TLS certificates.
3418
+ sig { returns(T.nilable(String)) }
3419
+ attr_reader :trust_root
3420
+
3421
+ sig { params(trust_root: String).void }
3422
+ attr_writer :trust_root
3423
+
3424
+ # Information about the issuer of leaf TLS certificates and the trusted root CA
3425
+ # certificate.
3426
+ sig do
3427
+ params(
3428
+ cert_issuer_public_key: String,
3429
+ cert_issuer_subject: String,
3430
+ trust_root: String
3431
+ ).returns(T.attached_class)
3432
+ end
3433
+ def self.new(
3434
+ # The base64-url-safe-encoded raw public key bytes of the issuer.
3435
+ cert_issuer_public_key: nil,
3436
+ # The base64-url-safe-encoded raw subject bytes of the issuer.
3437
+ cert_issuer_subject: nil,
3438
+ # The root CA certificate(s) that are used to validate leaf TLS certificates.
3439
+ trust_root: nil
3440
+ )
3441
+ end
3442
+
3443
+ sig do
3444
+ override.returns(
3445
+ {
3446
+ cert_issuer_public_key: String,
3447
+ cert_issuer_subject: String,
3448
+ trust_root: String
3449
+ }
3450
+ )
3451
+ end
3452
+ def to_hash
3453
+ end
3454
+ end
3455
+
3456
+ class Version < DockerEngine::Internal::Type::BaseModel
3457
+ OrHash =
3458
+ T.type_alias do
3459
+ T.any(
3460
+ DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Version,
3461
+ DockerEngine::Internal::AnyHash
3462
+ )
3463
+ end
3464
+
3465
+ sig { returns(T.nilable(Integer)) }
3466
+ attr_reader :index
3467
+
3468
+ sig { params(index: Integer).void }
3469
+ attr_writer :index
3470
+
3471
+ # The version number of the object such as node, service, etc. This is needed to
3472
+ # avoid conflicting writes. The client must send the version number along with the
3473
+ # modified specification when updating these objects.
3474
+ #
3475
+ # This approach ensures safe concurrency and determinism in that the change on the
3476
+ # object may not be applied if the version number has changed from the last read.
3477
+ # In other words, if two update requests specify the same base version, only one
3478
+ # of the requests can succeed. As a result, two separate update requests that
3479
+ # happen at the same time will not unintentionally overwrite each other.
3480
+ sig { params(index: Integer).returns(T.attached_class) }
3481
+ def self.new(index: nil)
3482
+ end
3483
+
3484
+ sig { override.returns({ index: Integer }) }
3485
+ def to_hash
3486
+ end
3487
+ end
3488
+ end
3489
+
3490
+ # Current local status of this node.
3491
+ module LocalNodeState
3492
+ extend DockerEngine::Internal::Type::Enum
3493
+
3494
+ TaggedSymbol =
3495
+ T.type_alias do
3496
+ T.all(
3497
+ Symbol,
3498
+ DockerEngine::Models::SystemInfoResponse::Swarm::LocalNodeState
3499
+ )
3500
+ end
3501
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
3502
+
3503
+ EMPTY =
3504
+ T.let(
3505
+ :"",
3506
+ DockerEngine::Models::SystemInfoResponse::Swarm::LocalNodeState::TaggedSymbol
3507
+ )
3508
+ INACTIVE =
3509
+ T.let(
3510
+ :inactive,
3511
+ DockerEngine::Models::SystemInfoResponse::Swarm::LocalNodeState::TaggedSymbol
3512
+ )
3513
+ PENDING =
3514
+ T.let(
3515
+ :pending,
3516
+ DockerEngine::Models::SystemInfoResponse::Swarm::LocalNodeState::TaggedSymbol
3517
+ )
3518
+ ACTIVE =
3519
+ T.let(
3520
+ :active,
3521
+ DockerEngine::Models::SystemInfoResponse::Swarm::LocalNodeState::TaggedSymbol
3522
+ )
3523
+ ERROR =
3524
+ T.let(
3525
+ :error,
3526
+ DockerEngine::Models::SystemInfoResponse::Swarm::LocalNodeState::TaggedSymbol
3527
+ )
3528
+ LOCKED =
3529
+ T.let(
3530
+ :locked,
3531
+ DockerEngine::Models::SystemInfoResponse::Swarm::LocalNodeState::TaggedSymbol
3532
+ )
3533
+
3534
+ sig do
3535
+ override.returns(
3536
+ T::Array[
3537
+ DockerEngine::Models::SystemInfoResponse::Swarm::LocalNodeState::TaggedSymbol
3538
+ ]
3539
+ )
3540
+ end
3541
+ def self.values
3542
+ end
3543
+ end
3544
+
3545
+ class RemoteManager < DockerEngine::Internal::Type::BaseModel
3546
+ OrHash =
3547
+ T.type_alias do
3548
+ T.any(
3549
+ DockerEngine::Models::SystemInfoResponse::Swarm::RemoteManager,
3550
+ DockerEngine::Internal::AnyHash
3551
+ )
3552
+ end
3553
+
3554
+ # IP address and ports at which this node can be reached.
3555
+ sig { returns(T.nilable(String)) }
3556
+ attr_reader :addr
3557
+
3558
+ sig { params(addr: String).void }
3559
+ attr_writer :addr
3560
+
3561
+ # Unique identifier of for this node in the swarm.
3562
+ sig { returns(T.nilable(String)) }
3563
+ attr_reader :node_id
3564
+
3565
+ sig { params(node_id: String).void }
3566
+ attr_writer :node_id
3567
+
3568
+ # Represents a peer-node in the swarm
3569
+ sig do
3570
+ params(addr: String, node_id: String).returns(T.attached_class)
3571
+ end
3572
+ def self.new(
3573
+ # IP address and ports at which this node can be reached.
3574
+ addr: nil,
3575
+ # Unique identifier of for this node in the swarm.
3576
+ node_id: nil
3577
+ )
3578
+ end
3579
+
3580
+ sig { override.returns({ addr: String, node_id: String }) }
3581
+ def to_hash
3582
+ end
3583
+ end
3584
+ end
3585
+ end
3586
+ end
3587
+ end