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,2489 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DockerEngine
4
+ module Models
5
+ # @see DockerEngine::Resources::Containers#inspect_
6
+ class Container < DockerEngine::Internal::Type::BaseModel
7
+ # @!attribute app_armor_profile
8
+ # The AppArmor profile set for the container.
9
+ #
10
+ # @return [String, nil]
11
+ optional :app_armor_profile, String, api_name: :AppArmorProfile
12
+
13
+ # @!attribute args
14
+ # The arguments to the command being run
15
+ #
16
+ # @return [Array<String>, nil]
17
+ optional :args, DockerEngine::Internal::Type::ArrayOf[String], api_name: :Args
18
+
19
+ # @!attribute config
20
+ # Configuration for a container that is portable between hosts.
21
+ #
22
+ # @return [DockerEngine::Models::Config, nil]
23
+ optional :config, -> { DockerEngine::Config }, api_name: :Config
24
+
25
+ # @!attribute created
26
+ # Date and time at which the container was created, formatted in
27
+ # [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.
28
+ #
29
+ # @return [String, nil]
30
+ optional :created, String, api_name: :Created, nil?: true
31
+
32
+ # @!attribute driver
33
+ # The storage-driver used for the container's filesystem (graph-driver or
34
+ # snapshotter).
35
+ #
36
+ # @return [String, nil]
37
+ optional :driver, String, api_name: :Driver
38
+
39
+ # @!attribute exec_ids
40
+ # IDs of exec instances that are running in the container.
41
+ #
42
+ # @return [Array<String>, nil]
43
+ optional :exec_ids, DockerEngine::Internal::Type::ArrayOf[String], api_name: :ExecIDs, nil?: true
44
+
45
+ # @!attribute graph_driver
46
+ # Information about the storage driver used to store the container's and image's
47
+ # filesystem.
48
+ #
49
+ # @return [DockerEngine::Models::Container::GraphDriver, nil]
50
+ optional :graph_driver, -> { DockerEngine::Container::GraphDriver }, api_name: :GraphDriver
51
+
52
+ # @!attribute host_config
53
+ # Container configuration that depends on the host we are running on
54
+ #
55
+ # @return [DockerEngine::Models::Container::HostConfig, nil]
56
+ optional :host_config, -> { DockerEngine::Container::HostConfig }, api_name: :HostConfig
57
+
58
+ # @!attribute hostname_path
59
+ # Location of the `/etc/hostname` generated for the container on the host.
60
+ #
61
+ # This file is managed through the docker daemon, and should not be accessed or
62
+ # modified by other tools.
63
+ #
64
+ # @return [String, nil]
65
+ optional :hostname_path, String, api_name: :HostnamePath
66
+
67
+ # @!attribute hosts_path
68
+ # Location of the `/etc/hosts` generated for the container on the host.
69
+ #
70
+ # This file is managed through the docker daemon, and should not be accessed or
71
+ # modified by other tools.
72
+ #
73
+ # @return [String, nil]
74
+ optional :hosts_path, String, api_name: :HostsPath
75
+
76
+ # @!attribute id
77
+ # The ID of this container as a 128-bit (64-character) hexadecimal string (32
78
+ # bytes).
79
+ #
80
+ # @return [String, nil]
81
+ optional :id, String, api_name: :Id
82
+
83
+ # @!attribute image
84
+ # The ID (digest) of the image that this container was created from.
85
+ #
86
+ # @return [String, nil]
87
+ optional :image, String, api_name: :Image
88
+
89
+ # @!attribute image_manifest_descriptor
90
+ # A descriptor struct containing digest, media type, and size, as defined in the
91
+ # [OCI Content Descriptors Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/descriptor.md).
92
+ #
93
+ # @return [DockerEngine::Models::Container::ImageManifestDescriptor, nil]
94
+ optional :image_manifest_descriptor,
95
+ -> { DockerEngine::Container::ImageManifestDescriptor },
96
+ api_name: :ImageManifestDescriptor
97
+
98
+ # @!attribute log_path
99
+ # Location of the file used to buffer the container's logs. Depending on the
100
+ # logging-driver used for the container, this field may be omitted.
101
+ #
102
+ # This file is managed through the docker daemon, and should not be accessed or
103
+ # modified by other tools.
104
+ #
105
+ # @return [String, nil]
106
+ optional :log_path, String, api_name: :LogPath, nil?: true
107
+
108
+ # @!attribute mount_label
109
+ # SELinux mount label set for the container.
110
+ #
111
+ # @return [String, nil]
112
+ optional :mount_label, String, api_name: :MountLabel
113
+
114
+ # @!attribute mounts
115
+ # List of mounts used by the container.
116
+ #
117
+ # @return [Array<DockerEngine::Models::Container::Mount>, nil]
118
+ optional :mounts,
119
+ -> { DockerEngine::Internal::Type::ArrayOf[DockerEngine::Container::Mount] },
120
+ api_name: :Mounts
121
+
122
+ # @!attribute name
123
+ # The name associated with this container.
124
+ #
125
+ # For historic reasons, the name may be prefixed with a forward-slash (`/`).
126
+ #
127
+ # @return [String, nil]
128
+ optional :name, String, api_name: :Name
129
+
130
+ # @!attribute network_settings
131
+ # NetworkSettings exposes the network settings in the API
132
+ #
133
+ # @return [DockerEngine::Models::Container::NetworkSettings, nil]
134
+ optional :network_settings, -> { DockerEngine::Container::NetworkSettings }, api_name: :NetworkSettings
135
+
136
+ # @!attribute path
137
+ # The path to the command being run
138
+ #
139
+ # @return [String, nil]
140
+ optional :path, String, api_name: :Path
141
+
142
+ # @!attribute platform
143
+ # The platform (operating system) for which the container was created.
144
+ #
145
+ # This field was introduced for the experimental "LCOW" (Linux Containers On
146
+ # Windows) features, which has been removed. In most cases, this field is equal to
147
+ # the host's operating system (`linux` or `windows`).
148
+ #
149
+ # @return [String, nil]
150
+ optional :platform, String, api_name: :Platform
151
+
152
+ # @!attribute process_label
153
+ # SELinux process label set for the container.
154
+ #
155
+ # @return [String, nil]
156
+ optional :process_label, String, api_name: :ProcessLabel
157
+
158
+ # @!attribute resolv_conf_path
159
+ # Location of the `/etc/resolv.conf` generated for the container on the host.
160
+ #
161
+ # This file is managed through the docker daemon, and should not be accessed or
162
+ # modified by other tools.
163
+ #
164
+ # @return [String, nil]
165
+ optional :resolv_conf_path, String, api_name: :ResolvConfPath
166
+
167
+ # @!attribute restart_count
168
+ # Number of times the container was restarted since it was created, or since
169
+ # daemon was started.
170
+ #
171
+ # @return [Integer, nil]
172
+ optional :restart_count, Integer, api_name: :RestartCount
173
+
174
+ # @!attribute size_root_fs
175
+ # The total size of all files in the read-only layers from the image that the
176
+ # container uses. These layers can be shared between containers.
177
+ #
178
+ # This field is omitted by default, and only set when size is requested in the API
179
+ # request.
180
+ #
181
+ # @return [Integer, nil]
182
+ optional :size_root_fs, Integer, api_name: :SizeRootFs, nil?: true
183
+
184
+ # @!attribute size_rw
185
+ # The size of files that have been created or changed by this container.
186
+ #
187
+ # This field is omitted by default, and only set when size is requested in the API
188
+ # request.
189
+ #
190
+ # @return [Integer, nil]
191
+ optional :size_rw, Integer, api_name: :SizeRw, nil?: true
192
+
193
+ # @!attribute state
194
+ # ContainerState stores container's running state. It's part of ContainerJSONBase
195
+ # and will be returned by the "inspect" command.
196
+ #
197
+ # @return [DockerEngine::Models::Container::State, nil]
198
+ optional :state, -> { DockerEngine::Container::State }, api_name: :State, nil?: true
199
+
200
+ # @!attribute storage
201
+ # Information about the storage used by the container.
202
+ #
203
+ # @return [DockerEngine::Models::Container::Storage, nil]
204
+ optional :storage, -> { DockerEngine::Container::Storage }, api_name: :Storage
205
+
206
+ # @!method initialize(app_armor_profile: nil, args: nil, config: nil, created: nil, driver: nil, exec_ids: nil, graph_driver: nil, host_config: nil, hostname_path: nil, hosts_path: nil, id: nil, image: nil, image_manifest_descriptor: nil, log_path: nil, mount_label: nil, mounts: nil, name: nil, network_settings: nil, path: nil, platform: nil, process_label: nil, resolv_conf_path: nil, restart_count: nil, size_root_fs: nil, size_rw: nil, state: nil, storage: nil)
207
+ # Some parameter documentations has been truncated, see
208
+ # {DockerEngine::Models::Container} for more details.
209
+ #
210
+ # @param app_armor_profile [String] The AppArmor profile set for the container.
211
+ #
212
+ # @param args [Array<String>] The arguments to the command being run
213
+ #
214
+ # @param config [DockerEngine::Models::Config] Configuration for a container that is portable between hosts.
215
+ #
216
+ # @param created [String, nil] Date and time at which the container was created, formatted in
217
+ #
218
+ # @param driver [String] The storage-driver used for the container's filesystem (graph-driver
219
+ #
220
+ # @param exec_ids [Array<String>, nil] IDs of exec instances that are running in the container.
221
+ #
222
+ # @param graph_driver [DockerEngine::Models::Container::GraphDriver] Information about the storage driver used to store the container's and
223
+ #
224
+ # @param host_config [DockerEngine::Models::Container::HostConfig] Container configuration that depends on the host we are running on
225
+ #
226
+ # @param hostname_path [String] Location of the `/etc/hostname` generated for the container on the
227
+ #
228
+ # @param hosts_path [String] Location of the `/etc/hosts` generated for the container on the
229
+ #
230
+ # @param id [String] The ID of this container as a 128-bit (64-character) hexadecimal string (32 byte
231
+ #
232
+ # @param image [String] The ID (digest) of the image that this container was created from.
233
+ #
234
+ # @param image_manifest_descriptor [DockerEngine::Models::Container::ImageManifestDescriptor] A descriptor struct containing digest, media type, and size, as defined in
235
+ #
236
+ # @param log_path [String, nil] Location of the file used to buffer the container's logs. Depending on
237
+ #
238
+ # @param mount_label [String] SELinux mount label set for the container.
239
+ #
240
+ # @param mounts [Array<DockerEngine::Models::Container::Mount>] List of mounts used by the container.
241
+ #
242
+ # @param name [String] The name associated with this container.
243
+ #
244
+ # @param network_settings [DockerEngine::Models::Container::NetworkSettings] NetworkSettings exposes the network settings in the API
245
+ #
246
+ # @param path [String] The path to the command being run
247
+ #
248
+ # @param platform [String] The platform (operating system) for which the container was created.
249
+ #
250
+ # @param process_label [String] SELinux process label set for the container.
251
+ #
252
+ # @param resolv_conf_path [String] Location of the `/etc/resolv.conf` generated for the container on the
253
+ #
254
+ # @param restart_count [Integer] Number of times the container was restarted since it was created,
255
+ #
256
+ # @param size_root_fs [Integer, nil] The total size of all files in the read-only layers from the image
257
+ #
258
+ # @param size_rw [Integer, nil] The size of files that have been created or changed by this container.
259
+ #
260
+ # @param state [DockerEngine::Models::Container::State, nil] ContainerState stores container's running state. It's part of ContainerJSONBase
261
+ #
262
+ # @param storage [DockerEngine::Models::Container::Storage] Information about the storage used by the container.
263
+
264
+ # @see DockerEngine::Models::Container#graph_driver
265
+ class GraphDriver < DockerEngine::Internal::Type::BaseModel
266
+ # @!attribute data
267
+ # Low-level storage metadata, provided as key/value pairs.
268
+ #
269
+ # This information is driver-specific, and depends on the storage-driver in use,
270
+ # and should be used for informational purposes only.
271
+ #
272
+ # @return [Hash{Symbol=>String}]
273
+ required :data, DockerEngine::Internal::Type::HashOf[String], api_name: :Data
274
+
275
+ # @!attribute name
276
+ # Name of the storage driver.
277
+ #
278
+ # @return [String]
279
+ required :name, String, api_name: :Name
280
+
281
+ # @!method initialize(data:, name:)
282
+ # Some parameter documentations has been truncated, see
283
+ # {DockerEngine::Models::Container::GraphDriver} for more details.
284
+ #
285
+ # Information about the storage driver used to store the container's and image's
286
+ # filesystem.
287
+ #
288
+ # @param data [Hash{Symbol=>String}] Low-level storage metadata, provided as key/value pairs.
289
+ #
290
+ # @param name [String] Name of the storage driver.
291
+ end
292
+
293
+ # @see DockerEngine::Models::Container#host_config
294
+ class HostConfig < DockerEngine::Internal::Type::BaseModel
295
+ # @!attribute annotations
296
+ # Arbitrary non-identifying metadata attached to container and provided to the
297
+ # runtime when the container is started.
298
+ #
299
+ # @return [Hash{Symbol=>String}, nil]
300
+ optional :annotations, DockerEngine::Internal::Type::HashOf[String], api_name: :Annotations
301
+
302
+ # @!attribute auto_remove
303
+ # Automatically remove the container when the container's process exits. This has
304
+ # no effect if `RestartPolicy` is set.
305
+ #
306
+ # @return [Boolean, nil]
307
+ optional :auto_remove, DockerEngine::Internal::Type::Boolean, api_name: :AutoRemove
308
+
309
+ # @!attribute binds
310
+ # A list of volume bindings for this container. Each volume binding is a string in
311
+ # one of these forms:
312
+ #
313
+ # - `host-src:container-dest[:options]` to bind-mount a host path into the
314
+ # container. Both `host-src`, and `container-dest` must be an _absolute_ path.
315
+ # - `volume-name:container-dest[:options]` to bind-mount a volume managed by a
316
+ # volume driver into the container. `container-dest` must be an _absolute_ path.
317
+ #
318
+ # `options` is an optional, comma-delimited list of:
319
+ #
320
+ # - `nocopy` disables automatic copying of data from the container path to the
321
+ # volume. The `nocopy` flag only applies to named volumes.
322
+ # - `[ro|rw]` mounts a volume read-only or read-write, respectively. If omitted or
323
+ # set to `rw`, volumes are mounted read-write.
324
+ # - `[z|Z]` applies SELinux labels to allow or deny multiple containers to read
325
+ # and write to the same volume.
326
+ # - `z`: a _shared_ content label is applied to the content. This label
327
+ # indicates that multiple containers can share the volume content, for both
328
+ # reading and writing.
329
+ # - `Z`: a _private unshared_ label is applied to the content. This label
330
+ # indicates that only the current container can use a private volume. Labeling
331
+ # systems such as SELinux require proper labels to be placed on volume content
332
+ # that is mounted into a container. Without a label, the security system can
333
+ # prevent a container's processes from using the content. By default, the
334
+ # labels set by the host operating system are not modified.
335
+ # - `[[r]shared|[r]slave|[r]private]` specifies mount
336
+ # [propagation behavior](https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt).
337
+ # This only applies to bind-mounted volumes, not internal volumes or named
338
+ # volumes. Mount propagation requires the source mount point (the location where
339
+ # the source directory is mounted in the host operating system) to have the
340
+ # correct propagation properties. For shared volumes, the source mount point
341
+ # must be set to `shared`. For slave volumes, the mount must be set to either
342
+ # `shared` or `slave`.
343
+ #
344
+ # @return [Array<String>, nil]
345
+ optional :binds, DockerEngine::Internal::Type::ArrayOf[String], api_name: :Binds
346
+
347
+ # @!attribute blkio_device_read_bps
348
+ # Limit read rate (bytes per second) from a device, in the form:
349
+ #
350
+ # ```
351
+ # [{"Path": "device_path", "Rate": rate}]
352
+ # ```
353
+ #
354
+ # @return [Array<DockerEngine::Models::Container::HostConfig::BlkioDeviceReadBp>, nil]
355
+ optional :blkio_device_read_bps,
356
+ -> {
357
+ DockerEngine::Internal::Type::ArrayOf[DockerEngine::Container::HostConfig::BlkioDeviceReadBp]
358
+ },
359
+ api_name: :BlkioDeviceReadBps
360
+
361
+ # @!attribute blkio_device_read_i_ops
362
+ # Limit read rate (IO per second) from a device, in the form:
363
+ #
364
+ # ```
365
+ # [{"Path": "device_path", "Rate": rate}]
366
+ # ```
367
+ #
368
+ # @return [Array<DockerEngine::Models::Container::HostConfig::BlkioDeviceReadIOp>, nil]
369
+ optional :blkio_device_read_i_ops,
370
+ -> {
371
+ DockerEngine::Internal::Type::ArrayOf[DockerEngine::Container::HostConfig::BlkioDeviceReadIOp]
372
+ },
373
+ api_name: :BlkioDeviceReadIOps
374
+
375
+ # @!attribute blkio_device_write_bps
376
+ # Limit write rate (bytes per second) to a device, in the form:
377
+ #
378
+ # ```
379
+ # [{"Path": "device_path", "Rate": rate}]
380
+ # ```
381
+ #
382
+ # @return [Array<DockerEngine::Models::Container::HostConfig::BlkioDeviceWriteBp>, nil]
383
+ optional :blkio_device_write_bps,
384
+ -> {
385
+ DockerEngine::Internal::Type::ArrayOf[DockerEngine::Container::HostConfig::BlkioDeviceWriteBp]
386
+ },
387
+ api_name: :BlkioDeviceWriteBps
388
+
389
+ # @!attribute blkio_device_write_i_ops
390
+ # Limit write rate (IO per second) to a device, in the form:
391
+ #
392
+ # ```
393
+ # [{"Path": "device_path", "Rate": rate}]
394
+ # ```
395
+ #
396
+ # @return [Array<DockerEngine::Models::Container::HostConfig::BlkioDeviceWriteIOp>, nil]
397
+ optional :blkio_device_write_i_ops,
398
+ -> {
399
+ DockerEngine::Internal::Type::ArrayOf[DockerEngine::Container::HostConfig::BlkioDeviceWriteIOp]
400
+ },
401
+ api_name: :BlkioDeviceWriteIOps
402
+
403
+ # @!attribute blkio_weight
404
+ # Block IO weight (relative weight).
405
+ #
406
+ # @return [Integer, nil]
407
+ optional :blkio_weight, Integer, api_name: :BlkioWeight
408
+
409
+ # @!attribute blkio_weight_device
410
+ # Block IO weight (relative device weight) in the form:
411
+ #
412
+ # ```
413
+ # [{"Path": "device_path", "Weight": weight}]
414
+ # ```
415
+ #
416
+ # @return [Array<DockerEngine::Models::Container::HostConfig::BlkioWeightDevice>, nil]
417
+ optional :blkio_weight_device,
418
+ -> {
419
+ DockerEngine::Internal::Type::ArrayOf[DockerEngine::Container::HostConfig::BlkioWeightDevice]
420
+ },
421
+ api_name: :BlkioWeightDevice
422
+
423
+ # @!attribute cap_add
424
+ # A list of kernel capabilities to add to the container. Conflicts with option
425
+ # 'Capabilities'.
426
+ #
427
+ # @return [Array<String>, nil]
428
+ optional :cap_add, DockerEngine::Internal::Type::ArrayOf[String], api_name: :CapAdd
429
+
430
+ # @!attribute cap_drop
431
+ # A list of kernel capabilities to drop from the container. Conflicts with option
432
+ # 'Capabilities'.
433
+ #
434
+ # @return [Array<String>, nil]
435
+ optional :cap_drop, DockerEngine::Internal::Type::ArrayOf[String], api_name: :CapDrop
436
+
437
+ # @!attribute cgroup
438
+ # Cgroup to use for the container.
439
+ #
440
+ # @return [String, nil]
441
+ optional :cgroup, String, api_name: :Cgroup
442
+
443
+ # @!attribute cgroupns_mode
444
+ # cgroup namespace mode for the container. Possible values are:
445
+ #
446
+ # - `"private"`: the container runs in its own private cgroup namespace
447
+ # - `"host"`: use the host system's cgroup namespace
448
+ #
449
+ # If not specified, the daemon default is used, which can either be `"private"` or
450
+ # `"host"`, depending on daemon version, kernel support and configuration.
451
+ #
452
+ # @return [Symbol, DockerEngine::Models::Container::HostConfig::CgroupnsMode, nil]
453
+ optional :cgroupns_mode,
454
+ enum: -> { DockerEngine::Container::HostConfig::CgroupnsMode },
455
+ api_name: :CgroupnsMode
456
+
457
+ # @!attribute cgroup_parent
458
+ # Path to `cgroups` under which the container's `cgroup` is created. If the path
459
+ # is not absolute, the path is considered to be relative to the `cgroups` path of
460
+ # the init process. Cgroups are created if they do not already exist.
461
+ #
462
+ # @return [String, nil]
463
+ optional :cgroup_parent, String, api_name: :CgroupParent
464
+
465
+ # @!attribute console_size
466
+ # Initial console size, as an `[height, width]` array.
467
+ #
468
+ # @return [Array<Integer>, nil]
469
+ optional :console_size,
470
+ DockerEngine::Internal::Type::ArrayOf[Integer],
471
+ api_name: :ConsoleSize,
472
+ nil?: true
473
+
474
+ # @!attribute container_id_file
475
+ # Path to a file where the container ID is written
476
+ #
477
+ # @return [String, nil]
478
+ optional :container_id_file, String, api_name: :ContainerIDFile
479
+
480
+ # @!attribute cpu_count
481
+ # The number of usable CPUs (Windows only).
482
+ #
483
+ # On Windows Server containers, the processor resource controls are mutually
484
+ # exclusive. The order of precedence is `CPUCount` first, then `CPUShares`, and
485
+ # `CPUPercent` last.
486
+ #
487
+ # @return [Integer, nil]
488
+ optional :cpu_count, Integer, api_name: :CpuCount
489
+
490
+ # @!attribute cpu_percent
491
+ # The usable percentage of the available CPUs (Windows only).
492
+ #
493
+ # On Windows Server containers, the processor resource controls are mutually
494
+ # exclusive. The order of precedence is `CPUCount` first, then `CPUShares`, and
495
+ # `CPUPercent` last.
496
+ #
497
+ # @return [Integer, nil]
498
+ optional :cpu_percent, Integer, api_name: :CpuPercent
499
+
500
+ # @!attribute cpu_period
501
+ # The length of a CPU period in microseconds.
502
+ #
503
+ # @return [Integer, nil]
504
+ optional :cpu_period, Integer, api_name: :CpuPeriod
505
+
506
+ # @!attribute cpu_quota
507
+ # Microseconds of CPU time that the container can get in a CPU period.
508
+ #
509
+ # @return [Integer, nil]
510
+ optional :cpu_quota, Integer, api_name: :CpuQuota
511
+
512
+ # @!attribute cpu_realtime_period
513
+ # The length of a CPU real-time period in microseconds. Set to 0 to allocate no
514
+ # time allocated to real-time tasks.
515
+ #
516
+ # @return [Integer, nil]
517
+ optional :cpu_realtime_period, Integer, api_name: :CpuRealtimePeriod
518
+
519
+ # @!attribute cpu_realtime_runtime
520
+ # The length of a CPU real-time runtime in microseconds. Set to 0 to allocate no
521
+ # time allocated to real-time tasks.
522
+ #
523
+ # @return [Integer, nil]
524
+ optional :cpu_realtime_runtime, Integer, api_name: :CpuRealtimeRuntime
525
+
526
+ # @!attribute cpuset_cpus
527
+ # CPUs in which to allow execution (e.g., `0-3`, `0,1`).
528
+ #
529
+ # @return [String, nil]
530
+ optional :cpuset_cpus, String, api_name: :CpusetCpus
531
+
532
+ # @!attribute cpuset_mems
533
+ # Memory nodes (MEMs) in which to allow execution (0-3, 0,1). Only effective on
534
+ # NUMA systems.
535
+ #
536
+ # @return [String, nil]
537
+ optional :cpuset_mems, String, api_name: :CpusetMems
538
+
539
+ # @!attribute cpu_shares
540
+ # An integer value representing this container's relative CPU weight versus other
541
+ # containers.
542
+ #
543
+ # @return [Integer, nil]
544
+ optional :cpu_shares, Integer, api_name: :CpuShares
545
+
546
+ # @!attribute device_cgroup_rules
547
+ # a list of cgroup rules to apply to the container
548
+ #
549
+ # @return [Array<String>, nil]
550
+ optional :device_cgroup_rules,
551
+ DockerEngine::Internal::Type::ArrayOf[String],
552
+ api_name: :DeviceCgroupRules
553
+
554
+ # @!attribute device_requests
555
+ # A list of requests for devices to be sent to device drivers.
556
+ #
557
+ # @return [Array<DockerEngine::Models::Container::HostConfig::DeviceRequest>, nil]
558
+ optional :device_requests,
559
+ -> {
560
+ DockerEngine::Internal::Type::ArrayOf[DockerEngine::Container::HostConfig::DeviceRequest]
561
+ },
562
+ api_name: :DeviceRequests
563
+
564
+ # @!attribute devices
565
+ # A list of devices to add to the container.
566
+ #
567
+ # @return [Array<DockerEngine::Models::Container::HostConfig::Device>, nil]
568
+ optional :devices,
569
+ -> { DockerEngine::Internal::Type::ArrayOf[DockerEngine::Container::HostConfig::Device] },
570
+ api_name: :Devices
571
+
572
+ # @!attribute dns
573
+ # A list of DNS servers for the container to use.
574
+ #
575
+ # @return [Array<String>, nil]
576
+ optional :dns, DockerEngine::Internal::Type::ArrayOf[String], api_name: :Dns
577
+
578
+ # @!attribute dns_options
579
+ # A list of DNS options.
580
+ #
581
+ # @return [Array<String>, nil]
582
+ optional :dns_options, DockerEngine::Internal::Type::ArrayOf[String], api_name: :DnsOptions
583
+
584
+ # @!attribute dns_search
585
+ # A list of DNS search domains.
586
+ #
587
+ # @return [Array<String>, nil]
588
+ optional :dns_search, DockerEngine::Internal::Type::ArrayOf[String], api_name: :DnsSearch
589
+
590
+ # @!attribute extra_hosts
591
+ # A list of hostnames/IP mappings to add to the container's `/etc/hosts` file.
592
+ # Specified in the form `["hostname:IP"]`.
593
+ #
594
+ # @return [Array<String>, nil]
595
+ optional :extra_hosts, DockerEngine::Internal::Type::ArrayOf[String], api_name: :ExtraHosts
596
+
597
+ # @!attribute group_add
598
+ # A list of additional groups that the container process will run as.
599
+ #
600
+ # @return [Array<String>, nil]
601
+ optional :group_add, DockerEngine::Internal::Type::ArrayOf[String], api_name: :GroupAdd
602
+
603
+ # @!attribute init
604
+ # Run an init inside the container that forwards signals and reaps processes. This
605
+ # field is omitted if empty, and the default (as configured on the daemon) is
606
+ # used.
607
+ #
608
+ # @return [Boolean, nil]
609
+ optional :init, DockerEngine::Internal::Type::Boolean, api_name: :Init, nil?: true
610
+
611
+ # @!attribute io_maximum_bandwidth
612
+ # Maximum IO in bytes per second for the container system drive (Windows only).
613
+ #
614
+ # @return [Integer, nil]
615
+ optional :io_maximum_bandwidth, Integer, api_name: :IOMaximumBandwidth
616
+
617
+ # @!attribute io_maximum_i_ops
618
+ # Maximum IOps for the container system drive (Windows only)
619
+ #
620
+ # @return [Integer, nil]
621
+ optional :io_maximum_i_ops, Integer, api_name: :IOMaximumIOps
622
+
623
+ # @!attribute ipc_mode
624
+ # IPC sharing mode for the container. Possible values are:
625
+ #
626
+ # - `"none"`: own private IPC namespace, with /dev/shm not mounted
627
+ # - `"private"`: own private IPC namespace
628
+ # - `"shareable"`: own private IPC namespace, with a possibility to share it with
629
+ # other containers
630
+ # - `"container:<name|id>"`: join another (shareable) container's IPC namespace
631
+ # - `"host"`: use the host system's IPC namespace
632
+ #
633
+ # If not specified, daemon default is used, which can either be `"private"` or
634
+ # `"shareable"`, depending on daemon version and configuration.
635
+ #
636
+ # @return [String, nil]
637
+ optional :ipc_mode, String, api_name: :IpcMode
638
+
639
+ # @!attribute isolation
640
+ # Isolation technology of the container. (Windows only)
641
+ #
642
+ # @return [Symbol, DockerEngine::Models::Container::HostConfig::Isolation, nil]
643
+ optional :isolation, enum: -> { DockerEngine::Container::HostConfig::Isolation }, api_name: :Isolation
644
+
645
+ # @!attribute links
646
+ # A list of links for the container in the form `container_name:alias`.
647
+ #
648
+ # @return [Array<String>, nil]
649
+ optional :links, DockerEngine::Internal::Type::ArrayOf[String], api_name: :Links
650
+
651
+ # @!attribute log_config
652
+ # The logging configuration for this container
653
+ #
654
+ # @return [DockerEngine::Models::Container::HostConfig::LogConfig, nil]
655
+ optional :log_config, -> { DockerEngine::Container::HostConfig::LogConfig }, api_name: :LogConfig
656
+
657
+ # @!attribute masked_paths
658
+ # The list of paths to be masked inside the container (this overrides the default
659
+ # set of paths).
660
+ #
661
+ # @return [Array<String>, nil]
662
+ optional :masked_paths, DockerEngine::Internal::Type::ArrayOf[String], api_name: :MaskedPaths
663
+
664
+ # @!attribute memory
665
+ # Memory limit in bytes.
666
+ #
667
+ # @return [Integer, nil]
668
+ optional :memory, Integer, api_name: :Memory
669
+
670
+ # @!attribute memory_reservation
671
+ # Memory soft limit in bytes.
672
+ #
673
+ # @return [Integer, nil]
674
+ optional :memory_reservation, Integer, api_name: :MemoryReservation
675
+
676
+ # @!attribute memory_swap
677
+ # Total memory limit (memory + swap). Set as `-1` to enable unlimited swap.
678
+ #
679
+ # @return [Integer, nil]
680
+ optional :memory_swap, Integer, api_name: :MemorySwap
681
+
682
+ # @!attribute memory_swappiness
683
+ # Tune a container's memory swappiness behavior. Accepts an integer between 0
684
+ # and 100.
685
+ #
686
+ # @return [Integer, nil]
687
+ optional :memory_swappiness, Integer, api_name: :MemorySwappiness
688
+
689
+ # @!attribute mounts
690
+ # Specification for mounts to be added to the container.
691
+ #
692
+ # @return [Array<DockerEngine::Models::Container::HostConfig::Mount>, nil]
693
+ optional :mounts,
694
+ -> { DockerEngine::Internal::Type::ArrayOf[DockerEngine::Container::HostConfig::Mount] },
695
+ api_name: :Mounts
696
+
697
+ # @!attribute nano_cpus
698
+ # CPU quota in units of 10<sup>-9</sup> CPUs.
699
+ #
700
+ # @return [Integer, nil]
701
+ optional :nano_cpus, Integer, api_name: :NanoCpus
702
+
703
+ # @!attribute network_mode
704
+ # Network mode to use for this container. Supported standard values are: `bridge`,
705
+ # `host`, `none`, and `container:<name|id>`. Any other value is taken as a custom
706
+ # network's name to which this container should connect to.
707
+ #
708
+ # @return [String, nil]
709
+ optional :network_mode, String, api_name: :NetworkMode
710
+
711
+ # @!attribute oom_kill_disable
712
+ # Disable OOM Killer for the container.
713
+ #
714
+ # @return [Boolean, nil]
715
+ optional :oom_kill_disable, DockerEngine::Internal::Type::Boolean, api_name: :OomKillDisable
716
+
717
+ # @!attribute oom_score_adj
718
+ # An integer value containing the score given to the container in order to tune
719
+ # OOM killer preferences.
720
+ #
721
+ # @return [Integer, nil]
722
+ optional :oom_score_adj, Integer, api_name: :OomScoreAdj
723
+
724
+ # @!attribute pid_mode
725
+ # Set the PID (Process) Namespace mode for the container. It can be either:
726
+ #
727
+ # - `"container:<name|id>"`: joins another container's PID namespace
728
+ # - `"host"`: use the host's PID namespace inside the container
729
+ #
730
+ # @return [String, nil]
731
+ optional :pid_mode, String, api_name: :PidMode
732
+
733
+ # @!attribute pids_limit
734
+ # Tune a container's PIDs limit. Set `0` or `-1` for unlimited, or `null` to not
735
+ # change.
736
+ #
737
+ # @return [Integer, nil]
738
+ optional :pids_limit, Integer, api_name: :PidsLimit, nil?: true
739
+
740
+ # @!attribute port_bindings
741
+ # PortMap describes the mapping of container ports to host ports, using the
742
+ # container's port-number and protocol as key in the format `<port>/<protocol>`,
743
+ # for example, `80/udp`.
744
+ #
745
+ # If a container's port is mapped for multiple protocols, separate entries are
746
+ # added to the mapping table.
747
+ #
748
+ # @return [Hash{Symbol=>Array<DockerEngine::Models::Container::HostConfig::PortBinding>}, nil]
749
+ optional :port_bindings,
750
+ -> {
751
+ DockerEngine::Internal::Type::HashOf[DockerEngine::Internal::Type::ArrayOf[DockerEngine::Container::HostConfig::PortBinding]]
752
+ },
753
+ api_name: :PortBindings
754
+
755
+ # @!attribute privileged
756
+ # Gives the container full access to the host.
757
+ #
758
+ # @return [Boolean, nil]
759
+ optional :privileged, DockerEngine::Internal::Type::Boolean, api_name: :Privileged
760
+
761
+ # @!attribute publish_all_ports
762
+ # Allocates an ephemeral host port for all of a container's exposed ports.
763
+ #
764
+ # Ports are de-allocated when the container stops and allocated when the container
765
+ # starts. The allocated port might be changed when restarting the container.
766
+ #
767
+ # The port is selected from the ephemeral port range that depends on the kernel.
768
+ # For example, on Linux the range is defined by
769
+ # `/proc/sys/net/ipv4/ip_local_port_range`.
770
+ #
771
+ # @return [Boolean, nil]
772
+ optional :publish_all_ports, DockerEngine::Internal::Type::Boolean, api_name: :PublishAllPorts
773
+
774
+ # @!attribute readonly_paths
775
+ # The list of paths to be set as read-only inside the container (this overrides
776
+ # the default set of paths).
777
+ #
778
+ # @return [Array<String>, nil]
779
+ optional :readonly_paths, DockerEngine::Internal::Type::ArrayOf[String], api_name: :ReadonlyPaths
780
+
781
+ # @!attribute readonly_rootfs
782
+ # Mount the container's root filesystem as read only.
783
+ #
784
+ # @return [Boolean, nil]
785
+ optional :readonly_rootfs, DockerEngine::Internal::Type::Boolean, api_name: :ReadonlyRootfs
786
+
787
+ # @!attribute restart_policy
788
+ # The behavior to apply when the container exits. The default is not to restart.
789
+ #
790
+ # An ever increasing delay (double the previous delay, starting at 100ms) is added
791
+ # before each restart to prevent flooding the server.
792
+ #
793
+ # @return [DockerEngine::Models::Container::HostConfig::RestartPolicy, nil]
794
+ optional :restart_policy,
795
+ -> { DockerEngine::Container::HostConfig::RestartPolicy },
796
+ api_name: :RestartPolicy
797
+
798
+ # @!attribute runtime
799
+ # Runtime to use with this container.
800
+ #
801
+ # @return [String, nil]
802
+ optional :runtime, String, api_name: :Runtime, nil?: true
803
+
804
+ # @!attribute security_opt
805
+ # A list of string values to customize labels for MLS systems, such as SELinux.
806
+ #
807
+ # @return [Array<String>, nil]
808
+ optional :security_opt, DockerEngine::Internal::Type::ArrayOf[String], api_name: :SecurityOpt
809
+
810
+ # @!attribute shm_size
811
+ # Size of `/dev/shm` in bytes. If omitted, the system uses 64MB.
812
+ #
813
+ # @return [Integer, nil]
814
+ optional :shm_size, Integer, api_name: :ShmSize
815
+
816
+ # @!attribute storage_opt
817
+ # Storage driver options for this container, in the form `{"size": "120G"}`.
818
+ #
819
+ # @return [Hash{Symbol=>String}, nil]
820
+ optional :storage_opt, DockerEngine::Internal::Type::HashOf[String], api_name: :StorageOpt
821
+
822
+ # @!attribute sysctls
823
+ # A list of kernel parameters (sysctls) to set in the container.
824
+ #
825
+ # This field is omitted if not set.
826
+ #
827
+ # @return [Hash{Symbol=>String}, nil]
828
+ optional :sysctls, DockerEngine::Internal::Type::HashOf[String], api_name: :Sysctls, nil?: true
829
+
830
+ # @!attribute tmpfs
831
+ # A map of container directories which should be replaced by tmpfs mounts, and
832
+ # their corresponding mount options. For example:
833
+ #
834
+ # ```
835
+ # { "/run": "rw,noexec,nosuid,size=65536k" }
836
+ # ```
837
+ #
838
+ # @return [Hash{Symbol=>String}, nil]
839
+ optional :tmpfs, DockerEngine::Internal::Type::HashOf[String], api_name: :Tmpfs
840
+
841
+ # @!attribute ulimits
842
+ # A list of resource limits to set in the container. For example:
843
+ #
844
+ # ```
845
+ # {"Name": "nofile", "Soft": 1024, "Hard": 2048}
846
+ # ```
847
+ #
848
+ # @return [Array<DockerEngine::Models::Container::HostConfig::Ulimit>, nil]
849
+ optional :ulimits,
850
+ -> { DockerEngine::Internal::Type::ArrayOf[DockerEngine::Container::HostConfig::Ulimit] },
851
+ api_name: :Ulimits
852
+
853
+ # @!attribute userns_mode
854
+ # Sets the usernamespace mode for the container when usernamespace remapping
855
+ # option is enabled.
856
+ #
857
+ # @return [String, nil]
858
+ optional :userns_mode, String, api_name: :UsernsMode
859
+
860
+ # @!attribute uts_mode
861
+ # UTS namespace to use for the container.
862
+ #
863
+ # @return [String, nil]
864
+ optional :uts_mode, String, api_name: :UTSMode
865
+
866
+ # @!attribute volume_driver
867
+ # Driver that this container uses to mount volumes.
868
+ #
869
+ # @return [String, nil]
870
+ optional :volume_driver, String, api_name: :VolumeDriver
871
+
872
+ # @!attribute volumes_from
873
+ # A list of volumes to inherit from another container, specified in the form
874
+ # `<container name>[:<ro|rw>]`.
875
+ #
876
+ # @return [Array<String>, nil]
877
+ optional :volumes_from, DockerEngine::Internal::Type::ArrayOf[String], api_name: :VolumesFrom
878
+
879
+ # @!method initialize(annotations: nil, auto_remove: nil, binds: nil, blkio_device_read_bps: nil, blkio_device_read_i_ops: nil, blkio_device_write_bps: nil, blkio_device_write_i_ops: nil, blkio_weight: nil, blkio_weight_device: nil, cap_add: nil, cap_drop: nil, cgroup: nil, cgroupns_mode: nil, cgroup_parent: nil, console_size: nil, container_id_file: nil, cpu_count: nil, cpu_percent: nil, cpu_period: nil, cpu_quota: nil, cpu_realtime_period: nil, cpu_realtime_runtime: nil, cpuset_cpus: nil, cpuset_mems: nil, cpu_shares: nil, device_cgroup_rules: nil, device_requests: nil, devices: nil, dns: nil, dns_options: nil, dns_search: nil, extra_hosts: nil, group_add: nil, init: nil, io_maximum_bandwidth: nil, io_maximum_i_ops: nil, ipc_mode: nil, isolation: nil, links: nil, log_config: nil, masked_paths: nil, memory: nil, memory_reservation: nil, memory_swap: nil, memory_swappiness: nil, mounts: nil, nano_cpus: nil, network_mode: nil, oom_kill_disable: nil, oom_score_adj: nil, pid_mode: nil, pids_limit: nil, port_bindings: nil, privileged: nil, publish_all_ports: nil, readonly_paths: nil, readonly_rootfs: nil, restart_policy: nil, runtime: nil, security_opt: nil, shm_size: nil, storage_opt: nil, sysctls: nil, tmpfs: nil, ulimits: nil, userns_mode: nil, uts_mode: nil, volume_driver: nil, volumes_from: nil)
880
+ # Some parameter documentations has been truncated, see
881
+ # {DockerEngine::Models::Container::HostConfig} for more details.
882
+ #
883
+ # Container configuration that depends on the host we are running on
884
+ #
885
+ # @param annotations [Hash{Symbol=>String}] Arbitrary non-identifying metadata attached to container and
886
+ #
887
+ # @param auto_remove [Boolean] Automatically remove the container when the container's process
888
+ #
889
+ # @param binds [Array<String>] A list of volume bindings for this container. Each volume binding
890
+ #
891
+ # @param blkio_device_read_bps [Array<DockerEngine::Models::Container::HostConfig::BlkioDeviceReadBp>] Limit read rate (bytes per second) from a device, in the form:
892
+ #
893
+ # @param blkio_device_read_i_ops [Array<DockerEngine::Models::Container::HostConfig::BlkioDeviceReadIOp>] Limit read rate (IO per second) from a device, in the form:
894
+ #
895
+ # @param blkio_device_write_bps [Array<DockerEngine::Models::Container::HostConfig::BlkioDeviceWriteBp>] Limit write rate (bytes per second) to a device, in the form:
896
+ #
897
+ # @param blkio_device_write_i_ops [Array<DockerEngine::Models::Container::HostConfig::BlkioDeviceWriteIOp>] Limit write rate (IO per second) to a device, in the form:
898
+ #
899
+ # @param blkio_weight [Integer] Block IO weight (relative weight).
900
+ #
901
+ # @param blkio_weight_device [Array<DockerEngine::Models::Container::HostConfig::BlkioWeightDevice>] Block IO weight (relative device weight) in the form:
902
+ #
903
+ # @param cap_add [Array<String>] A list of kernel capabilities to add to the container. Conflicts
904
+ #
905
+ # @param cap_drop [Array<String>] A list of kernel capabilities to drop from the container. Conflicts
906
+ #
907
+ # @param cgroup [String] Cgroup to use for the container.
908
+ #
909
+ # @param cgroupns_mode [Symbol, DockerEngine::Models::Container::HostConfig::CgroupnsMode] cgroup namespace mode for the container. Possible values are:
910
+ #
911
+ # @param cgroup_parent [String] Path to `cgroups` under which the container's `cgroup` is created. If
912
+ #
913
+ # @param console_size [Array<Integer>, nil] Initial console size, as an `[height, width]` array.
914
+ #
915
+ # @param container_id_file [String] Path to a file where the container ID is written
916
+ #
917
+ # @param cpu_count [Integer] The number of usable CPUs (Windows only).
918
+ #
919
+ # @param cpu_percent [Integer] The usable percentage of the available CPUs (Windows only).
920
+ #
921
+ # @param cpu_period [Integer] The length of a CPU period in microseconds.
922
+ #
923
+ # @param cpu_quota [Integer] Microseconds of CPU time that the container can get in a CPU period.
924
+ #
925
+ # @param cpu_realtime_period [Integer] The length of a CPU real-time period in microseconds. Set to 0 to
926
+ #
927
+ # @param cpu_realtime_runtime [Integer] The length of a CPU real-time runtime in microseconds. Set to 0 to
928
+ #
929
+ # @param cpuset_cpus [String] CPUs in which to allow execution (e.g., `0-3`, `0,1`).
930
+ #
931
+ # @param cpuset_mems [String] Memory nodes (MEMs) in which to allow execution (0-3, 0,1). Only
932
+ #
933
+ # @param cpu_shares [Integer] An integer value representing this container's relative CPU weight
934
+ #
935
+ # @param device_cgroup_rules [Array<String>] a list of cgroup rules to apply to the container
936
+ #
937
+ # @param device_requests [Array<DockerEngine::Models::Container::HostConfig::DeviceRequest>] A list of requests for devices to be sent to device drivers.
938
+ #
939
+ # @param devices [Array<DockerEngine::Models::Container::HostConfig::Device>] A list of devices to add to the container.
940
+ #
941
+ # @param dns [Array<String>] A list of DNS servers for the container to use.
942
+ #
943
+ # @param dns_options [Array<String>] A list of DNS options.
944
+ #
945
+ # @param dns_search [Array<String>] A list of DNS search domains.
946
+ #
947
+ # @param extra_hosts [Array<String>] A list of hostnames/IP mappings to add to the container's `/etc/hosts`
948
+ #
949
+ # @param group_add [Array<String>] A list of additional groups that the container process will run as.
950
+ #
951
+ # @param init [Boolean, nil] Run an init inside the container that forwards signals and reaps
952
+ #
953
+ # @param io_maximum_bandwidth [Integer] Maximum IO in bytes per second for the container system drive
954
+ #
955
+ # @param io_maximum_i_ops [Integer] Maximum IOps for the container system drive (Windows only)
956
+ #
957
+ # @param ipc_mode [String] IPC sharing mode for the container. Possible values are:
958
+ #
959
+ # @param isolation [Symbol, DockerEngine::Models::Container::HostConfig::Isolation] Isolation technology of the container. (Windows only)
960
+ #
961
+ # @param links [Array<String>] A list of links for the container in the form `container_name:alias`.
962
+ #
963
+ # @param log_config [DockerEngine::Models::Container::HostConfig::LogConfig] The logging configuration for this container
964
+ #
965
+ # @param masked_paths [Array<String>] The list of paths to be masked inside the container (this overrides
966
+ #
967
+ # @param memory [Integer] Memory limit in bytes.
968
+ #
969
+ # @param memory_reservation [Integer] Memory soft limit in bytes.
970
+ #
971
+ # @param memory_swap [Integer] Total memory limit (memory + swap). Set as `-1` to enable unlimited
972
+ #
973
+ # @param memory_swappiness [Integer] Tune a container's memory swappiness behavior. Accepts an integer
974
+ #
975
+ # @param mounts [Array<DockerEngine::Models::Container::HostConfig::Mount>] Specification for mounts to be added to the container.
976
+ #
977
+ # @param nano_cpus [Integer] CPU quota in units of 10<sup>-9</sup> CPUs.
978
+ #
979
+ # @param network_mode [String] Network mode to use for this container. Supported standard values
980
+ #
981
+ # @param oom_kill_disable [Boolean] Disable OOM Killer for the container.
982
+ #
983
+ # @param oom_score_adj [Integer] An integer value containing the score given to the container in
984
+ #
985
+ # @param pid_mode [String] Set the PID (Process) Namespace mode for the container. It can be
986
+ #
987
+ # @param pids_limit [Integer, nil] Tune a container's PIDs limit. Set `0` or `-1` for unlimited, or `null`
988
+ #
989
+ # @param port_bindings [Hash{Symbol=>Array<DockerEngine::Models::Container::HostConfig::PortBinding>}] PortMap describes the mapping of container ports to host ports, using the
990
+ #
991
+ # @param privileged [Boolean] Gives the container full access to the host.
992
+ #
993
+ # @param publish_all_ports [Boolean] Allocates an ephemeral host port for all of a container's
994
+ #
995
+ # @param readonly_paths [Array<String>] The list of paths to be set as read-only inside the container
996
+ #
997
+ # @param readonly_rootfs [Boolean] Mount the container's root filesystem as read only.
998
+ #
999
+ # @param restart_policy [DockerEngine::Models::Container::HostConfig::RestartPolicy] The behavior to apply when the container exits. The default is not to
1000
+ #
1001
+ # @param runtime [String, nil] Runtime to use with this container.
1002
+ #
1003
+ # @param security_opt [Array<String>] A list of string values to customize labels for MLS systems, such
1004
+ #
1005
+ # @param shm_size [Integer] Size of `/dev/shm` in bytes. If omitted, the system uses 64MB.
1006
+ #
1007
+ # @param storage_opt [Hash{Symbol=>String}] Storage driver options for this container, in the form `{"size": "120G"}`.
1008
+ #
1009
+ # @param sysctls [Hash{Symbol=>String}, nil] A list of kernel parameters (sysctls) to set in the container.
1010
+ #
1011
+ # @param tmpfs [Hash{Symbol=>String}] A map of container directories which should be replaced by tmpfs
1012
+ #
1013
+ # @param ulimits [Array<DockerEngine::Models::Container::HostConfig::Ulimit>] A list of resource limits to set in the container. For example:
1014
+ #
1015
+ # @param userns_mode [String] Sets the usernamespace mode for the container when usernamespace
1016
+ #
1017
+ # @param uts_mode [String] UTS namespace to use for the container.
1018
+ #
1019
+ # @param volume_driver [String] Driver that this container uses to mount volumes.
1020
+ #
1021
+ # @param volumes_from [Array<String>] A list of volumes to inherit from another container, specified in
1022
+
1023
+ class BlkioDeviceReadBp < DockerEngine::Internal::Type::BaseModel
1024
+ # @!attribute path
1025
+ # Device path
1026
+ #
1027
+ # @return [String, nil]
1028
+ optional :path, String, api_name: :Path
1029
+
1030
+ # @!attribute rate
1031
+ # Rate
1032
+ #
1033
+ # @return [Integer, nil]
1034
+ optional :rate, Integer, api_name: :Rate
1035
+
1036
+ # @!method initialize(path: nil, rate: nil)
1037
+ # @param path [String] Device path
1038
+ #
1039
+ # @param rate [Integer] Rate
1040
+ end
1041
+
1042
+ class BlkioDeviceReadIOp < DockerEngine::Internal::Type::BaseModel
1043
+ # @!attribute path
1044
+ # Device path
1045
+ #
1046
+ # @return [String, nil]
1047
+ optional :path, String, api_name: :Path
1048
+
1049
+ # @!attribute rate
1050
+ # Rate
1051
+ #
1052
+ # @return [Integer, nil]
1053
+ optional :rate, Integer, api_name: :Rate
1054
+
1055
+ # @!method initialize(path: nil, rate: nil)
1056
+ # @param path [String] Device path
1057
+ #
1058
+ # @param rate [Integer] Rate
1059
+ end
1060
+
1061
+ class BlkioDeviceWriteBp < DockerEngine::Internal::Type::BaseModel
1062
+ # @!attribute path
1063
+ # Device path
1064
+ #
1065
+ # @return [String, nil]
1066
+ optional :path, String, api_name: :Path
1067
+
1068
+ # @!attribute rate
1069
+ # Rate
1070
+ #
1071
+ # @return [Integer, nil]
1072
+ optional :rate, Integer, api_name: :Rate
1073
+
1074
+ # @!method initialize(path: nil, rate: nil)
1075
+ # @param path [String] Device path
1076
+ #
1077
+ # @param rate [Integer] Rate
1078
+ end
1079
+
1080
+ class BlkioDeviceWriteIOp < DockerEngine::Internal::Type::BaseModel
1081
+ # @!attribute path
1082
+ # Device path
1083
+ #
1084
+ # @return [String, nil]
1085
+ optional :path, String, api_name: :Path
1086
+
1087
+ # @!attribute rate
1088
+ # Rate
1089
+ #
1090
+ # @return [Integer, nil]
1091
+ optional :rate, Integer, api_name: :Rate
1092
+
1093
+ # @!method initialize(path: nil, rate: nil)
1094
+ # @param path [String] Device path
1095
+ #
1096
+ # @param rate [Integer] Rate
1097
+ end
1098
+
1099
+ class BlkioWeightDevice < DockerEngine::Internal::Type::BaseModel
1100
+ # @!attribute path
1101
+ #
1102
+ # @return [String, nil]
1103
+ optional :path, String, api_name: :Path
1104
+
1105
+ # @!attribute weight
1106
+ #
1107
+ # @return [Integer, nil]
1108
+ optional :weight, Integer, api_name: :Weight
1109
+
1110
+ # @!method initialize(path: nil, weight: nil)
1111
+ # @param path [String]
1112
+ # @param weight [Integer]
1113
+ end
1114
+
1115
+ # cgroup namespace mode for the container. Possible values are:
1116
+ #
1117
+ # - `"private"`: the container runs in its own private cgroup namespace
1118
+ # - `"host"`: use the host system's cgroup namespace
1119
+ #
1120
+ # If not specified, the daemon default is used, which can either be `"private"` or
1121
+ # `"host"`, depending on daemon version, kernel support and configuration.
1122
+ #
1123
+ # @see DockerEngine::Models::Container::HostConfig#cgroupns_mode
1124
+ module CgroupnsMode
1125
+ extend DockerEngine::Internal::Type::Enum
1126
+
1127
+ PRIVATE = :private
1128
+ HOST = :host
1129
+
1130
+ # @!method self.values
1131
+ # @return [Array<Symbol>]
1132
+ end
1133
+
1134
+ class DeviceRequest < DockerEngine::Internal::Type::BaseModel
1135
+ # @!attribute capabilities
1136
+ # A list of capabilities; an OR list of AND lists of capabilities.
1137
+ #
1138
+ # Note that if a driver is specified the capabilities have no effect on selecting
1139
+ # a driver as the driver name is used directly.
1140
+ #
1141
+ # Note that if no driver is specified the capabilities are used to select a driver
1142
+ # with the required capabilities.
1143
+ #
1144
+ # @return [Array<Array<String>>, nil]
1145
+ optional :capabilities,
1146
+ DockerEngine::Internal::Type::ArrayOf[DockerEngine::Internal::Type::ArrayOf[String]],
1147
+ api_name: :Capabilities
1148
+
1149
+ # @!attribute count
1150
+ #
1151
+ # @return [Integer, nil]
1152
+ optional :count, Integer, api_name: :Count
1153
+
1154
+ # @!attribute device_ids
1155
+ #
1156
+ # @return [Array<String>, nil]
1157
+ optional :device_ids, DockerEngine::Internal::Type::ArrayOf[String], api_name: :DeviceIDs
1158
+
1159
+ # @!attribute driver
1160
+ # The name of the device driver to use for this request.
1161
+ #
1162
+ # Note that if this is specified the capabilities are ignored when selecting a
1163
+ # device driver.
1164
+ #
1165
+ # @return [String, nil]
1166
+ optional :driver, String, api_name: :Driver
1167
+
1168
+ # @!attribute options
1169
+ # Driver-specific options, specified as a key/value pairs. These options are
1170
+ # passed directly to the driver.
1171
+ #
1172
+ # @return [Hash{Symbol=>String}, nil]
1173
+ optional :options, DockerEngine::Internal::Type::HashOf[String], api_name: :Options
1174
+
1175
+ # @!method initialize(capabilities: nil, count: nil, device_ids: nil, driver: nil, options: nil)
1176
+ # Some parameter documentations has been truncated, see
1177
+ # {DockerEngine::Models::Container::HostConfig::DeviceRequest} for more details.
1178
+ #
1179
+ # A request for devices to be sent to device drivers
1180
+ #
1181
+ # @param capabilities [Array<Array<String>>] A list of capabilities; an OR list of AND lists of capabilities.
1182
+ #
1183
+ # @param count [Integer]
1184
+ #
1185
+ # @param device_ids [Array<String>]
1186
+ #
1187
+ # @param driver [String] The name of the device driver to use for this request.
1188
+ #
1189
+ # @param options [Hash{Symbol=>String}] Driver-specific options, specified as a key/value pairs. These options
1190
+ end
1191
+
1192
+ class Device < DockerEngine::Internal::Type::BaseModel
1193
+ # @!attribute cgroup_permissions
1194
+ #
1195
+ # @return [String, nil]
1196
+ optional :cgroup_permissions, String, api_name: :CgroupPermissions
1197
+
1198
+ # @!attribute path_in_container
1199
+ #
1200
+ # @return [String, nil]
1201
+ optional :path_in_container, String, api_name: :PathInContainer
1202
+
1203
+ # @!attribute path_on_host
1204
+ #
1205
+ # @return [String, nil]
1206
+ optional :path_on_host, String, api_name: :PathOnHost
1207
+
1208
+ # @!method initialize(cgroup_permissions: nil, path_in_container: nil, path_on_host: nil)
1209
+ # A device mapping between the host and container
1210
+ #
1211
+ # @param cgroup_permissions [String]
1212
+ # @param path_in_container [String]
1213
+ # @param path_on_host [String]
1214
+ end
1215
+
1216
+ # Isolation technology of the container. (Windows only)
1217
+ #
1218
+ # @see DockerEngine::Models::Container::HostConfig#isolation
1219
+ module Isolation
1220
+ extend DockerEngine::Internal::Type::Enum
1221
+
1222
+ DEFAULT = :default
1223
+ PROCESS = :process
1224
+ HYPERV = :hyperv
1225
+ EMPTY = :""
1226
+
1227
+ # @!method self.values
1228
+ # @return [Array<Symbol>]
1229
+ end
1230
+
1231
+ # @see DockerEngine::Models::Container::HostConfig#log_config
1232
+ class LogConfig < DockerEngine::Internal::Type::BaseModel
1233
+ # @!attribute config
1234
+ # Driver-specific configuration options for the logging driver.
1235
+ #
1236
+ # @return [Hash{Symbol=>String}, nil]
1237
+ optional :config, DockerEngine::Internal::Type::HashOf[String], api_name: :Config
1238
+
1239
+ # @!attribute type
1240
+ # Name of the logging driver used for the container or "none" if logging is
1241
+ # disabled.
1242
+ #
1243
+ # @return [Symbol, DockerEngine::Models::Container::HostConfig::LogConfig::Type, nil]
1244
+ optional :type, enum: -> { DockerEngine::Container::HostConfig::LogConfig::Type }, api_name: :Type
1245
+
1246
+ # @!method initialize(config: nil, type: nil)
1247
+ # Some parameter documentations has been truncated, see
1248
+ # {DockerEngine::Models::Container::HostConfig::LogConfig} for more details.
1249
+ #
1250
+ # The logging configuration for this container
1251
+ #
1252
+ # @param config [Hash{Symbol=>String}] Driver-specific configuration options for the logging driver.
1253
+ #
1254
+ # @param type [Symbol, DockerEngine::Models::Container::HostConfig::LogConfig::Type] Name of the logging driver used for the container or "none"
1255
+
1256
+ # Name of the logging driver used for the container or "none" if logging is
1257
+ # disabled.
1258
+ #
1259
+ # @see DockerEngine::Models::Container::HostConfig::LogConfig#type
1260
+ module Type
1261
+ extend DockerEngine::Internal::Type::Enum
1262
+
1263
+ LOCAL = :local
1264
+ JSON_FILE = :"json-file"
1265
+ SYSLOG = :syslog
1266
+ JOURNALD = :journald
1267
+ GELF = :gelf
1268
+ FLUENTD = :fluentd
1269
+ AWSLOGS = :awslogs
1270
+ SPLUNK = :splunk
1271
+ ETWLOGS = :etwlogs
1272
+ NONE = :none
1273
+
1274
+ # @!method self.values
1275
+ # @return [Array<Symbol>]
1276
+ end
1277
+ end
1278
+
1279
+ class Mount < DockerEngine::Internal::Type::BaseModel
1280
+ # @!attribute bind_options
1281
+ # Optional configuration for the `bind` type.
1282
+ #
1283
+ # @return [DockerEngine::Models::Container::HostConfig::Mount::BindOptions, nil]
1284
+ optional :bind_options,
1285
+ -> { DockerEngine::Container::HostConfig::Mount::BindOptions },
1286
+ api_name: :BindOptions
1287
+
1288
+ # @!attribute consistency
1289
+ # The consistency requirement for the mount: `default`, `consistent`, `cached`, or
1290
+ # `delegated`.
1291
+ #
1292
+ # @return [String, nil]
1293
+ optional :consistency, String, api_name: :Consistency
1294
+
1295
+ # @!attribute image_options
1296
+ # Optional configuration for the `image` type.
1297
+ #
1298
+ # @return [DockerEngine::Models::Container::HostConfig::Mount::ImageOptions, nil]
1299
+ optional :image_options,
1300
+ -> { DockerEngine::Container::HostConfig::Mount::ImageOptions },
1301
+ api_name: :ImageOptions
1302
+
1303
+ # @!attribute read_only
1304
+ # Whether the mount should be read-only.
1305
+ #
1306
+ # @return [Boolean, nil]
1307
+ optional :read_only, DockerEngine::Internal::Type::Boolean, api_name: :ReadOnly
1308
+
1309
+ # @!attribute source
1310
+ # Mount source (e.g. a volume name, a host path). The source cannot be specified
1311
+ # when using `Type=tmpfs`. For `Type=bind`, the source path must either exist, or
1312
+ # the `CreateMountpoint` must be set to `true` to create the source path on the
1313
+ # host if missing.
1314
+ #
1315
+ # For `Type=npipe`, the pipe must exist prior to creating the container.
1316
+ #
1317
+ # @return [String, nil]
1318
+ optional :source, String, api_name: :Source
1319
+
1320
+ # @!attribute target
1321
+ # Container path.
1322
+ #
1323
+ # @return [String, nil]
1324
+ optional :target, String, api_name: :Target
1325
+
1326
+ # @!attribute tmpfs_options
1327
+ # Optional configuration for the `tmpfs` type.
1328
+ #
1329
+ # @return [DockerEngine::Models::Container::HostConfig::Mount::TmpfsOptions, nil]
1330
+ optional :tmpfs_options,
1331
+ -> { DockerEngine::Container::HostConfig::Mount::TmpfsOptions },
1332
+ api_name: :TmpfsOptions
1333
+
1334
+ # @!attribute type
1335
+ # The mount type. Available types:
1336
+ #
1337
+ # - `bind` a mount of a file or directory from the host into the container.
1338
+ # - `cluster` a Swarm cluster volume.
1339
+ # - `image` an OCI image.
1340
+ # - `npipe` a named pipe from the host into the container.
1341
+ # - `tmpfs` a `tmpfs`.
1342
+ # - `volume` a docker volume with the given `Name`.
1343
+ #
1344
+ # @return [Symbol, DockerEngine::Models::Container::HostConfig::Mount::Type, nil]
1345
+ optional :type, enum: -> { DockerEngine::Container::HostConfig::Mount::Type }, api_name: :Type
1346
+
1347
+ # @!attribute volume_options
1348
+ # Optional configuration for the `volume` type.
1349
+ #
1350
+ # @return [DockerEngine::Models::Container::HostConfig::Mount::VolumeOptions, nil]
1351
+ optional :volume_options,
1352
+ -> { DockerEngine::Container::HostConfig::Mount::VolumeOptions },
1353
+ api_name: :VolumeOptions
1354
+
1355
+ # @!method initialize(bind_options: nil, consistency: nil, image_options: nil, read_only: nil, source: nil, target: nil, tmpfs_options: nil, type: nil, volume_options: nil)
1356
+ # Some parameter documentations has been truncated, see
1357
+ # {DockerEngine::Models::Container::HostConfig::Mount} for more details.
1358
+ #
1359
+ # @param bind_options [DockerEngine::Models::Container::HostConfig::Mount::BindOptions] Optional configuration for the `bind` type.
1360
+ #
1361
+ # @param consistency [String] The consistency requirement for the mount: `default`, `consistent`, `cached`, or
1362
+ #
1363
+ # @param image_options [DockerEngine::Models::Container::HostConfig::Mount::ImageOptions] Optional configuration for the `image` type.
1364
+ #
1365
+ # @param read_only [Boolean] Whether the mount should be read-only.
1366
+ #
1367
+ # @param source [String] Mount source (e.g. a volume name, a host path). The source cannot be
1368
+ #
1369
+ # @param target [String] Container path.
1370
+ #
1371
+ # @param tmpfs_options [DockerEngine::Models::Container::HostConfig::Mount::TmpfsOptions] Optional configuration for the `tmpfs` type.
1372
+ #
1373
+ # @param type [Symbol, DockerEngine::Models::Container::HostConfig::Mount::Type] The mount type. Available types:
1374
+ #
1375
+ # @param volume_options [DockerEngine::Models::Container::HostConfig::Mount::VolumeOptions] Optional configuration for the `volume` type.
1376
+
1377
+ # @see DockerEngine::Models::Container::HostConfig::Mount#bind_options
1378
+ class BindOptions < DockerEngine::Internal::Type::BaseModel
1379
+ # @!attribute create_mountpoint
1380
+ # Create mount point on host if missing
1381
+ #
1382
+ # @return [Boolean, nil]
1383
+ optional :create_mountpoint, DockerEngine::Internal::Type::Boolean, api_name: :CreateMountpoint
1384
+
1385
+ # @!attribute non_recursive
1386
+ # Disable recursive bind mount.
1387
+ #
1388
+ # @return [Boolean, nil]
1389
+ optional :non_recursive, DockerEngine::Internal::Type::Boolean, api_name: :NonRecursive
1390
+
1391
+ # @!attribute propagation
1392
+ # A propagation mode with the value `[r]private`, `[r]shared`, or `[r]slave`.
1393
+ #
1394
+ # @return [Symbol, DockerEngine::Models::Container::HostConfig::Mount::BindOptions::Propagation, nil]
1395
+ optional :propagation,
1396
+ enum: -> { DockerEngine::Container::HostConfig::Mount::BindOptions::Propagation },
1397
+ api_name: :Propagation
1398
+
1399
+ # @!attribute read_only_force_recursive
1400
+ # Raise an error if the mount cannot be made recursively read-only.
1401
+ #
1402
+ # @return [Boolean, nil]
1403
+ optional :read_only_force_recursive,
1404
+ DockerEngine::Internal::Type::Boolean,
1405
+ api_name: :ReadOnlyForceRecursive
1406
+
1407
+ # @!attribute read_only_non_recursive
1408
+ # Make the mount non-recursively read-only, but still leave the mount recursive
1409
+ # (unless NonRecursive is set to `true` in conjunction).
1410
+ #
1411
+ # Added in v1.44, before that version all read-only mounts were non-recursive by
1412
+ # default. To match the previous behaviour this will default to `true` for clients
1413
+ # on versions prior to v1.44.
1414
+ #
1415
+ # @return [Boolean, nil]
1416
+ optional :read_only_non_recursive,
1417
+ DockerEngine::Internal::Type::Boolean,
1418
+ api_name: :ReadOnlyNonRecursive
1419
+
1420
+ # @!method initialize(create_mountpoint: nil, non_recursive: nil, propagation: nil, read_only_force_recursive: nil, read_only_non_recursive: nil)
1421
+ # Some parameter documentations has been truncated, see
1422
+ # {DockerEngine::Models::Container::HostConfig::Mount::BindOptions} for more
1423
+ # details.
1424
+ #
1425
+ # Optional configuration for the `bind` type.
1426
+ #
1427
+ # @param create_mountpoint [Boolean] Create mount point on host if missing
1428
+ #
1429
+ # @param non_recursive [Boolean] Disable recursive bind mount.
1430
+ #
1431
+ # @param propagation [Symbol, DockerEngine::Models::Container::HostConfig::Mount::BindOptions::Propagation] A propagation mode with the value `[r]private`, `[r]shared`, or `[r]slave`.
1432
+ #
1433
+ # @param read_only_force_recursive [Boolean] Raise an error if the mount cannot be made recursively read-only.
1434
+ #
1435
+ # @param read_only_non_recursive [Boolean] Make the mount non-recursively read-only, but still leave the mount recursive
1436
+
1437
+ # A propagation mode with the value `[r]private`, `[r]shared`, or `[r]slave`.
1438
+ #
1439
+ # @see DockerEngine::Models::Container::HostConfig::Mount::BindOptions#propagation
1440
+ module Propagation
1441
+ extend DockerEngine::Internal::Type::Enum
1442
+
1443
+ PRIVATE = :private
1444
+ RPRIVATE = :rprivate
1445
+ SHARED = :shared
1446
+ RSHARED = :rshared
1447
+ SLAVE = :slave
1448
+ RSLAVE = :rslave
1449
+
1450
+ # @!method self.values
1451
+ # @return [Array<Symbol>]
1452
+ end
1453
+ end
1454
+
1455
+ # @see DockerEngine::Models::Container::HostConfig::Mount#image_options
1456
+ class ImageOptions < DockerEngine::Internal::Type::BaseModel
1457
+ # @!attribute subpath
1458
+ # Source path inside the image. Must be relative without any back traversals.
1459
+ #
1460
+ # @return [String, nil]
1461
+ optional :subpath, String, api_name: :Subpath
1462
+
1463
+ # @!method initialize(subpath: nil)
1464
+ # Optional configuration for the `image` type.
1465
+ #
1466
+ # @param subpath [String] Source path inside the image. Must be relative without any back traversals.
1467
+ end
1468
+
1469
+ # @see DockerEngine::Models::Container::HostConfig::Mount#tmpfs_options
1470
+ class TmpfsOptions < DockerEngine::Internal::Type::BaseModel
1471
+ # @!attribute mode
1472
+ # The permission mode for the tmpfs mount in an integer. The value must not be in
1473
+ # octal format (e.g. 755) but rather the decimal representation of the octal value
1474
+ # (e.g. 493).
1475
+ #
1476
+ # @return [Integer, nil]
1477
+ optional :mode, Integer, api_name: :Mode
1478
+
1479
+ # @!attribute options
1480
+ # The options to be passed to the tmpfs mount. An array of arrays. Flag options
1481
+ # should be provided as 1-length arrays. Other types should be provided as as
1482
+ # 2-length arrays, where the first item is the key and the second the value.
1483
+ #
1484
+ # @return [Array<Array<String>>, nil]
1485
+ optional :options,
1486
+ DockerEngine::Internal::Type::ArrayOf[DockerEngine::Internal::Type::ArrayOf[String]],
1487
+ api_name: :Options
1488
+
1489
+ # @!attribute size_bytes
1490
+ # The size for the tmpfs mount in bytes.
1491
+ #
1492
+ # @return [Integer, nil]
1493
+ optional :size_bytes, Integer, api_name: :SizeBytes
1494
+
1495
+ # @!method initialize(mode: nil, options: nil, size_bytes: nil)
1496
+ # Some parameter documentations has been truncated, see
1497
+ # {DockerEngine::Models::Container::HostConfig::Mount::TmpfsOptions} for more
1498
+ # details.
1499
+ #
1500
+ # Optional configuration for the `tmpfs` type.
1501
+ #
1502
+ # @param mode [Integer] The permission mode for the tmpfs mount in an integer.
1503
+ #
1504
+ # @param options [Array<Array<String>>] The options to be passed to the tmpfs mount. An array of arrays.
1505
+ #
1506
+ # @param size_bytes [Integer] The size for the tmpfs mount in bytes.
1507
+ end
1508
+
1509
+ # The mount type. Available types:
1510
+ #
1511
+ # - `bind` a mount of a file or directory from the host into the container.
1512
+ # - `cluster` a Swarm cluster volume.
1513
+ # - `image` an OCI image.
1514
+ # - `npipe` a named pipe from the host into the container.
1515
+ # - `tmpfs` a `tmpfs`.
1516
+ # - `volume` a docker volume with the given `Name`.
1517
+ #
1518
+ # @see DockerEngine::Models::Container::HostConfig::Mount#type
1519
+ module Type
1520
+ extend DockerEngine::Internal::Type::Enum
1521
+
1522
+ BIND = :bind
1523
+ CLUSTER = :cluster
1524
+ IMAGE = :image
1525
+ NPIPE = :npipe
1526
+ TMPFS = :tmpfs
1527
+ VOLUME = :volume
1528
+
1529
+ # @!method self.values
1530
+ # @return [Array<Symbol>]
1531
+ end
1532
+
1533
+ # @see DockerEngine::Models::Container::HostConfig::Mount#volume_options
1534
+ class VolumeOptions < DockerEngine::Internal::Type::BaseModel
1535
+ # @!attribute driver_config
1536
+ # Map of driver specific options
1537
+ #
1538
+ # @return [DockerEngine::Models::Container::HostConfig::Mount::VolumeOptions::DriverConfig, nil]
1539
+ optional :driver_config,
1540
+ -> { DockerEngine::Container::HostConfig::Mount::VolumeOptions::DriverConfig },
1541
+ api_name: :DriverConfig
1542
+
1543
+ # @!attribute labels
1544
+ # User-defined key/value metadata.
1545
+ #
1546
+ # @return [Hash{Symbol=>String}, nil]
1547
+ optional :labels, DockerEngine::Internal::Type::HashOf[String], api_name: :Labels
1548
+
1549
+ # @!attribute no_copy
1550
+ # Populate volume with data from the target.
1551
+ #
1552
+ # @return [Boolean, nil]
1553
+ optional :no_copy, DockerEngine::Internal::Type::Boolean, api_name: :NoCopy
1554
+
1555
+ # @!attribute subpath
1556
+ # Source path inside the volume. Must be relative without any back traversals.
1557
+ #
1558
+ # @return [String, nil]
1559
+ optional :subpath, String, api_name: :Subpath
1560
+
1561
+ # @!method initialize(driver_config: nil, labels: nil, no_copy: nil, subpath: nil)
1562
+ # Optional configuration for the `volume` type.
1563
+ #
1564
+ # @param driver_config [DockerEngine::Models::Container::HostConfig::Mount::VolumeOptions::DriverConfig] Map of driver specific options
1565
+ #
1566
+ # @param labels [Hash{Symbol=>String}] User-defined key/value metadata.
1567
+ #
1568
+ # @param no_copy [Boolean] Populate volume with data from the target.
1569
+ #
1570
+ # @param subpath [String] Source path inside the volume. Must be relative without any back traversals.
1571
+
1572
+ # @see DockerEngine::Models::Container::HostConfig::Mount::VolumeOptions#driver_config
1573
+ class DriverConfig < DockerEngine::Internal::Type::BaseModel
1574
+ # @!attribute name
1575
+ # Name of the driver to use to create the volume.
1576
+ #
1577
+ # @return [String, nil]
1578
+ optional :name, String, api_name: :Name
1579
+
1580
+ # @!attribute options
1581
+ # key/value map of driver specific options.
1582
+ #
1583
+ # @return [Hash{Symbol=>String}, nil]
1584
+ optional :options, DockerEngine::Internal::Type::HashOf[String], api_name: :Options
1585
+
1586
+ # @!method initialize(name: nil, options: nil)
1587
+ # Map of driver specific options
1588
+ #
1589
+ # @param name [String] Name of the driver to use to create the volume.
1590
+ #
1591
+ # @param options [Hash{Symbol=>String}] key/value map of driver specific options.
1592
+ end
1593
+ end
1594
+ end
1595
+
1596
+ class PortBinding < DockerEngine::Internal::Type::BaseModel
1597
+ # @!attribute host_ip
1598
+ # Host IP address that the container's port is mapped to.
1599
+ #
1600
+ # @return [String, nil]
1601
+ optional :host_ip, String, api_name: :HostIp
1602
+
1603
+ # @!attribute host_port
1604
+ # Host port number that the container's port is mapped to.
1605
+ #
1606
+ # @return [String, nil]
1607
+ optional :host_port, String, api_name: :HostPort
1608
+
1609
+ # @!method initialize(host_ip: nil, host_port: nil)
1610
+ # PortBinding represents a binding between a host IP address and a host port.
1611
+ #
1612
+ # @param host_ip [String] Host IP address that the container's port is mapped to.
1613
+ #
1614
+ # @param host_port [String] Host port number that the container's port is mapped to.
1615
+ end
1616
+
1617
+ # @see DockerEngine::Models::Container::HostConfig#restart_policy
1618
+ class RestartPolicy < DockerEngine::Internal::Type::BaseModel
1619
+ # @!attribute maximum_retry_count
1620
+ # If `on-failure` is used, the number of times to retry before giving up.
1621
+ #
1622
+ # @return [Integer, nil]
1623
+ optional :maximum_retry_count, Integer, api_name: :MaximumRetryCount
1624
+
1625
+ # @!attribute name
1626
+ # - Empty string means not to restart
1627
+ # - `no` Do not automatically restart
1628
+ # - `always` Always restart
1629
+ # - `unless-stopped` Restart always except when the user has manually stopped the
1630
+ # container
1631
+ # - `on-failure` Restart only when the container exit code is non-zero
1632
+ #
1633
+ # @return [Symbol, DockerEngine::Models::Container::HostConfig::RestartPolicy::Name, nil]
1634
+ optional :name,
1635
+ enum: -> {
1636
+ DockerEngine::Container::HostConfig::RestartPolicy::Name
1637
+ },
1638
+ api_name: :Name
1639
+
1640
+ # @!method initialize(maximum_retry_count: nil, name: nil)
1641
+ # Some parameter documentations has been truncated, see
1642
+ # {DockerEngine::Models::Container::HostConfig::RestartPolicy} for more details.
1643
+ #
1644
+ # The behavior to apply when the container exits. The default is not to restart.
1645
+ #
1646
+ # An ever increasing delay (double the previous delay, starting at 100ms) is added
1647
+ # before each restart to prevent flooding the server.
1648
+ #
1649
+ # @param maximum_retry_count [Integer] If `on-failure` is used, the number of times to retry before giving up.
1650
+ #
1651
+ # @param name [Symbol, DockerEngine::Models::Container::HostConfig::RestartPolicy::Name] - Empty string means not to restart
1652
+
1653
+ # - Empty string means not to restart
1654
+ # - `no` Do not automatically restart
1655
+ # - `always` Always restart
1656
+ # - `unless-stopped` Restart always except when the user has manually stopped the
1657
+ # container
1658
+ # - `on-failure` Restart only when the container exit code is non-zero
1659
+ #
1660
+ # @see DockerEngine::Models::Container::HostConfig::RestartPolicy#name
1661
+ module Name
1662
+ extend DockerEngine::Internal::Type::Enum
1663
+
1664
+ EMPTY = :""
1665
+ NO = :no
1666
+ ALWAYS = :always
1667
+ UNLESS_STOPPED = :"unless-stopped"
1668
+ ON_FAILURE = :"on-failure"
1669
+
1670
+ # @!method self.values
1671
+ # @return [Array<Symbol>]
1672
+ end
1673
+ end
1674
+
1675
+ class Ulimit < DockerEngine::Internal::Type::BaseModel
1676
+ # @!attribute hard
1677
+ # Hard limit
1678
+ #
1679
+ # @return [Integer, nil]
1680
+ optional :hard, Integer, api_name: :Hard
1681
+
1682
+ # @!attribute name
1683
+ # Name of ulimit
1684
+ #
1685
+ # @return [String, nil]
1686
+ optional :name, String, api_name: :Name
1687
+
1688
+ # @!attribute soft
1689
+ # Soft limit
1690
+ #
1691
+ # @return [Integer, nil]
1692
+ optional :soft, Integer, api_name: :Soft
1693
+
1694
+ # @!method initialize(hard: nil, name: nil, soft: nil)
1695
+ # @param hard [Integer] Hard limit
1696
+ #
1697
+ # @param name [String] Name of ulimit
1698
+ #
1699
+ # @param soft [Integer] Soft limit
1700
+ end
1701
+ end
1702
+
1703
+ # @see DockerEngine::Models::Container#image_manifest_descriptor
1704
+ class ImageManifestDescriptor < DockerEngine::Internal::Type::BaseModel
1705
+ # @!attribute annotations
1706
+ # Arbitrary metadata relating to the targeted content.
1707
+ #
1708
+ # @return [Hash{Symbol=>String}, nil]
1709
+ optional :annotations, DockerEngine::Internal::Type::HashOf[String], nil?: true
1710
+
1711
+ # @!attribute artifact_type
1712
+ # ArtifactType is the IANA media type of this artifact.
1713
+ #
1714
+ # @return [String, nil]
1715
+ optional :artifact_type, String, api_name: :artifactType, nil?: true
1716
+
1717
+ # @!attribute data
1718
+ # Data is an embedding of the targeted content. This is encoded as a base64 string
1719
+ # when marshalled to JSON (automatically, by encoding/json). If present, Data can
1720
+ # be used directly to avoid fetching the targeted content.
1721
+ #
1722
+ # @return [String, nil]
1723
+ optional :data, String, nil?: true
1724
+
1725
+ # @!attribute digest
1726
+ # The digest of the targeted content.
1727
+ #
1728
+ # @return [String, nil]
1729
+ optional :digest, String
1730
+
1731
+ # @!attribute media_type
1732
+ # The media type of the object this schema refers to.
1733
+ #
1734
+ # @return [String, nil]
1735
+ optional :media_type, String, api_name: :mediaType
1736
+
1737
+ # @!attribute platform
1738
+ # Describes the platform which the image in the manifest runs on, as defined in
1739
+ # the
1740
+ # [OCI Image Index Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/image-index.md).
1741
+ #
1742
+ # @return [DockerEngine::Models::Container::ImageManifestDescriptor::Platform, nil]
1743
+ optional :platform, -> { DockerEngine::Container::ImageManifestDescriptor::Platform }, nil?: true
1744
+
1745
+ # @!attribute size
1746
+ # The size in bytes of the blob.
1747
+ #
1748
+ # @return [Integer, nil]
1749
+ optional :size, Integer
1750
+
1751
+ # @!attribute urls
1752
+ # List of URLs from which this object MAY be downloaded.
1753
+ #
1754
+ # @return [Array<String>, nil]
1755
+ optional :urls, DockerEngine::Internal::Type::ArrayOf[String], nil?: true
1756
+
1757
+ # @!method initialize(annotations: nil, artifact_type: nil, data: nil, digest: nil, media_type: nil, platform: nil, size: nil, urls: nil)
1758
+ # Some parameter documentations has been truncated, see
1759
+ # {DockerEngine::Models::Container::ImageManifestDescriptor} for more details.
1760
+ #
1761
+ # A descriptor struct containing digest, media type, and size, as defined in the
1762
+ # [OCI Content Descriptors Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/descriptor.md).
1763
+ #
1764
+ # @param annotations [Hash{Symbol=>String}, nil] Arbitrary metadata relating to the targeted content.
1765
+ #
1766
+ # @param artifact_type [String, nil] ArtifactType is the IANA media type of this artifact.
1767
+ #
1768
+ # @param data [String, nil] Data is an embedding of the targeted content. This is encoded as a base64
1769
+ #
1770
+ # @param digest [String] The digest of the targeted content.
1771
+ #
1772
+ # @param media_type [String] The media type of the object this schema refers to.
1773
+ #
1774
+ # @param platform [DockerEngine::Models::Container::ImageManifestDescriptor::Platform, nil] Describes the platform which the image in the manifest runs on, as defined
1775
+ #
1776
+ # @param size [Integer] The size in bytes of the blob.
1777
+ #
1778
+ # @param urls [Array<String>, nil] List of URLs from which this object MAY be downloaded.
1779
+
1780
+ # @see DockerEngine::Models::Container::ImageManifestDescriptor#platform
1781
+ class Platform < DockerEngine::Internal::Type::BaseModel
1782
+ # @!attribute architecture
1783
+ # The CPU architecture, for example `amd64` or `ppc64`.
1784
+ #
1785
+ # @return [String, nil]
1786
+ optional :architecture, String
1787
+
1788
+ # @!attribute os
1789
+ # The operating system, for example `linux` or `windows`.
1790
+ #
1791
+ # @return [String, nil]
1792
+ optional :os, String
1793
+
1794
+ # @!attribute os_features
1795
+ # Optional field specifying an array of strings, each listing a required OS
1796
+ # feature (for example on Windows `win32k`).
1797
+ #
1798
+ # @return [Array<String>, nil]
1799
+ optional :os_features, DockerEngine::Internal::Type::ArrayOf[String], api_name: :"os.features"
1800
+
1801
+ # @!attribute os_version
1802
+ # Optional field specifying the operating system version, for example on Windows
1803
+ # `10.0.19041.1165`.
1804
+ #
1805
+ # @return [String, nil]
1806
+ optional :os_version, String, api_name: :"os.version"
1807
+
1808
+ # @!attribute variant
1809
+ # Optional field specifying a variant of the CPU, for example `v7` to specify
1810
+ # ARMv7 when architecture is `arm`.
1811
+ #
1812
+ # @return [String, nil]
1813
+ optional :variant, String
1814
+
1815
+ # @!method initialize(architecture: nil, os: nil, os_features: nil, os_version: nil, variant: nil)
1816
+ # Some parameter documentations has been truncated, see
1817
+ # {DockerEngine::Models::Container::ImageManifestDescriptor::Platform} for more
1818
+ # details.
1819
+ #
1820
+ # Describes the platform which the image in the manifest runs on, as defined in
1821
+ # the
1822
+ # [OCI Image Index Specification](https://github.com/opencontainers/image-spec/blob/v1.0.1/image-index.md).
1823
+ #
1824
+ # @param architecture [String] The CPU architecture, for example `amd64` or `ppc64`.
1825
+ #
1826
+ # @param os [String] The operating system, for example `linux` or `windows`.
1827
+ #
1828
+ # @param os_features [Array<String>] Optional field specifying an array of strings, each listing a required
1829
+ #
1830
+ # @param os_version [String] Optional field specifying the operating system version, for example on
1831
+ #
1832
+ # @param variant [String] Optional field specifying a variant of the CPU, for example `v7` to
1833
+ end
1834
+ end
1835
+
1836
+ class Mount < DockerEngine::Internal::Type::BaseModel
1837
+ # @!attribute destination
1838
+ # Destination is the path relative to the container root (`/`) where the `Source`
1839
+ # is mounted inside the container.
1840
+ #
1841
+ # @return [String, nil]
1842
+ optional :destination, String, api_name: :Destination
1843
+
1844
+ # @!attribute driver
1845
+ # Driver is the volume driver used to create the volume (if it is a volume).
1846
+ #
1847
+ # @return [String, nil]
1848
+ optional :driver, String, api_name: :Driver
1849
+
1850
+ # @!attribute mode
1851
+ # Mode is a comma separated list of options supplied by the user when creating the
1852
+ # bind/volume mount.
1853
+ #
1854
+ # The default is platform-specific (`"z"` on Linux, empty on Windows).
1855
+ #
1856
+ # @return [String, nil]
1857
+ optional :mode, String, api_name: :Mode
1858
+
1859
+ # @!attribute name
1860
+ # Name is the name reference to the underlying data defined by `Source` e.g., the
1861
+ # volume name.
1862
+ #
1863
+ # @return [String, nil]
1864
+ optional :name, String, api_name: :Name
1865
+
1866
+ # @!attribute propagation
1867
+ # Propagation describes how mounts are propagated from the host into the mount
1868
+ # point, and vice-versa. Refer to the
1869
+ # [Linux kernel documentation](https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt)
1870
+ # for details. This field is not used on Windows.
1871
+ #
1872
+ # @return [String, nil]
1873
+ optional :propagation, String, api_name: :Propagation
1874
+
1875
+ # @!attribute rw
1876
+ # Whether the mount is mounted writable (read-write).
1877
+ #
1878
+ # @return [Boolean, nil]
1879
+ optional :rw, DockerEngine::Internal::Type::Boolean, api_name: :RW
1880
+
1881
+ # @!attribute source
1882
+ # Source location of the mount.
1883
+ #
1884
+ # For volumes, this contains the storage location of the volume (within
1885
+ # `/var/lib/docker/volumes/`). For bind-mounts, and `npipe`, this contains the
1886
+ # source (host) part of the bind-mount. For `tmpfs` mount points, this field is
1887
+ # empty.
1888
+ #
1889
+ # @return [String, nil]
1890
+ optional :source, String, api_name: :Source
1891
+
1892
+ # @!attribute type
1893
+ # The mount type. Available types:
1894
+ #
1895
+ # - `bind` a mount of a file or directory from the host into the container.
1896
+ # - `cluster` a Swarm cluster volume.
1897
+ # - `image` an OCI image.
1898
+ # - `npipe` a named pipe from the host into the container.
1899
+ # - `tmpfs` a `tmpfs`.
1900
+ # - `volume` a docker volume with the given `Name`.
1901
+ #
1902
+ # @return [Symbol, DockerEngine::Models::Container::Mount::Type, nil]
1903
+ optional :type, enum: -> { DockerEngine::Container::Mount::Type }, api_name: :Type
1904
+
1905
+ # @!method initialize(destination: nil, driver: nil, mode: nil, name: nil, propagation: nil, rw: nil, source: nil, type: nil)
1906
+ # Some parameter documentations has been truncated, see
1907
+ # {DockerEngine::Models::Container::Mount} for more details.
1908
+ #
1909
+ # MountPoint represents a mount point configuration inside the container. This is
1910
+ # used for reporting the mountpoints in use by a container.
1911
+ #
1912
+ # @param destination [String] Destination is the path relative to the container root (`/`) where
1913
+ #
1914
+ # @param driver [String] Driver is the volume driver used to create the volume (if it is a volume).
1915
+ #
1916
+ # @param mode [String] Mode is a comma separated list of options supplied by the user when
1917
+ #
1918
+ # @param name [String] Name is the name reference to the underlying data defined by `Source`
1919
+ #
1920
+ # @param propagation [String] Propagation describes how mounts are propagated from the host into the
1921
+ #
1922
+ # @param rw [Boolean] Whether the mount is mounted writable (read-write).
1923
+ #
1924
+ # @param source [String] Source location of the mount.
1925
+ #
1926
+ # @param type [Symbol, DockerEngine::Models::Container::Mount::Type] The mount type. Available types:
1927
+
1928
+ # The mount type. Available types:
1929
+ #
1930
+ # - `bind` a mount of a file or directory from the host into the container.
1931
+ # - `cluster` a Swarm cluster volume.
1932
+ # - `image` an OCI image.
1933
+ # - `npipe` a named pipe from the host into the container.
1934
+ # - `tmpfs` a `tmpfs`.
1935
+ # - `volume` a docker volume with the given `Name`.
1936
+ #
1937
+ # @see DockerEngine::Models::Container::Mount#type
1938
+ module Type
1939
+ extend DockerEngine::Internal::Type::Enum
1940
+
1941
+ BIND = :bind
1942
+ CLUSTER = :cluster
1943
+ IMAGE = :image
1944
+ NPIPE = :npipe
1945
+ TMPFS = :tmpfs
1946
+ VOLUME = :volume
1947
+
1948
+ # @!method self.values
1949
+ # @return [Array<Symbol>]
1950
+ end
1951
+ end
1952
+
1953
+ # @see DockerEngine::Models::Container#network_settings
1954
+ class NetworkSettings < DockerEngine::Internal::Type::BaseModel
1955
+ # @!attribute networks
1956
+ # Information about all networks that the container is connected to.
1957
+ #
1958
+ # @return [Hash{Symbol=>DockerEngine::Models::Container::NetworkSettings::Network}, nil]
1959
+ optional :networks,
1960
+ -> {
1961
+ DockerEngine::Internal::Type::HashOf[DockerEngine::Container::NetworkSettings::Network]
1962
+ },
1963
+ api_name: :Networks
1964
+
1965
+ # @!attribute ports
1966
+ # PortMap describes the mapping of container ports to host ports, using the
1967
+ # container's port-number and protocol as key in the format `<port>/<protocol>`,
1968
+ # for example, `80/udp`.
1969
+ #
1970
+ # If a container's port is mapped for multiple protocols, separate entries are
1971
+ # added to the mapping table.
1972
+ #
1973
+ # @return [Hash{Symbol=>Array<DockerEngine::Models::Container::NetworkSettings::Port>}, nil]
1974
+ optional :ports,
1975
+ -> {
1976
+ DockerEngine::Internal::Type::HashOf[DockerEngine::Internal::Type::ArrayOf[DockerEngine::Container::NetworkSettings::Port]]
1977
+ },
1978
+ api_name: :Ports
1979
+
1980
+ # @!attribute sandbox_id
1981
+ # SandboxID uniquely represents a container's network stack.
1982
+ #
1983
+ # @return [String, nil]
1984
+ optional :sandbox_id, String, api_name: :SandboxID
1985
+
1986
+ # @!attribute sandbox_key
1987
+ # SandboxKey is the full path of the netns handle
1988
+ #
1989
+ # @return [String, nil]
1990
+ optional :sandbox_key, String, api_name: :SandboxKey
1991
+
1992
+ # @!method initialize(networks: nil, ports: nil, sandbox_id: nil, sandbox_key: nil)
1993
+ # Some parameter documentations has been truncated, see
1994
+ # {DockerEngine::Models::Container::NetworkSettings} for more details.
1995
+ #
1996
+ # NetworkSettings exposes the network settings in the API
1997
+ #
1998
+ # @param networks [Hash{Symbol=>DockerEngine::Models::Container::NetworkSettings::Network}] Information about all networks that the container is connected to.
1999
+ #
2000
+ # @param ports [Hash{Symbol=>Array<DockerEngine::Models::Container::NetworkSettings::Port>}] PortMap describes the mapping of container ports to host ports, using the
2001
+ #
2002
+ # @param sandbox_id [String] SandboxID uniquely represents a container's network stack.
2003
+ #
2004
+ # @param sandbox_key [String] SandboxKey is the full path of the netns handle
2005
+
2006
+ class Network < DockerEngine::Internal::Type::BaseModel
2007
+ # @!attribute aliases
2008
+ #
2009
+ # @return [Array<String>, nil]
2010
+ optional :aliases, DockerEngine::Internal::Type::ArrayOf[String], api_name: :Aliases
2011
+
2012
+ # @!attribute dns_names
2013
+ # List of all DNS names an endpoint has on a specific network. This list is based
2014
+ # on the container name, network aliases, container short ID, and hostname.
2015
+ #
2016
+ # These DNS names are non-fully qualified but can contain several dots. You can
2017
+ # get fully qualified DNS names by appending `.<network-name>`. For instance, if
2018
+ # container name is `my.ctr` and the network is named `testnet`, `DNSNames` will
2019
+ # contain `my.ctr` and the FQDN will be `my.ctr.testnet`.
2020
+ #
2021
+ # @return [Array<String>, nil]
2022
+ optional :dns_names, DockerEngine::Internal::Type::ArrayOf[String], api_name: :DNSNames
2023
+
2024
+ # @!attribute driver_opts
2025
+ # DriverOpts is a mapping of driver options and values. These options are passed
2026
+ # directly to the driver and are driver specific.
2027
+ #
2028
+ # @return [Hash{Symbol=>String}, nil]
2029
+ optional :driver_opts,
2030
+ DockerEngine::Internal::Type::HashOf[String],
2031
+ api_name: :DriverOpts,
2032
+ nil?: true
2033
+
2034
+ # @!attribute endpoint_id
2035
+ # Unique ID for the service endpoint in a Sandbox.
2036
+ #
2037
+ # @return [String, nil]
2038
+ optional :endpoint_id, String, api_name: :EndpointID
2039
+
2040
+ # @!attribute gateway
2041
+ # Gateway address for this network.
2042
+ #
2043
+ # @return [String, nil]
2044
+ optional :gateway, String, api_name: :Gateway
2045
+
2046
+ # @!attribute global_i_pv6_address
2047
+ # Global IPv6 address.
2048
+ #
2049
+ # @return [String, nil]
2050
+ optional :global_i_pv6_address, String, api_name: :GlobalIPv6Address
2051
+
2052
+ # @!attribute global_i_pv6_prefix_len
2053
+ # Mask length of the global IPv6 address.
2054
+ #
2055
+ # @return [Integer, nil]
2056
+ optional :global_i_pv6_prefix_len, Integer, api_name: :GlobalIPv6PrefixLen
2057
+
2058
+ # @!attribute gw_priority
2059
+ # This property determines which endpoint will provide the default gateway for a
2060
+ # container. The endpoint with the highest priority will be used. If multiple
2061
+ # endpoints have the same priority, endpoints are lexicographically sorted based
2062
+ # on their network name, and the one that sorts first is picked.
2063
+ #
2064
+ # @return [Integer, nil]
2065
+ optional :gw_priority, Integer, api_name: :GwPriority
2066
+
2067
+ # @!attribute ip_address
2068
+ # IPv4 address.
2069
+ #
2070
+ # @return [String, nil]
2071
+ optional :ip_address, String, api_name: :IPAddress
2072
+
2073
+ # @!attribute ipam_config
2074
+ # EndpointIPAMConfig represents an endpoint's IPAM configuration.
2075
+ #
2076
+ # @return [DockerEngine::Models::Container::NetworkSettings::Network::IpamConfig, nil]
2077
+ optional :ipam_config,
2078
+ -> { DockerEngine::Container::NetworkSettings::Network::IpamConfig },
2079
+ api_name: :IPAMConfig,
2080
+ nil?: true
2081
+
2082
+ # @!attribute ip_prefix_len
2083
+ # Mask length of the IPv4 address.
2084
+ #
2085
+ # @return [Integer, nil]
2086
+ optional :ip_prefix_len, Integer, api_name: :IPPrefixLen
2087
+
2088
+ # @!attribute i_pv6_gateway
2089
+ # IPv6 gateway address.
2090
+ #
2091
+ # @return [String, nil]
2092
+ optional :i_pv6_gateway, String, api_name: :IPv6Gateway
2093
+
2094
+ # @!attribute links
2095
+ #
2096
+ # @return [Array<String>, nil]
2097
+ optional :links, DockerEngine::Internal::Type::ArrayOf[String], api_name: :Links
2098
+
2099
+ # @!attribute mac_address
2100
+ # MAC address for the endpoint on this network. The network driver might ignore
2101
+ # this parameter.
2102
+ #
2103
+ # @return [String, nil]
2104
+ optional :mac_address, String, api_name: :MacAddress
2105
+
2106
+ # @!attribute network_id
2107
+ # Unique ID of the network.
2108
+ #
2109
+ # @return [String, nil]
2110
+ optional :network_id, String, api_name: :NetworkID
2111
+
2112
+ # @!method initialize(aliases: nil, dns_names: nil, driver_opts: nil, endpoint_id: nil, gateway: nil, global_i_pv6_address: nil, global_i_pv6_prefix_len: nil, gw_priority: nil, ip_address: nil, ipam_config: nil, ip_prefix_len: nil, i_pv6_gateway: nil, links: nil, mac_address: nil, network_id: nil)
2113
+ # Some parameter documentations has been truncated, see
2114
+ # {DockerEngine::Models::Container::NetworkSettings::Network} for more details.
2115
+ #
2116
+ # Configuration for a network endpoint.
2117
+ #
2118
+ # @param aliases [Array<String>]
2119
+ #
2120
+ # @param dns_names [Array<String>] List of all DNS names an endpoint has on a specific network. This
2121
+ #
2122
+ # @param driver_opts [Hash{Symbol=>String}, nil] DriverOpts is a mapping of driver options and values. These options
2123
+ #
2124
+ # @param endpoint_id [String] Unique ID for the service endpoint in a Sandbox.
2125
+ #
2126
+ # @param gateway [String] Gateway address for this network.
2127
+ #
2128
+ # @param global_i_pv6_address [String] Global IPv6 address.
2129
+ #
2130
+ # @param global_i_pv6_prefix_len [Integer] Mask length of the global IPv6 address.
2131
+ #
2132
+ # @param gw_priority [Integer] This property determines which endpoint will provide the default
2133
+ #
2134
+ # @param ip_address [String] IPv4 address.
2135
+ #
2136
+ # @param ipam_config [DockerEngine::Models::Container::NetworkSettings::Network::IpamConfig, nil] EndpointIPAMConfig represents an endpoint's IPAM configuration.
2137
+ #
2138
+ # @param ip_prefix_len [Integer] Mask length of the IPv4 address.
2139
+ #
2140
+ # @param i_pv6_gateway [String] IPv6 gateway address.
2141
+ #
2142
+ # @param links [Array<String>]
2143
+ #
2144
+ # @param mac_address [String] MAC address for the endpoint on this network. The network driver might ignore th
2145
+ #
2146
+ # @param network_id [String] Unique ID of the network.
2147
+
2148
+ # @see DockerEngine::Models::Container::NetworkSettings::Network#ipam_config
2149
+ class IpamConfig < DockerEngine::Internal::Type::BaseModel
2150
+ # @!attribute i_pv4_address
2151
+ #
2152
+ # @return [String, nil]
2153
+ optional :i_pv4_address, String, api_name: :IPv4Address
2154
+
2155
+ # @!attribute i_pv6_address
2156
+ #
2157
+ # @return [String, nil]
2158
+ optional :i_pv6_address, String, api_name: :IPv6Address
2159
+
2160
+ # @!attribute link_local_ips
2161
+ #
2162
+ # @return [Array<String>, nil]
2163
+ optional :link_local_ips, DockerEngine::Internal::Type::ArrayOf[String], api_name: :LinkLocalIPs
2164
+
2165
+ # @!method initialize(i_pv4_address: nil, i_pv6_address: nil, link_local_ips: nil)
2166
+ # EndpointIPAMConfig represents an endpoint's IPAM configuration.
2167
+ #
2168
+ # @param i_pv4_address [String]
2169
+ # @param i_pv6_address [String]
2170
+ # @param link_local_ips [Array<String>]
2171
+ end
2172
+ end
2173
+
2174
+ class Port < DockerEngine::Internal::Type::BaseModel
2175
+ # @!attribute host_ip
2176
+ # Host IP address that the container's port is mapped to.
2177
+ #
2178
+ # @return [String, nil]
2179
+ optional :host_ip, String, api_name: :HostIp
2180
+
2181
+ # @!attribute host_port
2182
+ # Host port number that the container's port is mapped to.
2183
+ #
2184
+ # @return [String, nil]
2185
+ optional :host_port, String, api_name: :HostPort
2186
+
2187
+ # @!method initialize(host_ip: nil, host_port: nil)
2188
+ # PortBinding represents a binding between a host IP address and a host port.
2189
+ #
2190
+ # @param host_ip [String] Host IP address that the container's port is mapped to.
2191
+ #
2192
+ # @param host_port [String] Host port number that the container's port is mapped to.
2193
+ end
2194
+ end
2195
+
2196
+ # @see DockerEngine::Models::Container#state
2197
+ class State < DockerEngine::Internal::Type::BaseModel
2198
+ # @!attribute dead
2199
+ #
2200
+ # @return [Boolean, nil]
2201
+ optional :dead, DockerEngine::Internal::Type::Boolean, api_name: :Dead
2202
+
2203
+ # @!attribute error
2204
+ #
2205
+ # @return [String, nil]
2206
+ optional :error, String, api_name: :Error
2207
+
2208
+ # @!attribute exit_code
2209
+ # The last exit code of this container
2210
+ #
2211
+ # @return [Integer, nil]
2212
+ optional :exit_code, Integer, api_name: :ExitCode
2213
+
2214
+ # @!attribute finished_at
2215
+ # The time when this container last exited.
2216
+ #
2217
+ # @return [String, nil]
2218
+ optional :finished_at, String, api_name: :FinishedAt
2219
+
2220
+ # @!attribute health
2221
+ # Health stores information about the container's healthcheck results.
2222
+ #
2223
+ # @return [DockerEngine::Models::Container::State::Health, nil]
2224
+ optional :health, -> { DockerEngine::Container::State::Health }, api_name: :Health, nil?: true
2225
+
2226
+ # @!attribute oom_killed
2227
+ # Whether a process within this container has been killed because it ran out of
2228
+ # memory since the container was last started.
2229
+ #
2230
+ # @return [Boolean, nil]
2231
+ optional :oom_killed, DockerEngine::Internal::Type::Boolean, api_name: :OOMKilled
2232
+
2233
+ # @!attribute paused
2234
+ # Whether this container is paused.
2235
+ #
2236
+ # @return [Boolean, nil]
2237
+ optional :paused, DockerEngine::Internal::Type::Boolean, api_name: :Paused
2238
+
2239
+ # @!attribute pid
2240
+ # The process ID of this container
2241
+ #
2242
+ # @return [Integer, nil]
2243
+ optional :pid, Integer, api_name: :Pid
2244
+
2245
+ # @!attribute restarting
2246
+ # Whether this container is restarting.
2247
+ #
2248
+ # @return [Boolean, nil]
2249
+ optional :restarting, DockerEngine::Internal::Type::Boolean, api_name: :Restarting
2250
+
2251
+ # @!attribute running
2252
+ # Whether this container is running.
2253
+ #
2254
+ # Note that a running container can be _paused_. The `Running` and `Paused`
2255
+ # booleans are not mutually exclusive:
2256
+ #
2257
+ # When pausing a container (on Linux), the freezer cgroup is used to suspend all
2258
+ # processes in the container. Freezing the process requires the process to be
2259
+ # running. As a result, paused containers are both `Running` _and_ `Paused`.
2260
+ #
2261
+ # Use the `Status` field instead to determine if a container's state is "running".
2262
+ #
2263
+ # @return [Boolean, nil]
2264
+ optional :running, DockerEngine::Internal::Type::Boolean, api_name: :Running
2265
+
2266
+ # @!attribute started_at
2267
+ # The time when this container was last started.
2268
+ #
2269
+ # @return [String, nil]
2270
+ optional :started_at, String, api_name: :StartedAt
2271
+
2272
+ # @!attribute status
2273
+ # String representation of the container state. Can be one of "created",
2274
+ # "running", "paused", "restarting", "removing", "exited", or "dead".
2275
+ #
2276
+ # @return [Symbol, DockerEngine::Models::Container::State::Status, nil]
2277
+ optional :status, enum: -> { DockerEngine::Container::State::Status }, api_name: :Status
2278
+
2279
+ # @!method initialize(dead: nil, error: nil, exit_code: nil, finished_at: nil, health: nil, oom_killed: nil, paused: nil, pid: nil, restarting: nil, running: nil, started_at: nil, status: nil)
2280
+ # Some parameter documentations has been truncated, see
2281
+ # {DockerEngine::Models::Container::State} for more details.
2282
+ #
2283
+ # ContainerState stores container's running state. It's part of ContainerJSONBase
2284
+ # and will be returned by the "inspect" command.
2285
+ #
2286
+ # @param dead [Boolean]
2287
+ #
2288
+ # @param error [String]
2289
+ #
2290
+ # @param exit_code [Integer] The last exit code of this container
2291
+ #
2292
+ # @param finished_at [String] The time when this container last exited.
2293
+ #
2294
+ # @param health [DockerEngine::Models::Container::State::Health, nil] Health stores information about the container's healthcheck results.
2295
+ #
2296
+ # @param oom_killed [Boolean] Whether a process within this container has been killed because it ran
2297
+ #
2298
+ # @param paused [Boolean] Whether this container is paused.
2299
+ #
2300
+ # @param pid [Integer] The process ID of this container
2301
+ #
2302
+ # @param restarting [Boolean] Whether this container is restarting.
2303
+ #
2304
+ # @param running [Boolean] Whether this container is running.
2305
+ #
2306
+ # @param started_at [String] The time when this container was last started.
2307
+ #
2308
+ # @param status [Symbol, DockerEngine::Models::Container::State::Status] String representation of the container state. Can be one of "created",
2309
+
2310
+ # @see DockerEngine::Models::Container::State#health
2311
+ class Health < DockerEngine::Internal::Type::BaseModel
2312
+ # @!attribute failing_streak
2313
+ # FailingStreak is the number of consecutive failures
2314
+ #
2315
+ # @return [Integer, nil]
2316
+ optional :failing_streak, Integer, api_name: :FailingStreak
2317
+
2318
+ # @!attribute log
2319
+ # Log contains the last few results (oldest first)
2320
+ #
2321
+ # @return [Array<DockerEngine::Models::Container::State::Health::Log, nil>, nil]
2322
+ optional :log,
2323
+ -> {
2324
+ DockerEngine::Internal::Type::ArrayOf[DockerEngine::Container::State::Health::Log,
2325
+ nil?: true]
2326
+ },
2327
+ api_name: :Log
2328
+
2329
+ # @!attribute status
2330
+ # Status is one of `none`, `starting`, `healthy` or `unhealthy`
2331
+ #
2332
+ # - "none" Indicates there is no healthcheck
2333
+ # - "starting" Starting indicates that the container is not yet ready
2334
+ # - "healthy" Healthy indicates that the container is running correctly
2335
+ # - "unhealthy" Unhealthy indicates that the container has a problem
2336
+ #
2337
+ # @return [Symbol, DockerEngine::Models::Container::State::Health::Status, nil]
2338
+ optional :status, enum: -> { DockerEngine::Container::State::Health::Status }, api_name: :Status
2339
+
2340
+ # @!method initialize(failing_streak: nil, log: nil, status: nil)
2341
+ # Some parameter documentations has been truncated, see
2342
+ # {DockerEngine::Models::Container::State::Health} for more details.
2343
+ #
2344
+ # Health stores information about the container's healthcheck results.
2345
+ #
2346
+ # @param failing_streak [Integer] FailingStreak is the number of consecutive failures
2347
+ #
2348
+ # @param log [Array<DockerEngine::Models::Container::State::Health::Log, nil>] Log contains the last few results (oldest first)
2349
+ #
2350
+ # @param status [Symbol, DockerEngine::Models::Container::State::Health::Status] Status is one of `none`, `starting`, `healthy` or `unhealthy`
2351
+
2352
+ class Log < DockerEngine::Internal::Type::BaseModel
2353
+ # @!attribute end_
2354
+ # Date and time at which this check ended in
2355
+ # [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.
2356
+ #
2357
+ # @return [String, nil]
2358
+ optional :end_, String, api_name: :End
2359
+
2360
+ # @!attribute exit_code
2361
+ # ExitCode meanings:
2362
+ #
2363
+ # - `0` healthy
2364
+ # - `1` unhealthy
2365
+ # - `2` reserved (considered unhealthy)
2366
+ # - other values: error running probe
2367
+ #
2368
+ # @return [Integer, nil]
2369
+ optional :exit_code, Integer, api_name: :ExitCode
2370
+
2371
+ # @!attribute output
2372
+ # Output from last check
2373
+ #
2374
+ # @return [String, nil]
2375
+ optional :output, String, api_name: :Output
2376
+
2377
+ # @!attribute start
2378
+ # Date and time at which this check started in
2379
+ # [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format with nano-seconds.
2380
+ #
2381
+ # @return [Time, nil]
2382
+ optional :start, Time, api_name: :Start
2383
+
2384
+ # @!method initialize(end_: nil, exit_code: nil, output: nil, start: nil)
2385
+ # Some parameter documentations has been truncated, see
2386
+ # {DockerEngine::Models::Container::State::Health::Log} for more details.
2387
+ #
2388
+ # HealthcheckResult stores information about a single run of a healthcheck probe
2389
+ #
2390
+ # @param end_ [String] Date and time at which this check ended in
2391
+ #
2392
+ # @param exit_code [Integer] ExitCode meanings:
2393
+ #
2394
+ # @param output [String] Output from last check
2395
+ #
2396
+ # @param start [Time] Date and time at which this check started in
2397
+ end
2398
+
2399
+ # Status is one of `none`, `starting`, `healthy` or `unhealthy`
2400
+ #
2401
+ # - "none" Indicates there is no healthcheck
2402
+ # - "starting" Starting indicates that the container is not yet ready
2403
+ # - "healthy" Healthy indicates that the container is running correctly
2404
+ # - "unhealthy" Unhealthy indicates that the container has a problem
2405
+ #
2406
+ # @see DockerEngine::Models::Container::State::Health#status
2407
+ module Status
2408
+ extend DockerEngine::Internal::Type::Enum
2409
+
2410
+ NONE = :none
2411
+ STARTING = :starting
2412
+ HEALTHY = :healthy
2413
+ UNHEALTHY = :unhealthy
2414
+
2415
+ # @!method self.values
2416
+ # @return [Array<Symbol>]
2417
+ end
2418
+ end
2419
+
2420
+ # String representation of the container state. Can be one of "created",
2421
+ # "running", "paused", "restarting", "removing", "exited", or "dead".
2422
+ #
2423
+ # @see DockerEngine::Models::Container::State#status
2424
+ module Status
2425
+ extend DockerEngine::Internal::Type::Enum
2426
+
2427
+ CREATED = :created
2428
+ RUNNING = :running
2429
+ PAUSED = :paused
2430
+ RESTARTING = :restarting
2431
+ REMOVING = :removing
2432
+ EXITED = :exited
2433
+ DEAD = :dead
2434
+
2435
+ # @!method self.values
2436
+ # @return [Array<Symbol>]
2437
+ end
2438
+ end
2439
+
2440
+ # @see DockerEngine::Models::Container#storage
2441
+ class Storage < DockerEngine::Internal::Type::BaseModel
2442
+ # @!attribute root_fs
2443
+ # Information about the storage used for the container's root filesystem.
2444
+ #
2445
+ # @return [DockerEngine::Models::Container::Storage::RootFs, nil]
2446
+ optional :root_fs, -> { DockerEngine::Container::Storage::RootFs }, api_name: :RootFS
2447
+
2448
+ # @!method initialize(root_fs: nil)
2449
+ # Some parameter documentations has been truncated, see
2450
+ # {DockerEngine::Models::Container::Storage} for more details.
2451
+ #
2452
+ # Information about the storage used by the container.
2453
+ #
2454
+ # @param root_fs [DockerEngine::Models::Container::Storage::RootFs] Information about the storage used for the container's root filesystem.
2455
+
2456
+ # @see DockerEngine::Models::Container::Storage#root_fs
2457
+ class RootFs < DockerEngine::Internal::Type::BaseModel
2458
+ # @!attribute snapshot
2459
+ # Information about a snapshot backend of the container's root filesystem.
2460
+ #
2461
+ # @return [DockerEngine::Models::Container::Storage::RootFs::Snapshot, nil]
2462
+ optional :snapshot, -> { DockerEngine::Container::Storage::RootFs::Snapshot }, api_name: :Snapshot
2463
+
2464
+ # @!method initialize(snapshot: nil)
2465
+ # Some parameter documentations has been truncated, see
2466
+ # {DockerEngine::Models::Container::Storage::RootFs} for more details.
2467
+ #
2468
+ # Information about the storage used for the container's root filesystem.
2469
+ #
2470
+ # @param snapshot [DockerEngine::Models::Container::Storage::RootFs::Snapshot] Information about a snapshot backend of the container's root filesystem.
2471
+
2472
+ # @see DockerEngine::Models::Container::Storage::RootFs#snapshot
2473
+ class Snapshot < DockerEngine::Internal::Type::BaseModel
2474
+ # @!attribute name
2475
+ # Name of the snapshotter.
2476
+ #
2477
+ # @return [String, nil]
2478
+ optional :name, String, api_name: :Name
2479
+
2480
+ # @!method initialize(name: nil)
2481
+ # Information about a snapshot backend of the container's root filesystem.
2482
+ #
2483
+ # @param name [String] Name of the snapshotter.
2484
+ end
2485
+ end
2486
+ end
2487
+ end
2488
+ end
2489
+ end