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,1879 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DockerEngine
4
+ module Models
5
+ # @see DockerEngine::Resources::System#info
6
+ class SystemInfoResponse < DockerEngine::Internal::Type::BaseModel
7
+ # @!attribute architecture
8
+ # Hardware architecture of the host, as returned by the operating system. This is
9
+ # equivalent to the output of `uname -m` on Linux.
10
+ #
11
+ # Unlike `Arch` (from `/version`), this reports the machine's native architecture,
12
+ # which can differ from the Go runtime architecture when running a binary compiled
13
+ # for a different architecture (for example, a 32-bit binary running on 64-bit
14
+ # hardware).
15
+ #
16
+ # @return [String, nil]
17
+ optional :architecture, String, api_name: :Architecture
18
+
19
+ # @!attribute cdi_spec_dirs
20
+ # List of directories where (Container Device Interface) CDI specifications are
21
+ # located.
22
+ #
23
+ # These specifications define vendor-specific modifications to an OCI runtime
24
+ # specification for a container being created.
25
+ #
26
+ # An empty list indicates that CDI device injection is disabled.
27
+ #
28
+ # Note that since using CDI device injection requires the daemon to have
29
+ # experimental enabled. For non-experimental daemons an empty list will always be
30
+ # returned.
31
+ #
32
+ # @return [Array<String>, nil]
33
+ optional :cdi_spec_dirs, DockerEngine::Internal::Type::ArrayOf[String], api_name: :CDISpecDirs
34
+
35
+ # @!attribute cgroup_driver
36
+ # The driver to use for managing cgroups.
37
+ #
38
+ # @return [Symbol, DockerEngine::Models::SystemInfoResponse::CgroupDriver, nil]
39
+ optional :cgroup_driver,
40
+ enum: -> { DockerEngine::Models::SystemInfoResponse::CgroupDriver },
41
+ api_name: :CgroupDriver
42
+
43
+ # @!attribute cgroup_version
44
+ # The version of the cgroup.
45
+ #
46
+ # @return [Symbol, DockerEngine::Models::SystemInfoResponse::CgroupVersion, nil]
47
+ optional :cgroup_version,
48
+ enum: -> { DockerEngine::Models::SystemInfoResponse::CgroupVersion },
49
+ api_name: :CgroupVersion
50
+
51
+ # @!attribute containerd
52
+ # Information for connecting to the containerd instance that is used by the
53
+ # daemon. This is included for debugging purposes only.
54
+ #
55
+ # @return [DockerEngine::Models::SystemInfoResponse::Containerd, nil]
56
+ optional :containerd,
57
+ -> { DockerEngine::Models::SystemInfoResponse::Containerd },
58
+ api_name: :Containerd,
59
+ nil?: true
60
+
61
+ # @!attribute containerd_commit
62
+ # Commit holds the Git-commit (SHA1) that a binary was built from, as reported in
63
+ # the version-string of external tools, such as `containerd`, or `runC`.
64
+ #
65
+ # @return [DockerEngine::Models::SystemInfoResponse::ContainerdCommit, nil]
66
+ optional :containerd_commit,
67
+ -> { DockerEngine::Models::SystemInfoResponse::ContainerdCommit },
68
+ api_name: :ContainerdCommit
69
+
70
+ # @!attribute containers
71
+ # Total number of containers on the host.
72
+ #
73
+ # @return [Integer, nil]
74
+ optional :containers, Integer, api_name: :Containers
75
+
76
+ # @!attribute containers_paused
77
+ # Number of containers with status `"paused"`.
78
+ #
79
+ # @return [Integer, nil]
80
+ optional :containers_paused, Integer, api_name: :ContainersPaused
81
+
82
+ # @!attribute containers_running
83
+ # Number of containers with status `"running"`.
84
+ #
85
+ # @return [Integer, nil]
86
+ optional :containers_running, Integer, api_name: :ContainersRunning
87
+
88
+ # @!attribute containers_stopped
89
+ # Number of containers with status `"stopped"`.
90
+ #
91
+ # @return [Integer, nil]
92
+ optional :containers_stopped, Integer, api_name: :ContainersStopped
93
+
94
+ # @!attribute cpu_cfs_period
95
+ # Indicates if CPU CFS(Completely Fair Scheduler) period is supported by the host.
96
+ #
97
+ # @return [Boolean, nil]
98
+ optional :cpu_cfs_period, DockerEngine::Internal::Type::Boolean, api_name: :CpuCfsPeriod
99
+
100
+ # @!attribute cpu_cfs_quota
101
+ # Indicates if CPU CFS(Completely Fair Scheduler) quota is supported by the host.
102
+ #
103
+ # @return [Boolean, nil]
104
+ optional :cpu_cfs_quota, DockerEngine::Internal::Type::Boolean, api_name: :CpuCfsQuota
105
+
106
+ # @!attribute cpu_set
107
+ # Indicates if CPUsets (cpuset.cpus, cpuset.mems) are supported by the host.
108
+ #
109
+ # See [cpuset(7)](https://www.kernel.org/doc/Documentation/cgroup-v1/cpusets.txt)
110
+ #
111
+ # @return [Boolean, nil]
112
+ optional :cpu_set, DockerEngine::Internal::Type::Boolean, api_name: :CPUSet
113
+
114
+ # @!attribute cpu_shares
115
+ # Indicates if CPU Shares limiting is supported by the host.
116
+ #
117
+ # @return [Boolean, nil]
118
+ optional :cpu_shares, DockerEngine::Internal::Type::Boolean, api_name: :CPUShares
119
+
120
+ # @!attribute debug
121
+ # Indicates if the daemon is running in debug-mode / with debug-level logging
122
+ # enabled.
123
+ #
124
+ # @return [Boolean, nil]
125
+ optional :debug, DockerEngine::Internal::Type::Boolean, api_name: :Debug
126
+
127
+ # @!attribute default_address_pools
128
+ # List of custom default address pools for local networks, which can be specified
129
+ # in the daemon.json file or dockerd option.
130
+ #
131
+ # Example: a Base "10.10.0.0/16" with Size 24 will define the set of 256
132
+ # 10.10.[0-255].0/24 address pools.
133
+ #
134
+ # @return [Array<DockerEngine::Models::SystemInfoResponse::DefaultAddressPool>, nil]
135
+ optional :default_address_pools,
136
+ -> { DockerEngine::Internal::Type::ArrayOf[DockerEngine::Models::SystemInfoResponse::DefaultAddressPool] },
137
+ api_name: :DefaultAddressPools
138
+
139
+ # @!attribute default_runtime
140
+ # Name of the default OCI runtime that is used when starting containers.
141
+ #
142
+ # The default can be overridden per-container at create time.
143
+ #
144
+ # @return [String, nil]
145
+ optional :default_runtime, String, api_name: :DefaultRuntime
146
+
147
+ # @!attribute discovered_devices
148
+ # List of devices discovered by device drivers.
149
+ #
150
+ # Each device includes information about its source driver, kind, name, and
151
+ # additional driver-specific attributes.
152
+ #
153
+ # @return [Array<DockerEngine::Models::SystemInfoResponse::DiscoveredDevice>, nil]
154
+ optional :discovered_devices,
155
+ -> { DockerEngine::Internal::Type::ArrayOf[DockerEngine::Models::SystemInfoResponse::DiscoveredDevice] },
156
+ api_name: :DiscoveredDevices
157
+
158
+ # @!attribute docker_root_dir
159
+ # Root directory of persistent Docker state.
160
+ #
161
+ # Defaults to `/var/lib/docker` on Linux, and `C:\ProgramData\docker` on Windows.
162
+ #
163
+ # @return [String, nil]
164
+ optional :docker_root_dir, String, api_name: :DockerRootDir
165
+
166
+ # @!attribute driver
167
+ # Name of the storage driver in use.
168
+ #
169
+ # @return [String, nil]
170
+ optional :driver, String, api_name: :Driver
171
+
172
+ # @!attribute driver_status
173
+ # Information specific to the storage driver, provided as "label" / "value" pairs.
174
+ #
175
+ # This information is provided by the storage driver, and formatted in a way
176
+ # consistent with the output of `docker info` on the command line.
177
+ #
178
+ # <p><br /></p>
179
+ #
180
+ # > **Note**: The information returned in this field, including the formatting of
181
+ # > values and labels, should not be considered stable, and may change without
182
+ # > notice.
183
+ #
184
+ # @return [Array<Array<String>>, nil]
185
+ optional :driver_status,
186
+ DockerEngine::Internal::Type::ArrayOf[DockerEngine::Internal::Type::ArrayOf[String]],
187
+ api_name: :DriverStatus
188
+
189
+ # @!attribute experimental_build
190
+ # Indicates if experimental features are enabled on the daemon.
191
+ #
192
+ # @return [Boolean, nil]
193
+ optional :experimental_build, DockerEngine::Internal::Type::Boolean, api_name: :ExperimentalBuild
194
+
195
+ # @!attribute firewall_backend
196
+ # Information about the daemon's firewalling configuration.
197
+ #
198
+ # This field is currently only used on Linux, and omitted on other platforms.
199
+ #
200
+ # @return [DockerEngine::Models::SystemInfoResponse::FirewallBackend, nil]
201
+ optional :firewall_backend,
202
+ -> { DockerEngine::Models::SystemInfoResponse::FirewallBackend },
203
+ api_name: :FirewallBackend,
204
+ nil?: true
205
+
206
+ # @!attribute generic_resources
207
+ # User-defined resources can be either Integer resources (e.g, `SSD=3`) or String
208
+ # resources (e.g, `GPU=UUID1`).
209
+ #
210
+ # @return [Array<DockerEngine::Models::SystemInfoResponse::GenericResource>, nil]
211
+ optional :generic_resources,
212
+ -> { DockerEngine::Internal::Type::ArrayOf[DockerEngine::Models::SystemInfoResponse::GenericResource] },
213
+ api_name: :GenericResources
214
+
215
+ # @!attribute http_proxy
216
+ # HTTP-proxy configured for the daemon. This value is obtained from the
217
+ # [`HTTP_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html)
218
+ # environment variable. Credentials
219
+ # ([user info component](https://tools.ietf.org/html/rfc3986#section-3.2.1)) in
220
+ # the proxy URL are masked in the API response.
221
+ #
222
+ # Containers do not automatically inherit this configuration.
223
+ #
224
+ # @return [String, nil]
225
+ optional :http_proxy, String, api_name: :HttpProxy
226
+
227
+ # @!attribute https_proxy
228
+ # HTTPS-proxy configured for the daemon. This value is obtained from the
229
+ # [`HTTPS_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html)
230
+ # environment variable. Credentials
231
+ # ([user info component](https://tools.ietf.org/html/rfc3986#section-3.2.1)) in
232
+ # the proxy URL are masked in the API response.
233
+ #
234
+ # Containers do not automatically inherit this configuration.
235
+ #
236
+ # @return [String, nil]
237
+ optional :https_proxy, String, api_name: :HttpsProxy
238
+
239
+ # @!attribute id
240
+ # Unique identifier of the daemon.
241
+ #
242
+ # <p><br /></p>
243
+ #
244
+ # > **Note**: The format of the ID itself is not part of the API, and should not
245
+ # > be considered stable.
246
+ #
247
+ # @return [String, nil]
248
+ optional :id, String, api_name: :ID
249
+
250
+ # @!attribute images
251
+ # Total number of images on the host.
252
+ #
253
+ # Both _tagged_ and _untagged_ (dangling) images are counted.
254
+ #
255
+ # @return [Integer, nil]
256
+ optional :images, Integer, api_name: :Images
257
+
258
+ # @!attribute index_server_address
259
+ # Address / URL of the index server that is used for image search, and as a
260
+ # default for user authentication for Docker Hub and Docker Cloud.
261
+ #
262
+ # @return [String, nil]
263
+ optional :index_server_address, String, api_name: :IndexServerAddress
264
+
265
+ # @!attribute init_binary
266
+ # Name and, optional, path of the `docker-init` binary.
267
+ #
268
+ # If the path is omitted, the daemon searches the host's `$PATH` for the binary
269
+ # and uses the first result.
270
+ #
271
+ # @return [String, nil]
272
+ optional :init_binary, String, api_name: :InitBinary
273
+
274
+ # @!attribute init_commit
275
+ # Commit holds the Git-commit (SHA1) that a binary was built from, as reported in
276
+ # the version-string of external tools, such as `containerd`, or `runC`.
277
+ #
278
+ # @return [DockerEngine::Models::SystemInfoResponse::InitCommit, nil]
279
+ optional :init_commit, -> { DockerEngine::Models::SystemInfoResponse::InitCommit }, api_name: :InitCommit
280
+
281
+ # @!attribute i_pv4_forwarding
282
+ # Indicates IPv4 forwarding is enabled.
283
+ #
284
+ # @return [Boolean, nil]
285
+ optional :i_pv4_forwarding, DockerEngine::Internal::Type::Boolean, api_name: :IPv4Forwarding
286
+
287
+ # @!attribute isolation
288
+ # Represents the isolation technology to use as a default for containers. The
289
+ # supported values are platform-specific.
290
+ #
291
+ # If no isolation value is specified on daemon start, on Windows client, the
292
+ # default is `hyperv`, and on Windows server, the default is `process`.
293
+ #
294
+ # This option is currently not used on other platforms.
295
+ #
296
+ # @return [Symbol, DockerEngine::Models::SystemInfoResponse::Isolation, nil]
297
+ optional :isolation,
298
+ enum: -> { DockerEngine::Models::SystemInfoResponse::Isolation },
299
+ api_name: :Isolation
300
+
301
+ # @!attribute kernel_version
302
+ # Kernel version of the host.
303
+ #
304
+ # On Linux, this information obtained from `uname`. On Windows this information is
305
+ # queried from the <kbd>HKEY*LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows
306
+ # NT\\CurrentVersion\\</kbd> registry value, for example *"10.0 14393
307
+ # (14393.1198.amd64fre.rs1*release_sec.170427-1353)"*.
308
+ #
309
+ # @return [String, nil]
310
+ optional :kernel_version, String, api_name: :KernelVersion
311
+
312
+ # @!attribute labels
313
+ # User-defined labels (key/value metadata) as set on the daemon.
314
+ #
315
+ # <p><br /></p>
316
+ #
317
+ # > **Note**: When part of a Swarm, nodes can both have _daemon_ labels, set
318
+ # > through the daemon configuration, and _node_ labels, set from a manager node
319
+ # > in the Swarm. Node labels are not included in this field. Node labels can be
320
+ # > retrieved using the `/nodes/(id)` endpoint on a manager node in the Swarm.
321
+ #
322
+ # @return [Array<String>, nil]
323
+ optional :labels, DockerEngine::Internal::Type::ArrayOf[String], api_name: :Labels
324
+
325
+ # @!attribute live_restore_enabled
326
+ # Indicates if live restore is enabled.
327
+ #
328
+ # If enabled, containers are kept running when the daemon is shutdown or upon
329
+ # daemon start if running containers are detected.
330
+ #
331
+ # @return [Boolean, nil]
332
+ optional :live_restore_enabled, DockerEngine::Internal::Type::Boolean, api_name: :LiveRestoreEnabled
333
+
334
+ # @!attribute logging_driver
335
+ # The logging driver to use as a default for new containers.
336
+ #
337
+ # @return [String, nil]
338
+ optional :logging_driver, String, api_name: :LoggingDriver
339
+
340
+ # @!attribute memory_limit
341
+ # Indicates if the host has memory limit support enabled.
342
+ #
343
+ # @return [Boolean, nil]
344
+ optional :memory_limit, DockerEngine::Internal::Type::Boolean, api_name: :MemoryLimit
345
+
346
+ # @!attribute mem_total
347
+ # Total amount of physical memory available on the host, in bytes.
348
+ #
349
+ # @return [Integer, nil]
350
+ optional :mem_total, Integer, api_name: :MemTotal
351
+
352
+ # @!attribute name
353
+ # Hostname of the host.
354
+ #
355
+ # @return [String, nil]
356
+ optional :name, String, api_name: :Name
357
+
358
+ # @!attribute ncpu
359
+ # The number of logical CPUs usable by the daemon.
360
+ #
361
+ # The number of available CPUs is checked by querying the operating system when
362
+ # the daemon starts. Changes to operating system CPU allocation after the daemon
363
+ # is started are not reflected.
364
+ #
365
+ # @return [Integer, nil]
366
+ optional :ncpu, Integer, api_name: :NCPU
367
+
368
+ # @!attribute n_events_listener
369
+ # Number of event listeners subscribed.
370
+ #
371
+ # @return [Integer, nil]
372
+ optional :n_events_listener, Integer, api_name: :NEventsListener
373
+
374
+ # @!attribute n_fd
375
+ # The total number of file Descriptors in use by the daemon process.
376
+ #
377
+ # This information is only returned if debug-mode is enabled.
378
+ #
379
+ # @return [Integer, nil]
380
+ optional :n_fd, Integer, api_name: :NFd
381
+
382
+ # @!attribute n_goroutines
383
+ # The number of goroutines that currently exist.
384
+ #
385
+ # This information is only returned if debug-mode is enabled.
386
+ #
387
+ # @return [Integer, nil]
388
+ optional :n_goroutines, Integer, api_name: :NGoroutines
389
+
390
+ # @!attribute no_proxy
391
+ # Comma-separated list of domain extensions for which no proxy should be used.
392
+ # This value is obtained from the
393
+ # [`NO_PROXY`](https://www.gnu.org/software/wget/manual/html_node/Proxies.html)
394
+ # environment variable.
395
+ #
396
+ # Containers do not automatically inherit this configuration.
397
+ #
398
+ # @return [String, nil]
399
+ optional :no_proxy, String, api_name: :NoProxy
400
+
401
+ # @!attribute nri
402
+ # Information about the Node Resource Interface (NRI).
403
+ #
404
+ # This field is only present if NRI is enabled.
405
+ #
406
+ # @return [DockerEngine::Models::SystemInfoResponse::Nri, nil]
407
+ optional :nri, -> { DockerEngine::Models::SystemInfoResponse::Nri }, api_name: :NRI, nil?: true
408
+
409
+ # @!attribute oom_kill_disable
410
+ # Indicates if OOM killer disable is supported on the host.
411
+ #
412
+ # @return [Boolean, nil]
413
+ optional :oom_kill_disable, DockerEngine::Internal::Type::Boolean, api_name: :OomKillDisable
414
+
415
+ # @!attribute operating_system
416
+ # Name of the host's operating system, for example: "Ubuntu 24.04 LTS" or "Windows
417
+ # Server 2016 Datacenter"
418
+ #
419
+ # @return [String, nil]
420
+ optional :operating_system, String, api_name: :OperatingSystem
421
+
422
+ # @!attribute os_type
423
+ # Generic type of the operating system of the host, as returned by the Go runtime
424
+ # (`GOOS`).
425
+ #
426
+ # Currently returned values are "linux" and "windows". A full list of possible
427
+ # values can be found in the
428
+ # [Go documentation](https://go.dev/doc/install/source#environment).
429
+ #
430
+ # @return [String, nil]
431
+ optional :os_type, String, api_name: :OSType
432
+
433
+ # @!attribute os_version
434
+ # Version of the host's operating system
435
+ #
436
+ # <p><br /></p>
437
+ #
438
+ # > **Note**: The information returned in this field, including its very
439
+ # > existence, and the formatting of values, should not be considered stable, and
440
+ # > may change without notice.
441
+ #
442
+ # @return [String, nil]
443
+ optional :os_version, String, api_name: :OSVersion
444
+
445
+ # @!attribute pids_limit
446
+ # Indicates if the host kernel has PID limit support enabled.
447
+ #
448
+ # @return [Boolean, nil]
449
+ optional :pids_limit, DockerEngine::Internal::Type::Boolean, api_name: :PidsLimit
450
+
451
+ # @!attribute plugins
452
+ # Available plugins per type.
453
+ #
454
+ # <p><br /></p>
455
+ #
456
+ # > **Note**: Only unmanaged (V1) plugins are included in this list. V1 plugins
457
+ # > are "lazily" loaded, and are not returned in this list if there is no resource
458
+ # > using the plugin.
459
+ #
460
+ # @return [DockerEngine::Models::SystemInfoResponse::Plugins, nil]
461
+ optional :plugins, -> { DockerEngine::Models::SystemInfoResponse::Plugins }, api_name: :Plugins
462
+
463
+ # @!attribute product_license
464
+ # Reports a summary of the product license on the daemon.
465
+ #
466
+ # If a commercial license has been applied to the daemon, information such as
467
+ # number of nodes, and expiration are included.
468
+ #
469
+ # @return [String, nil]
470
+ optional :product_license, String, api_name: :ProductLicense
471
+
472
+ # @!attribute registry_config
473
+ # RegistryServiceConfig stores daemon registry services configuration.
474
+ #
475
+ # @return [DockerEngine::Models::SystemInfoResponse::RegistryConfig, nil]
476
+ optional :registry_config,
477
+ -> { DockerEngine::Models::SystemInfoResponse::RegistryConfig },
478
+ api_name: :RegistryConfig,
479
+ nil?: true
480
+
481
+ # @!attribute runc_commit
482
+ # Commit holds the Git-commit (SHA1) that a binary was built from, as reported in
483
+ # the version-string of external tools, such as `containerd`, or `runC`.
484
+ #
485
+ # @return [DockerEngine::Models::SystemInfoResponse::RuncCommit, nil]
486
+ optional :runc_commit, -> { DockerEngine::Models::SystemInfoResponse::RuncCommit }, api_name: :RuncCommit
487
+
488
+ # @!attribute runtimes
489
+ # List of [OCI compliant](https://github.com/opencontainers/runtime-spec) runtimes
490
+ # configured on the daemon. Keys hold the "name" used to reference the runtime.
491
+ #
492
+ # The Docker daemon relies on an OCI compliant runtime (invoked via the
493
+ # `containerd` daemon) as its interface to the Linux kernel namespaces, cgroups,
494
+ # and SELinux.
495
+ #
496
+ # The default runtime is `runc`, and automatically configured. Additional runtimes
497
+ # can be configured by the user and will be listed here.
498
+ #
499
+ # @return [Hash{Symbol=>DockerEngine::Models::SystemInfoResponse::Runtime}, nil]
500
+ optional :runtimes,
501
+ -> { DockerEngine::Internal::Type::HashOf[DockerEngine::Models::SystemInfoResponse::Runtime] },
502
+ api_name: :Runtimes
503
+
504
+ # @!attribute security_options
505
+ # List of security features that are enabled on the daemon, such as apparmor,
506
+ # seccomp, SELinux, user-namespaces (userns), rootless and no-new-privileges.
507
+ #
508
+ # Additional configuration options for each security feature may be present, and
509
+ # are included as a comma-separated list of key/value pairs.
510
+ #
511
+ # @return [Array<String>, nil]
512
+ optional :security_options, DockerEngine::Internal::Type::ArrayOf[String], api_name: :SecurityOptions
513
+
514
+ # @!attribute server_version
515
+ # Version string of the daemon.
516
+ #
517
+ # @return [String, nil]
518
+ optional :server_version, String, api_name: :ServerVersion
519
+
520
+ # @!attribute swap_limit
521
+ # Indicates if the host has memory swap limit support enabled.
522
+ #
523
+ # @return [Boolean, nil]
524
+ optional :swap_limit, DockerEngine::Internal::Type::Boolean, api_name: :SwapLimit
525
+
526
+ # @!attribute swarm
527
+ # Represents generic information about swarm.
528
+ #
529
+ # @return [DockerEngine::Models::SystemInfoResponse::Swarm, nil]
530
+ optional :swarm, -> { DockerEngine::Models::SystemInfoResponse::Swarm }, api_name: :Swarm
531
+
532
+ # @!attribute system_time
533
+ # Current system-time in [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format
534
+ # with nano-seconds.
535
+ #
536
+ # @return [String, nil]
537
+ optional :system_time, String, api_name: :SystemTime
538
+
539
+ # @!attribute warnings
540
+ # List of warnings / informational messages about missing features, or issues
541
+ # related to the daemon configuration.
542
+ #
543
+ # These messages can be printed by the client as information to the user.
544
+ #
545
+ # @return [Array<String>, nil]
546
+ optional :warnings, DockerEngine::Internal::Type::ArrayOf[String], api_name: :Warnings
547
+
548
+ # @!method initialize(architecture: nil, cdi_spec_dirs: nil, cgroup_driver: nil, cgroup_version: nil, containerd: nil, containerd_commit: nil, containers: nil, containers_paused: nil, containers_running: nil, containers_stopped: nil, cpu_cfs_period: nil, cpu_cfs_quota: nil, cpu_set: nil, cpu_shares: nil, debug: nil, default_address_pools: nil, default_runtime: nil, discovered_devices: nil, docker_root_dir: nil, driver: nil, driver_status: nil, experimental_build: nil, firewall_backend: nil, generic_resources: nil, http_proxy: nil, https_proxy: nil, id: nil, images: nil, index_server_address: nil, init_binary: nil, init_commit: nil, i_pv4_forwarding: nil, isolation: nil, kernel_version: nil, labels: nil, live_restore_enabled: nil, logging_driver: nil, memory_limit: nil, mem_total: nil, name: nil, ncpu: nil, n_events_listener: nil, n_fd: nil, n_goroutines: nil, no_proxy: nil, nri: nil, oom_kill_disable: nil, operating_system: nil, os_type: nil, os_version: nil, pids_limit: nil, plugins: nil, product_license: nil, registry_config: nil, runc_commit: nil, runtimes: nil, security_options: nil, server_version: nil, swap_limit: nil, swarm: nil, system_time: nil, warnings: nil)
549
+ # Some parameter documentations has been truncated, see
550
+ # {DockerEngine::Models::SystemInfoResponse} for more details.
551
+ #
552
+ # @param architecture [String] Hardware architecture of the host, as returned by the operating system.
553
+ #
554
+ # @param cdi_spec_dirs [Array<String>] List of directories where (Container Device Interface) CDI
555
+ #
556
+ # @param cgroup_driver [Symbol, DockerEngine::Models::SystemInfoResponse::CgroupDriver] The driver to use for managing cgroups.
557
+ #
558
+ # @param cgroup_version [Symbol, DockerEngine::Models::SystemInfoResponse::CgroupVersion] The version of the cgroup.
559
+ #
560
+ # @param containerd [DockerEngine::Models::SystemInfoResponse::Containerd, nil] Information for connecting to the containerd instance that is used by the daemon
561
+ #
562
+ # @param containerd_commit [DockerEngine::Models::SystemInfoResponse::ContainerdCommit] Commit holds the Git-commit (SHA1) that a binary was built from, as
563
+ #
564
+ # @param containers [Integer] Total number of containers on the host.
565
+ #
566
+ # @param containers_paused [Integer] Number of containers with status `"paused"`.
567
+ #
568
+ # @param containers_running [Integer] Number of containers with status `"running"`.
569
+ #
570
+ # @param containers_stopped [Integer] Number of containers with status `"stopped"`.
571
+ #
572
+ # @param cpu_cfs_period [Boolean] Indicates if CPU CFS(Completely Fair Scheduler) period is supported by
573
+ #
574
+ # @param cpu_cfs_quota [Boolean] Indicates if CPU CFS(Completely Fair Scheduler) quota is supported by
575
+ #
576
+ # @param cpu_set [Boolean] Indicates if CPUsets (cpuset.cpus, cpuset.mems) are supported by the host.
577
+ #
578
+ # @param cpu_shares [Boolean] Indicates if CPU Shares limiting is supported by the host.
579
+ #
580
+ # @param debug [Boolean] Indicates if the daemon is running in debug-mode / with debug-level
581
+ #
582
+ # @param default_address_pools [Array<DockerEngine::Models::SystemInfoResponse::DefaultAddressPool>] List of custom default address pools for local networks, which can be
583
+ #
584
+ # @param default_runtime [String] Name of the default OCI runtime that is used when starting containers.
585
+ #
586
+ # @param discovered_devices [Array<DockerEngine::Models::SystemInfoResponse::DiscoveredDevice>] List of devices discovered by device drivers.
587
+ #
588
+ # @param docker_root_dir [String] Root directory of persistent Docker state.
589
+ #
590
+ # @param driver [String] Name of the storage driver in use.
591
+ #
592
+ # @param driver_status [Array<Array<String>>] Information specific to the storage driver, provided as
593
+ #
594
+ # @param experimental_build [Boolean] Indicates if experimental features are enabled on the daemon.
595
+ #
596
+ # @param firewall_backend [DockerEngine::Models::SystemInfoResponse::FirewallBackend, nil] Information about the daemon's firewalling configuration.
597
+ #
598
+ # @param generic_resources [Array<DockerEngine::Models::SystemInfoResponse::GenericResource>] User-defined resources can be either Integer resources (e.g, `SSD=3`) or
599
+ #
600
+ # @param http_proxy [String] HTTP-proxy configured for the daemon. This value is obtained from the
601
+ #
602
+ # @param https_proxy [String] HTTPS-proxy configured for the daemon. This value is obtained from the
603
+ #
604
+ # @param id [String] Unique identifier of the daemon.
605
+ #
606
+ # @param images [Integer] Total number of images on the host.
607
+ #
608
+ # @param index_server_address [String] Address / URL of the index server that is used for image search,
609
+ #
610
+ # @param init_binary [String] Name and, optional, path of the `docker-init` binary.
611
+ #
612
+ # @param init_commit [DockerEngine::Models::SystemInfoResponse::InitCommit] Commit holds the Git-commit (SHA1) that a binary was built from, as
613
+ #
614
+ # @param i_pv4_forwarding [Boolean] Indicates IPv4 forwarding is enabled.
615
+ #
616
+ # @param isolation [Symbol, DockerEngine::Models::SystemInfoResponse::Isolation] Represents the isolation technology to use as a default for containers.
617
+ #
618
+ # @param kernel_version [String] Kernel version of the host.
619
+ #
620
+ # @param labels [Array<String>] User-defined labels (key/value metadata) as set on the daemon.
621
+ #
622
+ # @param live_restore_enabled [Boolean] Indicates if live restore is enabled.
623
+ #
624
+ # @param logging_driver [String] The logging driver to use as a default for new containers.
625
+ #
626
+ # @param memory_limit [Boolean] Indicates if the host has memory limit support enabled.
627
+ #
628
+ # @param mem_total [Integer] Total amount of physical memory available on the host, in bytes.
629
+ #
630
+ # @param name [String] Hostname of the host.
631
+ #
632
+ # @param ncpu [Integer] The number of logical CPUs usable by the daemon.
633
+ #
634
+ # @param n_events_listener [Integer] Number of event listeners subscribed.
635
+ #
636
+ # @param n_fd [Integer] The total number of file Descriptors in use by the daemon process.
637
+ #
638
+ # @param n_goroutines [Integer] The number of goroutines that currently exist.
639
+ #
640
+ # @param no_proxy [String] Comma-separated list of domain extensions for which no proxy should be
641
+ #
642
+ # @param nri [DockerEngine::Models::SystemInfoResponse::Nri, nil] Information about the Node Resource Interface (NRI).
643
+ #
644
+ # @param oom_kill_disable [Boolean] Indicates if OOM killer disable is supported on the host.
645
+ #
646
+ # @param operating_system [String] Name of the host's operating system, for example: "Ubuntu 24.04 LTS"
647
+ #
648
+ # @param os_type [String] Generic type of the operating system of the host, as returned by the
649
+ #
650
+ # @param os_version [String] Version of the host's operating system
651
+ #
652
+ # @param pids_limit [Boolean] Indicates if the host kernel has PID limit support enabled.
653
+ #
654
+ # @param plugins [DockerEngine::Models::SystemInfoResponse::Plugins] Available plugins per type.
655
+ #
656
+ # @param product_license [String] Reports a summary of the product license on the daemon.
657
+ #
658
+ # @param registry_config [DockerEngine::Models::SystemInfoResponse::RegistryConfig, nil] RegistryServiceConfig stores daemon registry services configuration.
659
+ #
660
+ # @param runc_commit [DockerEngine::Models::SystemInfoResponse::RuncCommit] Commit holds the Git-commit (SHA1) that a binary was built from, as
661
+ #
662
+ # @param runtimes [Hash{Symbol=>DockerEngine::Models::SystemInfoResponse::Runtime}] List of [OCI compliant](https://github.com/opencontainers/runtime-spec)
663
+ #
664
+ # @param security_options [Array<String>] List of security features that are enabled on the daemon, such as
665
+ #
666
+ # @param server_version [String] Version string of the daemon.
667
+ #
668
+ # @param swap_limit [Boolean] Indicates if the host has memory swap limit support enabled.
669
+ #
670
+ # @param swarm [DockerEngine::Models::SystemInfoResponse::Swarm] Represents generic information about swarm.
671
+ #
672
+ # @param system_time [String] Current system-time in [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt)
673
+ #
674
+ # @param warnings [Array<String>] List of warnings / informational messages about missing features, or
675
+
676
+ # The driver to use for managing cgroups.
677
+ #
678
+ # @see DockerEngine::Models::SystemInfoResponse#cgroup_driver
679
+ module CgroupDriver
680
+ extend DockerEngine::Internal::Type::Enum
681
+
682
+ CGROUPFS = :cgroupfs
683
+ SYSTEMD = :systemd
684
+ NONE = :none
685
+
686
+ # @!method self.values
687
+ # @return [Array<Symbol>]
688
+ end
689
+
690
+ # The version of the cgroup.
691
+ #
692
+ # @see DockerEngine::Models::SystemInfoResponse#cgroup_version
693
+ module CgroupVersion
694
+ extend DockerEngine::Internal::Type::Enum
695
+
696
+ CGROUP_VERSION_1 = :"1"
697
+ CGROUP_VERSION_2 = :"2"
698
+
699
+ # @!method self.values
700
+ # @return [Array<Symbol>]
701
+ end
702
+
703
+ # @see DockerEngine::Models::SystemInfoResponse#containerd
704
+ class Containerd < DockerEngine::Internal::Type::BaseModel
705
+ # @!attribute address
706
+ # The address of the containerd socket.
707
+ #
708
+ # @return [String, nil]
709
+ optional :address, String, api_name: :Address
710
+
711
+ # @!attribute namespaces
712
+ # The namespaces that the daemon uses for running containers and plugins in
713
+ # containerd. These namespaces can be configured in the daemon configuration, and
714
+ # are considered to be used exclusively by the daemon, Tampering with the
715
+ # containerd instance may cause unexpected behavior.
716
+ #
717
+ # As these namespaces are considered to be exclusively accessed by the daemon, it
718
+ # is not recommended to change these values, or to change them to a value that is
719
+ # used by other systems, such as cri-containerd.
720
+ #
721
+ # @return [DockerEngine::Models::SystemInfoResponse::Containerd::Namespaces, nil]
722
+ optional :namespaces,
723
+ -> { DockerEngine::Models::SystemInfoResponse::Containerd::Namespaces },
724
+ api_name: :Namespaces
725
+
726
+ # @!method initialize(address: nil, namespaces: nil)
727
+ # Some parameter documentations has been truncated, see
728
+ # {DockerEngine::Models::SystemInfoResponse::Containerd} for more details.
729
+ #
730
+ # Information for connecting to the containerd instance that is used by the
731
+ # daemon. This is included for debugging purposes only.
732
+ #
733
+ # @param address [String] The address of the containerd socket.
734
+ #
735
+ # @param namespaces [DockerEngine::Models::SystemInfoResponse::Containerd::Namespaces] The namespaces that the daemon uses for running containers and
736
+
737
+ # @see DockerEngine::Models::SystemInfoResponse::Containerd#namespaces
738
+ class Namespaces < DockerEngine::Internal::Type::BaseModel
739
+ # @!attribute containers
740
+ # The default containerd namespace used for containers managed by the daemon.
741
+ #
742
+ # The default namespace for containers is "moby", but will be suffixed with the
743
+ # `<uid>.<gid>` of the remapped `root` if user-namespaces are enabled and the
744
+ # containerd image-store is used.
745
+ #
746
+ # @return [String, nil]
747
+ optional :containers, String, api_name: :Containers
748
+
749
+ # @!attribute plugins
750
+ # The default containerd namespace used for plugins managed by the daemon.
751
+ #
752
+ # The default namespace for plugins is "plugins.moby", but will be suffixed with
753
+ # the `<uid>.<gid>` of the remapped `root` if user-namespaces are enabled and the
754
+ # containerd image-store is used.
755
+ #
756
+ # @return [String, nil]
757
+ optional :plugins, String, api_name: :Plugins
758
+
759
+ # @!method initialize(containers: nil, plugins: nil)
760
+ # Some parameter documentations has been truncated, see
761
+ # {DockerEngine::Models::SystemInfoResponse::Containerd::Namespaces} for more
762
+ # details.
763
+ #
764
+ # The namespaces that the daemon uses for running containers and plugins in
765
+ # containerd. These namespaces can be configured in the daemon configuration, and
766
+ # are considered to be used exclusively by the daemon, Tampering with the
767
+ # containerd instance may cause unexpected behavior.
768
+ #
769
+ # As these namespaces are considered to be exclusively accessed by the daemon, it
770
+ # is not recommended to change these values, or to change them to a value that is
771
+ # used by other systems, such as cri-containerd.
772
+ #
773
+ # @param containers [String] The default containerd namespace used for containers managed
774
+ #
775
+ # @param plugins [String] The default containerd namespace used for plugins managed by
776
+ end
777
+ end
778
+
779
+ # @see DockerEngine::Models::SystemInfoResponse#containerd_commit
780
+ class ContainerdCommit < DockerEngine::Internal::Type::BaseModel
781
+ # @!attribute id
782
+ # Actual commit ID of external tool.
783
+ #
784
+ # @return [String, nil]
785
+ optional :id, String, api_name: :ID
786
+
787
+ # @!method initialize(id: nil)
788
+ # Commit holds the Git-commit (SHA1) that a binary was built from, as reported in
789
+ # the version-string of external tools, such as `containerd`, or `runC`.
790
+ #
791
+ # @param id [String] Actual commit ID of external tool.
792
+ end
793
+
794
+ class DefaultAddressPool < DockerEngine::Internal::Type::BaseModel
795
+ # @!attribute base
796
+ # The network address in CIDR format
797
+ #
798
+ # @return [String, nil]
799
+ optional :base, String, api_name: :Base
800
+
801
+ # @!attribute size
802
+ # The network pool size
803
+ #
804
+ # @return [Integer, nil]
805
+ optional :size, Integer, api_name: :Size
806
+
807
+ # @!method initialize(base: nil, size: nil)
808
+ # @param base [String] The network address in CIDR format
809
+ #
810
+ # @param size [Integer] The network pool size
811
+ end
812
+
813
+ class DiscoveredDevice < DockerEngine::Internal::Type::BaseModel
814
+ # @!attribute id
815
+ # The unique identifier for the device within its source driver. For CDI devices,
816
+ # this would be an FQDN like "vendor.com/gpu=0".
817
+ #
818
+ # @return [String, nil]
819
+ optional :id, String, api_name: :ID
820
+
821
+ # @!attribute source
822
+ # The origin device driver.
823
+ #
824
+ # @return [String, nil]
825
+ optional :source, String, api_name: :Source
826
+
827
+ # @!method initialize(id: nil, source: nil)
828
+ # Some parameter documentations has been truncated, see
829
+ # {DockerEngine::Models::SystemInfoResponse::DiscoveredDevice} for more details.
830
+ #
831
+ # DeviceInfo represents a device that can be used by a container.
832
+ #
833
+ # @param id [String] The unique identifier for the device within its source driver.
834
+ #
835
+ # @param source [String] The origin device driver.
836
+ end
837
+
838
+ # @see DockerEngine::Models::SystemInfoResponse#firewall_backend
839
+ class FirewallBackend < DockerEngine::Internal::Type::BaseModel
840
+ # @!attribute driver
841
+ # The name of the firewall backend driver.
842
+ #
843
+ # @return [String, nil]
844
+ optional :driver, String, api_name: :Driver
845
+
846
+ # @!attribute info
847
+ # Information about the firewall backend, provided as "label" / "value" pairs.
848
+ #
849
+ # <p><br /></p>
850
+ #
851
+ # > **Note**: The information returned in this field, including the formatting of
852
+ # > values and labels, should not be considered stable, and may change without
853
+ # > notice.
854
+ #
855
+ # @return [Array<Array<String>>, nil]
856
+ optional :info,
857
+ DockerEngine::Internal::Type::ArrayOf[DockerEngine::Internal::Type::ArrayOf[String]],
858
+ api_name: :Info
859
+
860
+ # @!method initialize(driver: nil, info: nil)
861
+ # Some parameter documentations has been truncated, see
862
+ # {DockerEngine::Models::SystemInfoResponse::FirewallBackend} for more details.
863
+ #
864
+ # Information about the daemon's firewalling configuration.
865
+ #
866
+ # This field is currently only used on Linux, and omitted on other platforms.
867
+ #
868
+ # @param driver [String] The name of the firewall backend driver.
869
+ #
870
+ # @param info [Array<Array<String>>] Information about the firewall backend, provided as
871
+ end
872
+
873
+ class GenericResource < DockerEngine::Internal::Type::BaseModel
874
+ # @!attribute discrete_resource_spec
875
+ #
876
+ # @return [DockerEngine::Models::SystemInfoResponse::GenericResource::DiscreteResourceSpec, nil]
877
+ optional :discrete_resource_spec,
878
+ -> { DockerEngine::Models::SystemInfoResponse::GenericResource::DiscreteResourceSpec },
879
+ api_name: :DiscreteResourceSpec
880
+
881
+ # @!attribute named_resource_spec
882
+ #
883
+ # @return [DockerEngine::Models::SystemInfoResponse::GenericResource::NamedResourceSpec, nil]
884
+ optional :named_resource_spec,
885
+ -> { DockerEngine::Models::SystemInfoResponse::GenericResource::NamedResourceSpec },
886
+ api_name: :NamedResourceSpec
887
+
888
+ # @!method initialize(discrete_resource_spec: nil, named_resource_spec: nil)
889
+ # @param discrete_resource_spec [DockerEngine::Models::SystemInfoResponse::GenericResource::DiscreteResourceSpec]
890
+ # @param named_resource_spec [DockerEngine::Models::SystemInfoResponse::GenericResource::NamedResourceSpec]
891
+
892
+ # @see DockerEngine::Models::SystemInfoResponse::GenericResource#discrete_resource_spec
893
+ class DiscreteResourceSpec < DockerEngine::Internal::Type::BaseModel
894
+ # @!attribute kind
895
+ #
896
+ # @return [String, nil]
897
+ optional :kind, String, api_name: :Kind
898
+
899
+ # @!attribute value
900
+ #
901
+ # @return [Integer, nil]
902
+ optional :value, Integer, api_name: :Value
903
+
904
+ # @!method initialize(kind: nil, value: nil)
905
+ # @param kind [String]
906
+ # @param value [Integer]
907
+ end
908
+
909
+ # @see DockerEngine::Models::SystemInfoResponse::GenericResource#named_resource_spec
910
+ class NamedResourceSpec < DockerEngine::Internal::Type::BaseModel
911
+ # @!attribute kind
912
+ #
913
+ # @return [String, nil]
914
+ optional :kind, String, api_name: :Kind
915
+
916
+ # @!attribute value
917
+ #
918
+ # @return [String, nil]
919
+ optional :value, String, api_name: :Value
920
+
921
+ # @!method initialize(kind: nil, value: nil)
922
+ # @param kind [String]
923
+ # @param value [String]
924
+ end
925
+ end
926
+
927
+ # @see DockerEngine::Models::SystemInfoResponse#init_commit
928
+ class InitCommit < DockerEngine::Internal::Type::BaseModel
929
+ # @!attribute id
930
+ # Actual commit ID of external tool.
931
+ #
932
+ # @return [String, nil]
933
+ optional :id, String, api_name: :ID
934
+
935
+ # @!method initialize(id: nil)
936
+ # Commit holds the Git-commit (SHA1) that a binary was built from, as reported in
937
+ # the version-string of external tools, such as `containerd`, or `runC`.
938
+ #
939
+ # @param id [String] Actual commit ID of external tool.
940
+ end
941
+
942
+ # Represents the isolation technology to use as a default for containers. The
943
+ # supported values are platform-specific.
944
+ #
945
+ # If no isolation value is specified on daemon start, on Windows client, the
946
+ # default is `hyperv`, and on Windows server, the default is `process`.
947
+ #
948
+ # This option is currently not used on other platforms.
949
+ #
950
+ # @see DockerEngine::Models::SystemInfoResponse#isolation
951
+ module Isolation
952
+ extend DockerEngine::Internal::Type::Enum
953
+
954
+ DEFAULT = :default
955
+ HYPERV = :hyperv
956
+ PROCESS = :process
957
+ EMPTY = :""
958
+
959
+ # @!method self.values
960
+ # @return [Array<Symbol>]
961
+ end
962
+
963
+ # @see DockerEngine::Models::SystemInfoResponse#nri
964
+ class Nri < DockerEngine::Internal::Type::BaseModel
965
+ # @!attribute info
966
+ # Information about NRI, provided as "label" / "value" pairs.
967
+ #
968
+ # <p><br /></p>
969
+ #
970
+ # > **Note**: The information returned in this field, including the formatting of
971
+ # > values and labels, should not be considered stable, and may change without
972
+ # > notice.
973
+ #
974
+ # @return [Array<Array<String>>, nil]
975
+ optional :info,
976
+ DockerEngine::Internal::Type::ArrayOf[DockerEngine::Internal::Type::ArrayOf[String]],
977
+ api_name: :Info
978
+
979
+ # @!method initialize(info: nil)
980
+ # Some parameter documentations has been truncated, see
981
+ # {DockerEngine::Models::SystemInfoResponse::Nri} for more details.
982
+ #
983
+ # Information about the Node Resource Interface (NRI).
984
+ #
985
+ # This field is only present if NRI is enabled.
986
+ #
987
+ # @param info [Array<Array<String>>] Information about NRI, provided as "label" / "value" pairs.
988
+ end
989
+
990
+ # @see DockerEngine::Models::SystemInfoResponse#plugins
991
+ class Plugins < DockerEngine::Internal::Type::BaseModel
992
+ # @!attribute authorization
993
+ # Names of available authorization plugins.
994
+ #
995
+ # @return [Array<String>, nil]
996
+ optional :authorization, DockerEngine::Internal::Type::ArrayOf[String], api_name: :Authorization
997
+
998
+ # @!attribute log
999
+ # Names of available logging-drivers, and logging-driver plugins.
1000
+ #
1001
+ # @return [Array<String>, nil]
1002
+ optional :log, DockerEngine::Internal::Type::ArrayOf[String], api_name: :Log
1003
+
1004
+ # @!attribute network
1005
+ # Names of available network-drivers, and network-driver plugins.
1006
+ #
1007
+ # @return [Array<String>, nil]
1008
+ optional :network, DockerEngine::Internal::Type::ArrayOf[String], api_name: :Network
1009
+
1010
+ # @!attribute volume
1011
+ # Names of available volume-drivers, and network-driver plugins.
1012
+ #
1013
+ # @return [Array<String>, nil]
1014
+ optional :volume, DockerEngine::Internal::Type::ArrayOf[String], api_name: :Volume
1015
+
1016
+ # @!method initialize(authorization: nil, log: nil, network: nil, volume: nil)
1017
+ # Available plugins per type.
1018
+ #
1019
+ # <p><br /></p>
1020
+ #
1021
+ # > **Note**: Only unmanaged (V1) plugins are included in this list. V1 plugins
1022
+ # > are "lazily" loaded, and are not returned in this list if there is no resource
1023
+ # > using the plugin.
1024
+ #
1025
+ # @param authorization [Array<String>] Names of available authorization plugins.
1026
+ #
1027
+ # @param log [Array<String>] Names of available logging-drivers, and logging-driver plugins.
1028
+ #
1029
+ # @param network [Array<String>] Names of available network-drivers, and network-driver plugins.
1030
+ #
1031
+ # @param volume [Array<String>] Names of available volume-drivers, and network-driver plugins.
1032
+ end
1033
+
1034
+ # @see DockerEngine::Models::SystemInfoResponse#registry_config
1035
+ class RegistryConfig < DockerEngine::Internal::Type::BaseModel
1036
+ # @!attribute index_configs
1037
+ #
1038
+ # @return [Hash{Symbol=>DockerEngine::Models::SystemInfoResponse::RegistryConfig::IndexConfig, nil}, nil]
1039
+ optional :index_configs,
1040
+ -> { DockerEngine::Internal::Type::HashOf[DockerEngine::Models::SystemInfoResponse::RegistryConfig::IndexConfig, nil?: true] },
1041
+ api_name: :IndexConfigs
1042
+
1043
+ # @!attribute insecure_registry_cid_rs
1044
+ # List of IP ranges of insecure registries, using the CIDR syntax
1045
+ # ([RFC 4632](https://tools.ietf.org/html/4632)). Insecure registries accept
1046
+ # un-encrypted (HTTP) and/or untrusted (HTTPS with certificates from unknown CAs)
1047
+ # communication.
1048
+ #
1049
+ # By default, local registries (`::1/128` and `127.0.0.0/8`) are configured as
1050
+ # insecure. All other registries are secure. Communicating with an insecure
1051
+ # registry is not possible if the daemon assumes that registry is secure.
1052
+ #
1053
+ # This configuration override this behavior, insecure communication with
1054
+ # registries whose resolved IP address is within the subnet described by the CIDR
1055
+ # syntax.
1056
+ #
1057
+ # Registries can also be marked insecure by hostname. Those registries are listed
1058
+ # under `IndexConfigs` and have their `Secure` field set to `false`.
1059
+ #
1060
+ # > **Warning**: Using this option can be useful when running a local registry,
1061
+ # > but introduces security vulnerabilities. This option should therefore ONLY be
1062
+ # > used for testing purposes. For increased security, users should add their CA
1063
+ # > to their system's list of trusted CAs instead of enabling this option.
1064
+ #
1065
+ # @return [Array<String>, nil]
1066
+ optional :insecure_registry_cid_rs,
1067
+ DockerEngine::Internal::Type::ArrayOf[String],
1068
+ api_name: :InsecureRegistryCIDRs
1069
+
1070
+ # @!attribute mirrors
1071
+ # List of registry URLs that act as a mirror for the official (`docker.io`)
1072
+ # registry.
1073
+ #
1074
+ # @return [Array<String>, nil]
1075
+ optional :mirrors, DockerEngine::Internal::Type::ArrayOf[String], api_name: :Mirrors
1076
+
1077
+ # @!method initialize(index_configs: nil, insecure_registry_cid_rs: nil, mirrors: nil)
1078
+ # Some parameter documentations has been truncated, see
1079
+ # {DockerEngine::Models::SystemInfoResponse::RegistryConfig} for more details.
1080
+ #
1081
+ # RegistryServiceConfig stores daemon registry services configuration.
1082
+ #
1083
+ # @param index_configs [Hash{Symbol=>DockerEngine::Models::SystemInfoResponse::RegistryConfig::IndexConfig, nil}]
1084
+ #
1085
+ # @param insecure_registry_cid_rs [Array<String>] List of IP ranges of insecure registries, using the CIDR syntax
1086
+ #
1087
+ # @param mirrors [Array<String>] List of registry URLs that act as a mirror for the official
1088
+
1089
+ class IndexConfig < DockerEngine::Internal::Type::BaseModel
1090
+ # @!attribute mirrors
1091
+ # List of mirrors, expressed as URIs.
1092
+ #
1093
+ # @return [Array<String>, nil]
1094
+ optional :mirrors, DockerEngine::Internal::Type::ArrayOf[String], api_name: :Mirrors
1095
+
1096
+ # @!attribute name
1097
+ # Name of the registry, such as "docker.io".
1098
+ #
1099
+ # @return [String, nil]
1100
+ optional :name, String, api_name: :Name
1101
+
1102
+ # @!attribute official
1103
+ # Indicates whether this is an official registry (i.e., Docker Hub / docker.io)
1104
+ #
1105
+ # @return [Boolean, nil]
1106
+ optional :official, DockerEngine::Internal::Type::Boolean, api_name: :Official
1107
+
1108
+ # @!attribute secure
1109
+ # Indicates if the registry is part of the list of insecure registries.
1110
+ #
1111
+ # If `false`, the registry is insecure. Insecure registries accept un-encrypted
1112
+ # (HTTP) and/or untrusted (HTTPS with certificates from unknown CAs)
1113
+ # communication.
1114
+ #
1115
+ # > **Warning**: Insecure registries can be useful when running a local registry.
1116
+ # > However, because its use creates security vulnerabilities it should ONLY be
1117
+ # > enabled for testing purposes. For increased security, users should add their
1118
+ # > CA to their system's list of trusted CAs instead of enabling this option.
1119
+ #
1120
+ # @return [Boolean, nil]
1121
+ optional :secure, DockerEngine::Internal::Type::Boolean, api_name: :Secure
1122
+
1123
+ # @!method initialize(mirrors: nil, name: nil, official: nil, secure: nil)
1124
+ # Some parameter documentations has been truncated, see
1125
+ # {DockerEngine::Models::SystemInfoResponse::RegistryConfig::IndexConfig} for more
1126
+ # details.
1127
+ #
1128
+ # IndexInfo contains information about a registry.
1129
+ #
1130
+ # @param mirrors [Array<String>] List of mirrors, expressed as URIs.
1131
+ #
1132
+ # @param name [String] Name of the registry, such as "docker.io".
1133
+ #
1134
+ # @param official [Boolean] Indicates whether this is an official registry (i.e., Docker Hub / docker.io)
1135
+ #
1136
+ # @param secure [Boolean] Indicates if the registry is part of the list of insecure
1137
+ end
1138
+ end
1139
+
1140
+ # @see DockerEngine::Models::SystemInfoResponse#runc_commit
1141
+ class RuncCommit < DockerEngine::Internal::Type::BaseModel
1142
+ # @!attribute id
1143
+ # Actual commit ID of external tool.
1144
+ #
1145
+ # @return [String, nil]
1146
+ optional :id, String, api_name: :ID
1147
+
1148
+ # @!method initialize(id: nil)
1149
+ # Commit holds the Git-commit (SHA1) that a binary was built from, as reported in
1150
+ # the version-string of external tools, such as `containerd`, or `runC`.
1151
+ #
1152
+ # @param id [String] Actual commit ID of external tool.
1153
+ end
1154
+
1155
+ class Runtime < DockerEngine::Internal::Type::BaseModel
1156
+ # @!attribute path
1157
+ # Name and, optional, path, of the OCI executable binary.
1158
+ #
1159
+ # If the path is omitted, the daemon searches the host's `$PATH` for the binary
1160
+ # and uses the first result.
1161
+ #
1162
+ # @return [String, nil]
1163
+ optional :path, String
1164
+
1165
+ # @!attribute runtime_args
1166
+ # List of command-line arguments to pass to the runtime when invoked.
1167
+ #
1168
+ # @return [Array<String>, nil]
1169
+ optional :runtime_args,
1170
+ DockerEngine::Internal::Type::ArrayOf[String],
1171
+ api_name: :runtimeArgs,
1172
+ nil?: true
1173
+
1174
+ # @!attribute status
1175
+ # Information specific to the runtime.
1176
+ #
1177
+ # While this API specification does not define data provided by runtimes, the
1178
+ # following well-known properties may be provided by runtimes:
1179
+ #
1180
+ # `org.opencontainers.runtime-spec.features`: features structure as defined in the
1181
+ # [OCI Runtime Specification](https://github.com/opencontainers/runtime-spec/blob/main/features.md),
1182
+ # in a JSON string representation.
1183
+ #
1184
+ # <p><br /></p>
1185
+ #
1186
+ # > **Note**: The information returned in this field, including the formatting of
1187
+ # > values and labels, should not be considered stable, and may change without
1188
+ # > notice.
1189
+ #
1190
+ # @return [Hash{Symbol=>String}, nil]
1191
+ optional :status, DockerEngine::Internal::Type::HashOf[String], nil?: true
1192
+
1193
+ # @!method initialize(path: nil, runtime_args: nil, status: nil)
1194
+ # Some parameter documentations has been truncated, see
1195
+ # {DockerEngine::Models::SystemInfoResponse::Runtime} for more details.
1196
+ #
1197
+ # Runtime describes an
1198
+ # [OCI compliant](https://github.com/opencontainers/runtime-spec) runtime.
1199
+ #
1200
+ # The runtime is invoked by the daemon via the `containerd` daemon. OCI runtimes
1201
+ # act as an interface to the Linux kernel namespaces, cgroups, and SELinux.
1202
+ #
1203
+ # @param path [String] Name and, optional, path, of the OCI executable binary.
1204
+ #
1205
+ # @param runtime_args [Array<String>, nil] List of command-line arguments to pass to the runtime when invoked.
1206
+ #
1207
+ # @param status [Hash{Symbol=>String}, nil] Information specific to the runtime.
1208
+ end
1209
+
1210
+ # @see DockerEngine::Models::SystemInfoResponse#swarm
1211
+ class Swarm < DockerEngine::Internal::Type::BaseModel
1212
+ # @!attribute cluster
1213
+ # ClusterInfo represents information about the swarm as is returned by the "/info"
1214
+ # endpoint. Join-tokens are not included.
1215
+ #
1216
+ # @return [DockerEngine::Models::SystemInfoResponse::Swarm::Cluster, nil]
1217
+ optional :cluster,
1218
+ -> { DockerEngine::Models::SystemInfoResponse::Swarm::Cluster },
1219
+ api_name: :Cluster,
1220
+ nil?: true
1221
+
1222
+ # @!attribute control_available
1223
+ #
1224
+ # @return [Boolean, nil]
1225
+ optional :control_available, DockerEngine::Internal::Type::Boolean, api_name: :ControlAvailable
1226
+
1227
+ # @!attribute error
1228
+ #
1229
+ # @return [String, nil]
1230
+ optional :error, String, api_name: :Error
1231
+
1232
+ # @!attribute local_node_state
1233
+ # Current local status of this node.
1234
+ #
1235
+ # @return [Symbol, DockerEngine::Models::SystemInfoResponse::Swarm::LocalNodeState, nil]
1236
+ optional :local_node_state,
1237
+ enum: -> { DockerEngine::Models::SystemInfoResponse::Swarm::LocalNodeState },
1238
+ api_name: :LocalNodeState
1239
+
1240
+ # @!attribute managers
1241
+ # Total number of managers in the swarm.
1242
+ #
1243
+ # @return [Integer, nil]
1244
+ optional :managers, Integer, api_name: :Managers, nil?: true
1245
+
1246
+ # @!attribute node_addr
1247
+ # IP address at which this node can be reached by other nodes in the swarm.
1248
+ #
1249
+ # @return [String, nil]
1250
+ optional :node_addr, String, api_name: :NodeAddr
1251
+
1252
+ # @!attribute node_id
1253
+ # Unique identifier of for this node in the swarm.
1254
+ #
1255
+ # @return [String, nil]
1256
+ optional :node_id, String, api_name: :NodeID
1257
+
1258
+ # @!attribute nodes
1259
+ # Total number of nodes in the swarm.
1260
+ #
1261
+ # @return [Integer, nil]
1262
+ optional :nodes, Integer, api_name: :Nodes, nil?: true
1263
+
1264
+ # @!attribute remote_managers
1265
+ # List of ID's and addresses of other managers in the swarm.
1266
+ #
1267
+ # @return [Array<DockerEngine::Models::SystemInfoResponse::Swarm::RemoteManager>, nil]
1268
+ optional :remote_managers,
1269
+ -> { DockerEngine::Internal::Type::ArrayOf[DockerEngine::Models::SystemInfoResponse::Swarm::RemoteManager] },
1270
+ api_name: :RemoteManagers,
1271
+ nil?: true
1272
+
1273
+ # @!method initialize(cluster: nil, control_available: nil, error: nil, local_node_state: nil, managers: nil, node_addr: nil, node_id: nil, nodes: nil, remote_managers: nil)
1274
+ # Some parameter documentations has been truncated, see
1275
+ # {DockerEngine::Models::SystemInfoResponse::Swarm} for more details.
1276
+ #
1277
+ # Represents generic information about swarm.
1278
+ #
1279
+ # @param cluster [DockerEngine::Models::SystemInfoResponse::Swarm::Cluster, nil] ClusterInfo represents information about the swarm as is returned by the
1280
+ #
1281
+ # @param control_available [Boolean]
1282
+ #
1283
+ # @param error [String]
1284
+ #
1285
+ # @param local_node_state [Symbol, DockerEngine::Models::SystemInfoResponse::Swarm::LocalNodeState] Current local status of this node.
1286
+ #
1287
+ # @param managers [Integer, nil] Total number of managers in the swarm.
1288
+ #
1289
+ # @param node_addr [String] IP address at which this node can be reached by other nodes in the
1290
+ #
1291
+ # @param node_id [String] Unique identifier of for this node in the swarm.
1292
+ #
1293
+ # @param nodes [Integer, nil] Total number of nodes in the swarm.
1294
+ #
1295
+ # @param remote_managers [Array<DockerEngine::Models::SystemInfoResponse::Swarm::RemoteManager>, nil] List of ID's and addresses of other managers in the swarm.
1296
+
1297
+ # @see DockerEngine::Models::SystemInfoResponse::Swarm#cluster
1298
+ class Cluster < DockerEngine::Internal::Type::BaseModel
1299
+ # @!attribute created_at
1300
+ # Date and time at which the swarm was initialised in
1301
+ # [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.
1302
+ #
1303
+ # @return [String, nil]
1304
+ optional :created_at, String, api_name: :CreatedAt
1305
+
1306
+ # @!attribute data_path_port
1307
+ # DataPathPort specifies the data path port number for data traffic. Acceptable
1308
+ # port range is 1024 to 49151. If no port is set or is set to 0, the default port
1309
+ # (4789) is used.
1310
+ #
1311
+ # @return [Integer, nil]
1312
+ optional :data_path_port, Integer, api_name: :DataPathPort
1313
+
1314
+ # @!attribute default_addr_pool
1315
+ # Default Address Pool specifies default subnet pools for global scope networks.
1316
+ #
1317
+ # @return [Array<String>, nil]
1318
+ optional :default_addr_pool,
1319
+ DockerEngine::Internal::Type::ArrayOf[String],
1320
+ api_name: :DefaultAddrPool
1321
+
1322
+ # @!attribute id
1323
+ # The ID of the swarm.
1324
+ #
1325
+ # @return [String, nil]
1326
+ optional :id, String, api_name: :ID
1327
+
1328
+ # @!attribute root_rotation_in_progress
1329
+ # Whether there is currently a root CA rotation in progress for the swarm
1330
+ #
1331
+ # @return [Boolean, nil]
1332
+ optional :root_rotation_in_progress,
1333
+ DockerEngine::Internal::Type::Boolean,
1334
+ api_name: :RootRotationInProgress
1335
+
1336
+ # @!attribute spec
1337
+ # User modifiable swarm configuration.
1338
+ #
1339
+ # @return [DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec, nil]
1340
+ optional :spec, -> { DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec }, api_name: :Spec
1341
+
1342
+ # @!attribute subnet_size
1343
+ # SubnetSize specifies the subnet size of the networks created from the default
1344
+ # subnet pool.
1345
+ #
1346
+ # @return [Integer, nil]
1347
+ optional :subnet_size, Integer, api_name: :SubnetSize
1348
+
1349
+ # @!attribute tls_info
1350
+ # Information about the issuer of leaf TLS certificates and the trusted root CA
1351
+ # certificate.
1352
+ #
1353
+ # @return [DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::TlsInfo, nil]
1354
+ optional :tls_info,
1355
+ -> { DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::TlsInfo },
1356
+ api_name: :TLSInfo
1357
+
1358
+ # @!attribute updated_at
1359
+ # Date and time at which the swarm was last updated in
1360
+ # [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.
1361
+ #
1362
+ # @return [String, nil]
1363
+ optional :updated_at, String, api_name: :UpdatedAt
1364
+
1365
+ # @!attribute version
1366
+ # The version number of the object such as node, service, etc. This is needed to
1367
+ # avoid conflicting writes. The client must send the version number along with the
1368
+ # modified specification when updating these objects.
1369
+ #
1370
+ # This approach ensures safe concurrency and determinism in that the change on the
1371
+ # object may not be applied if the version number has changed from the last read.
1372
+ # In other words, if two update requests specify the same base version, only one
1373
+ # of the requests can succeed. As a result, two separate update requests that
1374
+ # happen at the same time will not unintentionally overwrite each other.
1375
+ #
1376
+ # @return [DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Version, nil]
1377
+ optional :version,
1378
+ -> { DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Version },
1379
+ api_name: :Version
1380
+
1381
+ # @!method initialize(created_at: nil, data_path_port: nil, default_addr_pool: nil, id: nil, root_rotation_in_progress: nil, spec: nil, subnet_size: nil, tls_info: nil, updated_at: nil, version: nil)
1382
+ # Some parameter documentations has been truncated, see
1383
+ # {DockerEngine::Models::SystemInfoResponse::Swarm::Cluster} for more details.
1384
+ #
1385
+ # ClusterInfo represents information about the swarm as is returned by the "/info"
1386
+ # endpoint. Join-tokens are not included.
1387
+ #
1388
+ # @param created_at [String] Date and time at which the swarm was initialised in
1389
+ #
1390
+ # @param data_path_port [Integer] DataPathPort specifies the data path port number for data traffic.
1391
+ #
1392
+ # @param default_addr_pool [Array<String>] Default Address Pool specifies default subnet pools for global scope
1393
+ #
1394
+ # @param id [String] The ID of the swarm.
1395
+ #
1396
+ # @param root_rotation_in_progress [Boolean] Whether there is currently a root CA rotation in progress for the swarm
1397
+ #
1398
+ # @param spec [DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec] User modifiable swarm configuration.
1399
+ #
1400
+ # @param subnet_size [Integer] SubnetSize specifies the subnet size of the networks created from the
1401
+ #
1402
+ # @param tls_info [DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::TlsInfo] Information about the issuer of leaf TLS certificates and the trusted root
1403
+ #
1404
+ # @param updated_at [String] Date and time at which the swarm was last updated in
1405
+ #
1406
+ # @param version [DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Version] The version number of the object such as node, service, etc. This is needed
1407
+
1408
+ # @see DockerEngine::Models::SystemInfoResponse::Swarm::Cluster#spec
1409
+ class Spec < DockerEngine::Internal::Type::BaseModel
1410
+ # @!attribute ca_config
1411
+ # CA configuration.
1412
+ #
1413
+ # @return [DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::CaConfig, nil]
1414
+ optional :ca_config,
1415
+ -> { DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::CaConfig },
1416
+ api_name: :CAConfig,
1417
+ nil?: true
1418
+
1419
+ # @!attribute dispatcher
1420
+ # Dispatcher configuration.
1421
+ #
1422
+ # @return [DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::Dispatcher, nil]
1423
+ optional :dispatcher,
1424
+ -> { DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::Dispatcher },
1425
+ api_name: :Dispatcher,
1426
+ nil?: true
1427
+
1428
+ # @!attribute encryption_config
1429
+ # Parameters related to encryption-at-rest.
1430
+ #
1431
+ # @return [DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::EncryptionConfig, nil]
1432
+ optional :encryption_config,
1433
+ -> { DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::EncryptionConfig },
1434
+ api_name: :EncryptionConfig
1435
+
1436
+ # @!attribute labels
1437
+ # User-defined key/value metadata.
1438
+ #
1439
+ # @return [Hash{Symbol=>String}, nil]
1440
+ optional :labels, DockerEngine::Internal::Type::HashOf[String], api_name: :Labels
1441
+
1442
+ # @!attribute name
1443
+ # Name of the swarm.
1444
+ #
1445
+ # @return [String, nil]
1446
+ optional :name, String, api_name: :Name
1447
+
1448
+ # @!attribute orchestration
1449
+ # Orchestration configuration.
1450
+ #
1451
+ # @return [DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::Orchestration, nil]
1452
+ optional :orchestration,
1453
+ -> { DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::Orchestration },
1454
+ api_name: :Orchestration,
1455
+ nil?: true
1456
+
1457
+ # @!attribute raft
1458
+ # Raft configuration.
1459
+ #
1460
+ # @return [DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::Raft, nil]
1461
+ optional :raft,
1462
+ -> { DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::Raft },
1463
+ api_name: :Raft
1464
+
1465
+ # @!attribute task_defaults
1466
+ # Defaults for creating tasks in this cluster.
1467
+ #
1468
+ # @return [DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::TaskDefaults, nil]
1469
+ optional :task_defaults,
1470
+ -> { DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::TaskDefaults },
1471
+ api_name: :TaskDefaults
1472
+
1473
+ # @!method initialize(ca_config: nil, dispatcher: nil, encryption_config: nil, labels: nil, name: nil, orchestration: nil, raft: nil, task_defaults: nil)
1474
+ # User modifiable swarm configuration.
1475
+ #
1476
+ # @param ca_config [DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::CaConfig, nil] CA configuration.
1477
+ #
1478
+ # @param dispatcher [DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::Dispatcher, nil] Dispatcher configuration.
1479
+ #
1480
+ # @param encryption_config [DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::EncryptionConfig] Parameters related to encryption-at-rest.
1481
+ #
1482
+ # @param labels [Hash{Symbol=>String}] User-defined key/value metadata.
1483
+ #
1484
+ # @param name [String] Name of the swarm.
1485
+ #
1486
+ # @param orchestration [DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::Orchestration, nil] Orchestration configuration.
1487
+ #
1488
+ # @param raft [DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::Raft] Raft configuration.
1489
+ #
1490
+ # @param task_defaults [DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::TaskDefaults] Defaults for creating tasks in this cluster.
1491
+
1492
+ # @see DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec#ca_config
1493
+ class CaConfig < DockerEngine::Internal::Type::BaseModel
1494
+ # @!attribute external_c_as
1495
+ # Configuration for forwarding signing requests to an external certificate
1496
+ # authority.
1497
+ #
1498
+ # @return [Array<DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::CaConfig::ExternalCA>, nil]
1499
+ optional :external_c_as,
1500
+ -> { DockerEngine::Internal::Type::ArrayOf[DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::CaConfig::ExternalCA] },
1501
+ api_name: :ExternalCAs
1502
+
1503
+ # @!attribute force_rotate
1504
+ # An integer whose purpose is to force swarm to generate a new signing CA
1505
+ # certificate and key, if none have been specified in `SigningCACert` and
1506
+ # `SigningCAKey`
1507
+ #
1508
+ # @return [Integer, nil]
1509
+ optional :force_rotate, Integer, api_name: :ForceRotate
1510
+
1511
+ # @!attribute node_cert_expiry
1512
+ # The duration node certificates are issued for.
1513
+ #
1514
+ # @return [Integer, nil]
1515
+ optional :node_cert_expiry, Integer, api_name: :NodeCertExpiry
1516
+
1517
+ # @!attribute signing_ca_cert
1518
+ # The desired signing CA certificate for all swarm node TLS leaf certificates, in
1519
+ # PEM format.
1520
+ #
1521
+ # @return [String, nil]
1522
+ optional :signing_ca_cert, String, api_name: :SigningCACert
1523
+
1524
+ # @!attribute signing_ca_key
1525
+ # The desired signing CA key for all swarm node TLS leaf certificates, in PEM
1526
+ # format.
1527
+ #
1528
+ # @return [String, nil]
1529
+ optional :signing_ca_key, String, api_name: :SigningCAKey
1530
+
1531
+ # @!method initialize(external_c_as: nil, force_rotate: nil, node_cert_expiry: nil, signing_ca_cert: nil, signing_ca_key: nil)
1532
+ # Some parameter documentations has been truncated, see
1533
+ # {DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::CaConfig} for
1534
+ # more details.
1535
+ #
1536
+ # CA configuration.
1537
+ #
1538
+ # @param external_c_as [Array<DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::CaConfig::ExternalCA>] Configuration for forwarding signing requests to an external
1539
+ #
1540
+ # @param force_rotate [Integer] An integer whose purpose is to force swarm to generate a new
1541
+ #
1542
+ # @param node_cert_expiry [Integer] The duration node certificates are issued for.
1543
+ #
1544
+ # @param signing_ca_cert [String] The desired signing CA certificate for all swarm node TLS leaf
1545
+ #
1546
+ # @param signing_ca_key [String] The desired signing CA key for all swarm node TLS leaf certificates,
1547
+
1548
+ class ExternalCA < DockerEngine::Internal::Type::BaseModel
1549
+ # @!attribute ca_cert
1550
+ # The root CA certificate (in PEM format) this external CA uses to issue TLS
1551
+ # certificates (assumed to be to the current swarm root CA certificate if not
1552
+ # provided).
1553
+ #
1554
+ # @return [String, nil]
1555
+ optional :ca_cert, String, api_name: :CACert
1556
+
1557
+ # @!attribute options
1558
+ # An object with key/value pairs that are interpreted as protocol-specific options
1559
+ # for the external CA driver.
1560
+ #
1561
+ # @return [Hash{Symbol=>String}, nil]
1562
+ optional :options, DockerEngine::Internal::Type::HashOf[String], api_name: :Options
1563
+
1564
+ # @!attribute protocol
1565
+ # Protocol for communication with the external CA (currently only `cfssl` is
1566
+ # supported).
1567
+ #
1568
+ # @return [Symbol, DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::CaConfig::ExternalCA::Protocol, nil]
1569
+ optional :protocol,
1570
+ enum: -> { DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::CaConfig::ExternalCA::Protocol },
1571
+ api_name: :Protocol
1572
+
1573
+ # @!attribute url
1574
+ # URL where certificate signing requests should be sent.
1575
+ #
1576
+ # @return [String, nil]
1577
+ optional :url, String, api_name: :URL
1578
+
1579
+ # @!method initialize(ca_cert: nil, options: nil, protocol: nil, url: nil)
1580
+ # Some parameter documentations has been truncated, see
1581
+ # {DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::CaConfig::ExternalCA}
1582
+ # for more details.
1583
+ #
1584
+ # @param ca_cert [String] The root CA certificate (in PEM format) this external CA uses
1585
+ #
1586
+ # @param options [Hash{Symbol=>String}] An object with key/value pairs that are interpreted as
1587
+ #
1588
+ # @param protocol [Symbol, DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::CaConfig::ExternalCA::Protocol] Protocol for communication with the external CA (currently
1589
+ #
1590
+ # @param url [String] URL where certificate signing requests should be sent.
1591
+
1592
+ # Protocol for communication with the external CA (currently only `cfssl` is
1593
+ # supported).
1594
+ #
1595
+ # @see DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::CaConfig::ExternalCA#protocol
1596
+ module Protocol
1597
+ extend DockerEngine::Internal::Type::Enum
1598
+
1599
+ CFSSL = :cfssl
1600
+
1601
+ # @!method self.values
1602
+ # @return [Array<Symbol>]
1603
+ end
1604
+ end
1605
+ end
1606
+
1607
+ # @see DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec#dispatcher
1608
+ class Dispatcher < DockerEngine::Internal::Type::BaseModel
1609
+ # @!attribute heartbeat_period
1610
+ # The delay for an agent to send a heartbeat to the dispatcher.
1611
+ #
1612
+ # @return [Integer, nil]
1613
+ optional :heartbeat_period, Integer, api_name: :HeartbeatPeriod
1614
+
1615
+ # @!method initialize(heartbeat_period: nil)
1616
+ # Some parameter documentations has been truncated, see
1617
+ # {DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::Dispatcher} for
1618
+ # more details.
1619
+ #
1620
+ # Dispatcher configuration.
1621
+ #
1622
+ # @param heartbeat_period [Integer] The delay for an agent to send a heartbeat to the dispatcher.
1623
+ end
1624
+
1625
+ # @see DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec#encryption_config
1626
+ class EncryptionConfig < DockerEngine::Internal::Type::BaseModel
1627
+ # @!attribute auto_lock_managers
1628
+ # If set, generate a key and use it to lock data stored on the managers.
1629
+ #
1630
+ # @return [Boolean, nil]
1631
+ optional :auto_lock_managers, DockerEngine::Internal::Type::Boolean, api_name: :AutoLockManagers
1632
+
1633
+ # @!method initialize(auto_lock_managers: nil)
1634
+ # Some parameter documentations has been truncated, see
1635
+ # {DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::EncryptionConfig}
1636
+ # for more details.
1637
+ #
1638
+ # Parameters related to encryption-at-rest.
1639
+ #
1640
+ # @param auto_lock_managers [Boolean] If set, generate a key and use it to lock data stored on the
1641
+ end
1642
+
1643
+ # @see DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec#orchestration
1644
+ class Orchestration < DockerEngine::Internal::Type::BaseModel
1645
+ # @!attribute task_history_retention_limit
1646
+ # The number of historic tasks to keep per instance or node. If negative, never
1647
+ # remove completed or failed tasks.
1648
+ #
1649
+ # @return [Integer, nil]
1650
+ optional :task_history_retention_limit, Integer, api_name: :TaskHistoryRetentionLimit
1651
+
1652
+ # @!method initialize(task_history_retention_limit: nil)
1653
+ # Some parameter documentations has been truncated, see
1654
+ # {DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::Orchestration}
1655
+ # for more details.
1656
+ #
1657
+ # Orchestration configuration.
1658
+ #
1659
+ # @param task_history_retention_limit [Integer] The number of historic tasks to keep per instance or node. If
1660
+ end
1661
+
1662
+ # @see DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec#raft
1663
+ class Raft < DockerEngine::Internal::Type::BaseModel
1664
+ # @!attribute election_tick
1665
+ # The number of ticks that a follower will wait for a message from the leader
1666
+ # before becoming a candidate and starting an election. `ElectionTick` must be
1667
+ # greater than `HeartbeatTick`.
1668
+ #
1669
+ # A tick currently defaults to one second, so these translate directly to seconds
1670
+ # currently, but this is NOT guaranteed.
1671
+ #
1672
+ # @return [Integer, nil]
1673
+ optional :election_tick, Integer, api_name: :ElectionTick
1674
+
1675
+ # @!attribute heartbeat_tick
1676
+ # The number of ticks between heartbeats. Every HeartbeatTick ticks, the leader
1677
+ # will send a heartbeat to the followers.
1678
+ #
1679
+ # A tick currently defaults to one second, so these translate directly to seconds
1680
+ # currently, but this is NOT guaranteed.
1681
+ #
1682
+ # @return [Integer, nil]
1683
+ optional :heartbeat_tick, Integer, api_name: :HeartbeatTick
1684
+
1685
+ # @!attribute keep_old_snapshots
1686
+ # The number of snapshots to keep beyond the current snapshot.
1687
+ #
1688
+ # @return [Integer, nil]
1689
+ optional :keep_old_snapshots, Integer, api_name: :KeepOldSnapshots
1690
+
1691
+ # @!attribute log_entries_for_slow_followers
1692
+ # The number of log entries to keep around to sync up slow followers after a
1693
+ # snapshot is created.
1694
+ #
1695
+ # @return [Integer, nil]
1696
+ optional :log_entries_for_slow_followers, Integer, api_name: :LogEntriesForSlowFollowers
1697
+
1698
+ # @!attribute snapshot_interval
1699
+ # The number of log entries between snapshots.
1700
+ #
1701
+ # @return [Integer, nil]
1702
+ optional :snapshot_interval, Integer, api_name: :SnapshotInterval
1703
+
1704
+ # @!method initialize(election_tick: nil, heartbeat_tick: nil, keep_old_snapshots: nil, log_entries_for_slow_followers: nil, snapshot_interval: nil)
1705
+ # Some parameter documentations has been truncated, see
1706
+ # {DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::Raft} for more
1707
+ # details.
1708
+ #
1709
+ # Raft configuration.
1710
+ #
1711
+ # @param election_tick [Integer] The number of ticks that a follower will wait for a message from
1712
+ #
1713
+ # @param heartbeat_tick [Integer] The number of ticks between heartbeats. Every HeartbeatTick ticks,
1714
+ #
1715
+ # @param keep_old_snapshots [Integer] The number of snapshots to keep beyond the current snapshot.
1716
+ #
1717
+ # @param log_entries_for_slow_followers [Integer] The number of log entries to keep around to sync up slow followers
1718
+ #
1719
+ # @param snapshot_interval [Integer] The number of log entries between snapshots.
1720
+ end
1721
+
1722
+ # @see DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec#task_defaults
1723
+ class TaskDefaults < DockerEngine::Internal::Type::BaseModel
1724
+ # @!attribute log_driver
1725
+ # The log driver to use for tasks created in the orchestrator if unspecified by a
1726
+ # service.
1727
+ #
1728
+ # Updating this value only affects new tasks. Existing tasks continue to use their
1729
+ # previously configured log driver until recreated.
1730
+ #
1731
+ # @return [DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::TaskDefaults::LogDriver, nil]
1732
+ optional :log_driver,
1733
+ -> { DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::TaskDefaults::LogDriver },
1734
+ api_name: :LogDriver
1735
+
1736
+ # @!method initialize(log_driver: nil)
1737
+ # Some parameter documentations has been truncated, see
1738
+ # {DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::TaskDefaults}
1739
+ # for more details.
1740
+ #
1741
+ # Defaults for creating tasks in this cluster.
1742
+ #
1743
+ # @param log_driver [DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::TaskDefaults::LogDriver] The log driver to use for tasks created in the orchestrator if
1744
+
1745
+ # @see DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::TaskDefaults#log_driver
1746
+ class LogDriver < DockerEngine::Internal::Type::BaseModel
1747
+ # @!attribute name
1748
+ # The log driver to use as a default for new tasks.
1749
+ #
1750
+ # @return [String, nil]
1751
+ optional :name, String, api_name: :Name
1752
+
1753
+ # @!attribute options
1754
+ # Driver-specific options for the selected log driver, specified as key/value
1755
+ # pairs.
1756
+ #
1757
+ # @return [Hash{Symbol=>String}, nil]
1758
+ optional :options, DockerEngine::Internal::Type::HashOf[String], api_name: :Options
1759
+
1760
+ # @!method initialize(name: nil, options: nil)
1761
+ # Some parameter documentations has been truncated, see
1762
+ # {DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::Spec::TaskDefaults::LogDriver}
1763
+ # for more details.
1764
+ #
1765
+ # The log driver to use for tasks created in the orchestrator if unspecified by a
1766
+ # service.
1767
+ #
1768
+ # Updating this value only affects new tasks. Existing tasks continue to use their
1769
+ # previously configured log driver until recreated.
1770
+ #
1771
+ # @param name [String] The log driver to use as a default for new tasks.
1772
+ #
1773
+ # @param options [Hash{Symbol=>String}] Driver-specific options for the selected log driver, specified
1774
+ end
1775
+ end
1776
+ end
1777
+
1778
+ # @see DockerEngine::Models::SystemInfoResponse::Swarm::Cluster#tls_info
1779
+ class TlsInfo < DockerEngine::Internal::Type::BaseModel
1780
+ # @!attribute cert_issuer_public_key
1781
+ # The base64-url-safe-encoded raw public key bytes of the issuer.
1782
+ #
1783
+ # @return [String, nil]
1784
+ optional :cert_issuer_public_key, String, api_name: :CertIssuerPublicKey
1785
+
1786
+ # @!attribute cert_issuer_subject
1787
+ # The base64-url-safe-encoded raw subject bytes of the issuer.
1788
+ #
1789
+ # @return [String, nil]
1790
+ optional :cert_issuer_subject, String, api_name: :CertIssuerSubject
1791
+
1792
+ # @!attribute trust_root
1793
+ # The root CA certificate(s) that are used to validate leaf TLS certificates.
1794
+ #
1795
+ # @return [String, nil]
1796
+ optional :trust_root, String, api_name: :TrustRoot
1797
+
1798
+ # @!method initialize(cert_issuer_public_key: nil, cert_issuer_subject: nil, trust_root: nil)
1799
+ # Some parameter documentations has been truncated, see
1800
+ # {DockerEngine::Models::SystemInfoResponse::Swarm::Cluster::TlsInfo} for more
1801
+ # details.
1802
+ #
1803
+ # Information about the issuer of leaf TLS certificates and the trusted root CA
1804
+ # certificate.
1805
+ #
1806
+ # @param cert_issuer_public_key [String] The base64-url-safe-encoded raw public key bytes of the issuer.
1807
+ #
1808
+ # @param cert_issuer_subject [String] The base64-url-safe-encoded raw subject bytes of the issuer.
1809
+ #
1810
+ # @param trust_root [String] The root CA certificate(s) that are used to validate leaf TLS
1811
+ end
1812
+
1813
+ # @see DockerEngine::Models::SystemInfoResponse::Swarm::Cluster#version
1814
+ class Version < DockerEngine::Internal::Type::BaseModel
1815
+ # @!attribute index
1816
+ #
1817
+ # @return [Integer, nil]
1818
+ optional :index, Integer, api_name: :Index
1819
+
1820
+ # @!method initialize(index: nil)
1821
+ # The version number of the object such as node, service, etc. This is needed to
1822
+ # avoid conflicting writes. The client must send the version number along with the
1823
+ # modified specification when updating these objects.
1824
+ #
1825
+ # This approach ensures safe concurrency and determinism in that the change on the
1826
+ # object may not be applied if the version number has changed from the last read.
1827
+ # In other words, if two update requests specify the same base version, only one
1828
+ # of the requests can succeed. As a result, two separate update requests that
1829
+ # happen at the same time will not unintentionally overwrite each other.
1830
+ #
1831
+ # @param index [Integer]
1832
+ end
1833
+ end
1834
+
1835
+ # Current local status of this node.
1836
+ #
1837
+ # @see DockerEngine::Models::SystemInfoResponse::Swarm#local_node_state
1838
+ module LocalNodeState
1839
+ extend DockerEngine::Internal::Type::Enum
1840
+
1841
+ EMPTY = :""
1842
+ INACTIVE = :inactive
1843
+ PENDING = :pending
1844
+ ACTIVE = :active
1845
+ ERROR = :error
1846
+ LOCKED = :locked
1847
+
1848
+ # @!method self.values
1849
+ # @return [Array<Symbol>]
1850
+ end
1851
+
1852
+ class RemoteManager < DockerEngine::Internal::Type::BaseModel
1853
+ # @!attribute addr
1854
+ # IP address and ports at which this node can be reached.
1855
+ #
1856
+ # @return [String, nil]
1857
+ optional :addr, String, api_name: :Addr
1858
+
1859
+ # @!attribute node_id
1860
+ # Unique identifier of for this node in the swarm.
1861
+ #
1862
+ # @return [String, nil]
1863
+ optional :node_id, String, api_name: :NodeID
1864
+
1865
+ # @!method initialize(addr: nil, node_id: nil)
1866
+ # Some parameter documentations has been truncated, see
1867
+ # {DockerEngine::Models::SystemInfoResponse::Swarm::RemoteManager} for more
1868
+ # details.
1869
+ #
1870
+ # Represents a peer-node in the swarm
1871
+ #
1872
+ # @param addr [String] IP address and ports at which this node can be reached.
1873
+ #
1874
+ # @param node_id [String] Unique identifier of for this node in the swarm.
1875
+ end
1876
+ end
1877
+ end
1878
+ end
1879
+ end