docker_client_async/types/
client.rs1use crate::container::StatsStream;
19use crate::types::filters::Args;
20use crate::types::network::EndpointSettings;
21use crate::types::volume::Volume;
22use derive_builder::Builder;
23use serde::{Deserialize, Serialize};
24use std::collections::HashMap;
25use std::time::SystemTime;
26
27#[derive(Clone, Debug, Default, Builder)]
29#[builder(default, setter(into))]
30pub struct ContainerListOptions {
31 pub size: bool,
33 pub all: bool,
35 pub limit: Option<usize>,
37 pub filters: Option<super::filters::Args>,
39}
40
41#[derive(Clone, Debug, Default, Builder)]
43#[builder(default, setter(into))]
44pub struct ContainerLogsOptions {
45 pub show_stdout: bool,
46 pub show_stderr: bool,
47 pub since: Option<SystemTime>,
48 pub until: Option<SystemTime>,
49 pub timestamps: bool,
50 pub follow: bool,
51 pub tail: Option<String>,
52 pub details: bool,
53}
54
55#[derive(Clone, Debug, Default, Builder)]
59#[builder(default, setter(into))]
60pub struct ResizeOptions {
61 pub height: Option<u32>,
62 pub width: Option<u32>,
63}
64
65#[derive(Clone, Debug, Default, Builder)]
67#[builder(default, setter(into))]
68pub struct ContainerStartOptions {
69 pub checkpoint_id: Option<String>,
70 pub checkpoint_dir: Option<String>,
71}
72
73#[derive(Clone, Debug, Default, Builder)]
75#[builder(default, setter(into))]
76pub struct ContainerAttachOptions {
77 pub stream: bool,
78 pub stdin: bool,
79 pub stdout: bool,
80 pub stderr: bool,
81 pub detach_keys: Option<String>,
82 pub logs: bool,
83}
84
85#[derive(Clone, Debug, Default, Builder)]
88#[builder(default, setter(into))]
89pub struct CopyToContainerOptions {
90 pub allow_overwrite_dir_with_file: bool,
91 pub copy_uid_gid: bool,
92}
93
94#[derive(Clone, Debug, Default, Builder)]
96#[builder(default, setter(into))]
97pub struct ContainerRemoveOptions {
98 pub remove_volumes: bool,
99 pub remove_links: bool,
100 pub force: bool,
101}
102
103#[derive(Clone, Debug, Default, Builder)]
105#[builder(default, setter(into))]
106pub struct NetworkListOptions {
107 pub filters: Option<Args>,
108}
109
110#[derive(Clone, Debug, Default, Builder)]
112#[builder(default, setter(into))]
113pub struct NetworkInspectOptions {
114 pub scope: Option<String>,
115 pub verbose: bool,
116}
117
118#[derive(Clone, Debug, Deserialize)]
120pub struct ContainerCreateCreatedBody {
121 #[serde(rename = "Id")]
123 pub id: String,
124 #[serde(rename = "Warnings")]
126 pub warnings: Option<Vec<String>>,
127}
128
129#[derive(Clone, Debug, Deserialize)]
131pub struct ContainerTopOKBody {
132 #[serde(rename = "Processes")]
135 pub processes: Vec<Vec<String>>,
136 #[serde(rename = "Titles")]
138 pub titles: Vec<String>,
139}
140
141#[derive(Clone, Debug, Deserialize)]
143pub struct ContainerChangeResponseItem {
144 #[serde(rename = "Kind")]
146 pub kind: u8,
147 #[serde(rename = "Path")]
149 pub path: String,
150}
151
152#[derive(Clone, Debug, Deserialize)]
154pub struct ContainerUpdateOKBody {
155 #[serde(rename = "Warnings")]
157 pub warnings: Option<Vec<String>>,
158}
159
160#[derive(Clone, Debug, Deserialize)]
162pub struct ContainerWaitOKBody {
163 #[serde(rename = "Error")]
165 pub error: Option<Vec<String>>,
166 #[serde(rename = "StatusCode")]
168 pub status_code: i64,
169}
170
171#[derive(Clone, Debug, Deserialize)]
175pub struct ContainerPathStat {
176 pub name: String,
177 pub size: i64,
178 pub mode: u32,
179 pub mtime: String,
180 #[serde(rename = "linkTarget")]
181 pub link_target: Option<String>,
182}
183
184#[derive(Clone, Debug, Deserialize)]
187pub struct ContainersPruneReport {
188 #[serde(rename = "ContainersDeleted")]
189 pub containers_deleted: Option<Vec<String>>,
190 #[serde(rename = "SpaceReclaimed")]
191 pub space_reclaimed: Option<u64>,
192}
193
194pub struct ContainerStats {
196 pub body: StatsStream,
197 pub os_type: String,
198}
199
200#[derive(Clone, Debug, Serialize, Default, Builder)]
202#[builder(default, setter(into))]
203pub struct VolumeCreateBody {
204 #[serde(rename = "Driver")]
206 #[serde(skip_serializing_if = "Option::is_none")]
207 pub driver: Option<String>,
208 #[serde(rename = "DriverOpts")]
211 #[serde(skip_serializing_if = "Option::is_none")]
212 pub driver_opts: Option<HashMap<String, String>>,
213 #[serde(rename = "Labels")]
215 #[serde(skip_serializing_if = "Option::is_none")]
216 pub labels: Option<HashMap<String, String>>,
217 #[serde(rename = "Name")]
219 #[serde(skip_serializing_if = "Option::is_none")]
220 pub name: Option<String>,
221}
222
223#[derive(Clone, Debug, Deserialize)]
225pub struct VolumeListOKBody {
226 #[serde(rename = "Volumes")]
228 pub volumes: Option<Vec<Volume>>,
229 #[serde(rename = "Warnings")]
231 pub warnings: Option<Vec<String>>,
232}
233
234#[derive(Clone, Debug, Deserialize)]
237pub struct VolumesPruneReport {
238 #[serde(rename = "VolumesDeleted")]
239 pub volumes_deleted: Option<Vec<String>>,
240 #[serde(rename = "SpaceReclaimed")]
241 pub space_reclaimed: Option<u64>,
242}
243
244#[derive(Clone, Debug, Deserialize)]
246pub struct NetworkCreateResponse {
247 #[serde(rename = "Id")]
248 pub id: String,
249 #[serde(rename = "Warning")]
250 pub warning: Option<String>,
251}
252
253#[derive(Clone, Debug, Deserialize)]
255pub struct NetworksPruneReport {
256 #[serde(rename = "NetworksDeleted")]
257 pub networks_deleted: Option<Vec<String>>,
258}
259
260#[derive(Clone, Debug, Serialize)]
262pub struct NetworkConnect {
263 #[serde(rename = "Container")]
264 pub container: String,
265 #[serde(rename = "EndpointConfig")]
266 #[serde(skip_serializing_if = "Option::is_none")]
267 pub endpoint_config: Option<EndpointSettings>,
268}
269
270#[derive(Clone, Debug, Serialize)]
272pub struct NetworkDisconnect {
273 #[serde(rename = "Container")]
274 pub container: String,
275 #[serde(rename = "Force")]
276 #[serde(skip_serializing_if = "Option::is_none")]
277 pub force: Option<bool>,
278}