1#![allow(
2 non_snake_case,
3 clippy::redundant_field_names,
4 clippy::new_without_default,
5 clippy::too_many_arguments
6)]
7
8use serde::{Deserialize, Serialize};
9use serde_json::Value;
10
11use std::collections::HashMap;
12
13use chrono::{DateTime, Utc};
14
15fn deserialize_nonoptional_vec<
16 'de,
17 D: serde::de::Deserializer<'de>,
18 T: serde::de::DeserializeOwned,
19>(
20 d: D,
21) -> Result<Vec<T>, D::Error> {
22 serde::de::Deserialize::deserialize(d).map(|x: Option<_>| x.unwrap_or_default())
23}
24
25fn deserialize_nonoptional_map<
26 'de,
27 D: serde::de::Deserializer<'de>,
28 T: serde::de::DeserializeOwned,
29>(
30 d: D,
31) -> Result<HashMap<String, T>, D::Error> {
32 serde::de::Deserialize::deserialize(d).map(|x: Option<_>| x.unwrap_or_default())
33}
34#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
35pub struct Address {
37 #[serde(rename = "Addr")]
38 #[serde(skip_serializing_if = "Option::is_none")]
39 pub addr: Option<String>,
41 #[serde(rename = "PrefixLen")]
42 #[serde(skip_serializing_if = "Option::is_none")]
43 pub prefix_len: Option<isize>,
45}
46
47#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
48pub struct AuthConfig {
49 #[serde(skip_serializing_if = "Option::is_none")]
50 pub email: Option<String>,
51 #[serde(skip_serializing_if = "Option::is_none")]
52 pub password: Option<String>,
53 #[serde(skip_serializing_if = "Option::is_none")]
54 pub serveraddress: Option<String>,
55 #[serde(skip_serializing_if = "Option::is_none")]
56 pub username: Option<String>,
57}
58
59#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
60pub struct BuildCache {
62 #[serde(rename = "CreatedAt")]
63 #[serde(skip_serializing_if = "Option::is_none")]
64 pub created_at: Option<DateTime<Utc>>,
67 #[serde(rename = "Description")]
68 #[serde(skip_serializing_if = "Option::is_none")]
69 pub description: Option<String>,
71 #[serde(rename = "ID")]
72 #[serde(skip_serializing_if = "Option::is_none")]
73 pub id: Option<String>,
75 #[serde(rename = "InUse")]
76 #[serde(skip_serializing_if = "Option::is_none")]
77 pub in_use: Option<bool>,
79 #[serde(rename = "LastUsedAt")]
80 #[serde(skip_serializing_if = "Option::is_none")]
81 pub last_used_at: Option<DateTime<Utc>>,
84 #[serde(rename = "Parent")]
85 #[serde(skip_serializing_if = "Option::is_none")]
86 pub parent: Option<String>,
90 #[serde(rename = "Parents")]
91 #[serde(skip_serializing_if = "Option::is_none")]
92 pub parents: Option<Vec<String>>,
94 #[serde(rename = "Shared")]
95 #[serde(skip_serializing_if = "Option::is_none")]
96 pub shared: Option<bool>,
98 #[serde(rename = "Size")]
99 #[serde(skip_serializing_if = "Option::is_none")]
100 pub size: Option<isize>,
102 #[serde(rename = "Type")]
103 #[serde(skip_serializing_if = "Option::is_none")]
104 pub type_: Option<String>,
106 #[serde(rename = "UsageCount")]
107 #[serde(skip_serializing_if = "Option::is_none")]
108 pub usage_count: Option<isize>,
109}
110
111#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
112pub enum BuildCacheTypeInlineItem {
114 #[serde(rename = "internal")]
115 Internal,
116 #[serde(rename = "frontend")]
117 Frontend,
118 #[serde(rename = "source.local")]
119 SourceLocal,
120 #[serde(rename = "source.git.checkout")]
121 SourceGitCheckout,
122 #[serde(rename = "exec.cachemount")]
123 ExecCachemount,
124 #[serde(rename = "regular")]
125 Regular,
126}
127
128impl AsRef<str> for BuildCacheTypeInlineItem {
129 fn as_ref(&self) -> &str {
130 match self {
131 BuildCacheTypeInlineItem::Internal => "internal",
132 BuildCacheTypeInlineItem::Frontend => "frontend",
133 BuildCacheTypeInlineItem::SourceLocal => "source.local",
134 BuildCacheTypeInlineItem::SourceGitCheckout => "source.git.checkout",
135 BuildCacheTypeInlineItem::ExecCachemount => "exec.cachemount",
136 BuildCacheTypeInlineItem::Regular => "regular",
137 }
138 }
139}
140
141impl std::fmt::Display for BuildCacheTypeInlineItem {
142 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
143 write!(f, "{}", self.as_ref())
144 }
145}
146
147#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
148pub struct BuildInfo {
149 pub aux: Option<ImageId>,
150 #[serde(skip_serializing_if = "Option::is_none")]
151 pub error: Option<String>,
152 #[serde(rename = "errorDetail")]
153 pub error_detail: Option<ErrorDetail>,
154 #[serde(skip_serializing_if = "Option::is_none")]
155 pub id: Option<String>,
156 #[serde(skip_serializing_if = "Option::is_none")]
157 pub progress: Option<String>,
158 #[serde(rename = "progressDetail")]
159 pub progress_detail: Option<ProgressDetail>,
160 #[serde(skip_serializing_if = "Option::is_none")]
161 pub status: Option<String>,
162 #[serde(skip_serializing_if = "Option::is_none")]
163 pub stream: Option<String>,
164}
165
166#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
167pub struct BuildPrune200Response {
169 #[serde(rename = "CachesDeleted")]
170 #[serde(skip_serializing_if = "Option::is_none")]
171 pub caches_deleted: Option<Vec<String>>,
172 #[serde(rename = "SpaceReclaimed")]
173 #[serde(skip_serializing_if = "Option::is_none")]
174 pub space_reclaimed: Option<i64>,
176}
177
178pub type ChangeType = u8;
186
187#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
188pub struct ClusterInfo {
191 #[serde(rename = "CreatedAt")]
192 #[serde(skip_serializing_if = "Option::is_none")]
193 pub created_at: Option<DateTime<Utc>>,
196 #[serde(rename = "DataPathPort")]
197 #[serde(skip_serializing_if = "Option::is_none")]
198 pub data_path_port: Option<u32>,
202 #[serde(rename = "DefaultAddrPool")]
203 #[serde(skip_serializing_if = "Option::is_none")]
204 pub default_addr_pool: Option<Vec<String>>,
207 #[serde(rename = "ID")]
208 #[serde(skip_serializing_if = "Option::is_none")]
209 pub id: Option<String>,
211 #[serde(rename = "RootRotationInProgress")]
212 #[serde(skip_serializing_if = "Option::is_none")]
213 pub root_rotation_in_progress: Option<bool>,
215 #[serde(rename = "Spec")]
216 pub spec: Option<SwarmSpec>,
217 #[serde(rename = "SubnetSize")]
218 #[serde(skip_serializing_if = "Option::is_none")]
219 pub subnet_size: Option<u32>,
222 #[serde(rename = "TLSInfo")]
223 pub tls_info: Option<TlsInfo>,
224 #[serde(rename = "UpdatedAt")]
225 #[serde(skip_serializing_if = "Option::is_none")]
226 pub updated_at: Option<DateTime<Utc>>,
229 #[serde(rename = "Version")]
230 pub version: Option<ObjectVersion>,
231}
232
233#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
234pub struct ClusterVolume {
237 #[serde(rename = "CreatedAt")]
238 #[serde(skip_serializing_if = "Option::is_none")]
239 pub created_at: Option<DateTime<Utc>>,
240 #[serde(rename = "ID")]
241 #[serde(skip_serializing_if = "Option::is_none")]
242 pub id: Option<String>,
246 #[serde(rename = "Info")]
247 #[serde(skip_serializing_if = "Option::is_none")]
248 pub info: Option<ClusterVolumeInfoInlineItem>,
250 #[serde(rename = "PublishStatus")]
251 #[serde(skip_serializing_if = "Option::is_none")]
252 pub publish_status: Option<Vec<ClusterVolumePublishStatusInlineItem>>,
255 #[serde(rename = "Spec")]
256 pub spec: Option<ClusterVolumeSpec>,
257 #[serde(rename = "UpdatedAt")]
258 #[serde(skip_serializing_if = "Option::is_none")]
259 pub updated_at: Option<DateTime<Utc>>,
260 #[serde(rename = "Version")]
261 pub version: Option<ObjectVersion>,
262}
263
264#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
265pub struct ClusterVolumeInfoInlineItem {
267 #[serde(rename = "AccessibleTopology")]
268 #[serde(skip_serializing_if = "Option::is_none")]
269 pub accessible_topology: Option<Vec<Topology>>,
271 #[serde(rename = "CapacityBytes")]
272 #[serde(skip_serializing_if = "Option::is_none")]
273 pub capacity_bytes: Option<i64>,
276 #[serde(rename = "VolumeContext")]
277 #[serde(skip_serializing_if = "Option::is_none")]
278 pub volume_context: Option<HashMap<String, String>>,
281 #[serde(rename = "VolumeID")]
282 #[serde(skip_serializing_if = "Option::is_none")]
283 pub volume_id: Option<String>,
289}
290
291#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
292pub struct ClusterVolumePublishStatusInlineItem {
293 #[serde(rename = "NodeID")]
294 #[serde(skip_serializing_if = "Option::is_none")]
295 pub node_id: Option<String>,
297 #[serde(rename = "PublishContext")]
298 #[serde(skip_serializing_if = "Option::is_none")]
299 pub publish_context: Option<HashMap<String, String>>,
302 #[serde(rename = "State")]
303 #[serde(skip_serializing_if = "Option::is_none")]
304 pub state: Option<String>,
310}
311
312#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
313pub enum ClusterVolumePublishStatusInlineItemStateInlineItem {
319 #[serde(rename = "pending-publish")]
320 PendingPublish,
321 #[serde(rename = "published")]
322 Published,
323 #[serde(rename = "pending-node-unpublish")]
324 PendingNodeUnpublish,
325 #[serde(rename = "pending-controller-unpublish")]
326 PendingControllerUnpublish,
327}
328
329impl AsRef<str> for ClusterVolumePublishStatusInlineItemStateInlineItem {
330 fn as_ref(&self) -> &str {
331 match self {
332 ClusterVolumePublishStatusInlineItemStateInlineItem::PendingPublish => {
333 "pending-publish"
334 }
335 ClusterVolumePublishStatusInlineItemStateInlineItem::Published => "published",
336 ClusterVolumePublishStatusInlineItemStateInlineItem::PendingNodeUnpublish => {
337 "pending-node-unpublish"
338 }
339 ClusterVolumePublishStatusInlineItemStateInlineItem::PendingControllerUnpublish => {
340 "pending-controller-unpublish"
341 }
342 }
343 }
344}
345
346impl std::fmt::Display for ClusterVolumePublishStatusInlineItemStateInlineItem {
347 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
348 write!(f, "{}", self.as_ref())
349 }
350}
351
352#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
353pub struct ClusterVolumeSpec {
355 #[serde(rename = "AccessMode")]
356 #[serde(skip_serializing_if = "Option::is_none")]
357 pub access_mode: Option<ClusterVolumeSpecAccessModeInlineItem>,
359 #[serde(rename = "Group")]
360 #[serde(skip_serializing_if = "Option::is_none")]
361 pub group: Option<String>,
368}
369
370#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
371pub struct ClusterVolumeSpecAccessModeInlineItem {
373 #[serde(rename = "AccessibilityRequirements")]
374 #[serde(skip_serializing_if = "Option::is_none")]
375 pub accessibility_requirements:
379 Option<ClusterVolumeSpecAccessModeInlineItemAccessibilityRequirementsInlineItem>,
380 #[serde(rename = "Availability")]
381 #[serde(skip_serializing_if = "Option::is_none")]
382 pub availability: Option<String>,
387 #[serde(rename = "CapacityRange")]
388 #[serde(skip_serializing_if = "Option::is_none")]
389 pub capacity_range: Option<ClusterVolumeSpecAccessModeInlineItemCapacityRangeInlineItem>,
392 #[serde(rename = "MountVolume")]
393 #[serde(skip_serializing_if = "Option::is_none")]
394 pub mount_volume: Option<Value>,
416 #[serde(rename = "Scope")]
417 #[serde(skip_serializing_if = "Option::is_none")]
418 pub scope: Option<String>,
422 #[serde(rename = "Secrets")]
423 #[serde(skip_serializing_if = "Option::is_none")]
424 pub secrets: Option<Vec<ClusterVolumeSpecAccessModeInlineItemSecretsInlineItem>>,
427 #[serde(rename = "Sharing")]
428 #[serde(skip_serializing_if = "Option::is_none")]
429 pub sharing: Option<String>,
436}
437
438#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
439pub struct ClusterVolumeSpecAccessModeInlineItemAccessibilityRequirementsInlineItem {
443 #[serde(rename = "Preferred")]
444 #[serde(skip_serializing_if = "Option::is_none")]
445 pub preferred: Option<Vec<Topology>>,
448 #[serde(rename = "Requisite")]
449 #[serde(skip_serializing_if = "Option::is_none")]
450 pub requisite: Option<Vec<Topology>>,
453}
454
455#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
456pub enum ClusterVolumeSpecAccessModeInlineItemAvailabilityInlineItem {
461 #[serde(rename = "active")]
462 Active,
463 #[serde(rename = "pause")]
464 Pause,
465 #[serde(rename = "drain")]
466 Drain,
467}
468
469impl AsRef<str> for ClusterVolumeSpecAccessModeInlineItemAvailabilityInlineItem {
470 fn as_ref(&self) -> &str {
471 match self {
472 ClusterVolumeSpecAccessModeInlineItemAvailabilityInlineItem::Active => "active",
473 ClusterVolumeSpecAccessModeInlineItemAvailabilityInlineItem::Pause => "pause",
474 ClusterVolumeSpecAccessModeInlineItemAvailabilityInlineItem::Drain => "drain",
475 }
476 }
477}
478
479impl std::fmt::Display for ClusterVolumeSpecAccessModeInlineItemAvailabilityInlineItem {
480 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
481 write!(f, "{}", self.as_ref())
482 }
483}
484
485#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
486pub struct ClusterVolumeSpecAccessModeInlineItemCapacityRangeInlineItem {
489 #[serde(rename = "LimitBytes")]
490 #[serde(skip_serializing_if = "Option::is_none")]
491 pub limit_bytes: Option<i64>,
494 #[serde(rename = "RequiredBytes")]
495 #[serde(skip_serializing_if = "Option::is_none")]
496 pub required_bytes: Option<i64>,
499}
500
501#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
502pub enum ClusterVolumeSpecAccessModeInlineItemScopeInlineItem {
506 #[serde(rename = "single")]
507 Single,
508 #[serde(rename = "multi")]
509 Multi,
510}
511
512impl AsRef<str> for ClusterVolumeSpecAccessModeInlineItemScopeInlineItem {
513 fn as_ref(&self) -> &str {
514 match self {
515 ClusterVolumeSpecAccessModeInlineItemScopeInlineItem::Single => "single",
516 ClusterVolumeSpecAccessModeInlineItemScopeInlineItem::Multi => "multi",
517 }
518 }
519}
520
521impl std::fmt::Display for ClusterVolumeSpecAccessModeInlineItemScopeInlineItem {
522 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
523 write!(f, "{}", self.as_ref())
524 }
525}
526
527#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
528pub struct ClusterVolumeSpecAccessModeInlineItemSecretsInlineItem {
531 #[serde(rename = "Key")]
532 #[serde(skip_serializing_if = "Option::is_none")]
533 pub key: Option<String>,
536 #[serde(rename = "Secret")]
537 #[serde(skip_serializing_if = "Option::is_none")]
538 pub secret: Option<String>,
543}
544
545#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
546pub enum ClusterVolumeSpecAccessModeInlineItemSharingInlineItem {
553 #[serde(rename = "none")]
554 None,
555 #[serde(rename = "readonly")]
556 Readonly,
557 #[serde(rename = "onewriter")]
558 Onewriter,
559 #[serde(rename = "all")]
560 All,
561}
562
563impl AsRef<str> for ClusterVolumeSpecAccessModeInlineItemSharingInlineItem {
564 fn as_ref(&self) -> &str {
565 match self {
566 ClusterVolumeSpecAccessModeInlineItemSharingInlineItem::None => "none",
567 ClusterVolumeSpecAccessModeInlineItemSharingInlineItem::Readonly => "readonly",
568 ClusterVolumeSpecAccessModeInlineItemSharingInlineItem::Onewriter => "onewriter",
569 ClusterVolumeSpecAccessModeInlineItemSharingInlineItem::All => "all",
570 }
571 }
572}
573
574impl std::fmt::Display for ClusterVolumeSpecAccessModeInlineItemSharingInlineItem {
575 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
576 write!(f, "{}", self.as_ref())
577 }
578}
579
580#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
581pub struct Commit {
585 #[serde(rename = "Expected")]
586 #[serde(skip_serializing_if = "Option::is_none")]
587 pub expected: Option<String>,
589 #[serde(rename = "ID")]
590 #[serde(skip_serializing_if = "Option::is_none")]
591 pub id: Option<String>,
593}
594
595#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
596pub struct ComponentVersion {
597 #[serde(rename = "Details")]
598 #[serde(skip_serializing_if = "Option::is_none")]
599 pub details: Option<Value>,
606 #[serde(rename = "Name")]
607 pub name: String,
609 #[serde(rename = "Version")]
610 pub version: String,
612}
613
614#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
615pub struct Config {
616 #[serde(rename = "CreatedAt")]
617 #[serde(skip_serializing_if = "Option::is_none")]
618 pub created_at: Option<DateTime<Utc>>,
619 #[serde(rename = "ID")]
620 #[serde(skip_serializing_if = "Option::is_none")]
621 pub id: Option<String>,
622 #[serde(rename = "Spec")]
623 pub spec: Option<ConfigSpec>,
624 #[serde(rename = "UpdatedAt")]
625 #[serde(skip_serializing_if = "Option::is_none")]
626 pub updated_at: Option<DateTime<Utc>>,
627 #[serde(rename = "Version")]
628 pub version: Option<ObjectVersion>,
629}
630
631#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
632pub struct ConfigCreateBodyParam {
633 #[serde(rename = "Data")]
634 #[serde(skip_serializing_if = "Option::is_none")]
635 pub data: Option<String>,
638 #[serde(rename = "Labels")]
639 #[serde(skip_serializing_if = "Option::is_none")]
640 pub labels: Option<HashMap<String, String>>,
642 #[serde(rename = "Name")]
643 #[serde(skip_serializing_if = "Option::is_none")]
644 pub name: Option<String>,
646 #[serde(rename = "Templating")]
647 pub templating: Option<Driver>,
648}
649
650pub type ConfigList200Response = Vec<Config>;
652
653#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
654pub struct ConfigSpec {
655 #[serde(rename = "Data")]
656 #[serde(skip_serializing_if = "Option::is_none")]
657 pub data: Option<String>,
660 #[serde(rename = "Labels")]
661 #[serde(skip_serializing_if = "Option::is_none")]
662 pub labels: Option<HashMap<String, String>>,
664 #[serde(rename = "Name")]
665 #[serde(skip_serializing_if = "Option::is_none")]
666 pub name: Option<String>,
668 #[serde(rename = "Templating")]
669 pub templating: Option<Driver>,
670}
671
672pub type ContainerChanges200Response = Vec<FilesystemChange>;
674
675#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
676pub struct ContainerConfig {
685 #[serde(rename = "ArgsEscaped")]
686 #[serde(skip_serializing_if = "Option::is_none")]
687 pub args_escaped: Option<bool>,
689 #[serde(rename = "AttachStderr")]
690 #[serde(skip_serializing_if = "Option::is_none")]
691 pub attach_stderr: Option<bool>,
693 #[serde(rename = "AttachStdin")]
694 #[serde(skip_serializing_if = "Option::is_none")]
695 pub attach_stdin: Option<bool>,
697 #[serde(rename = "AttachStdout")]
698 #[serde(skip_serializing_if = "Option::is_none")]
699 pub attach_stdout: Option<bool>,
701 #[serde(rename = "Cmd")]
702 #[serde(skip_serializing_if = "Option::is_none")]
703 pub cmd: Option<Vec<String>>,
705 #[serde(rename = "Domainname")]
706 #[serde(skip_serializing_if = "Option::is_none")]
707 pub domainname: Option<String>,
709 #[serde(rename = "Entrypoint")]
710 #[serde(skip_serializing_if = "Option::is_none")]
711 pub entrypoint: Option<Vec<String>>,
717 #[serde(rename = "Env")]
718 #[serde(skip_serializing_if = "Option::is_none")]
719 pub env: Option<Vec<String>>,
723 #[serde(rename = "ExposedPorts")]
724 #[serde(skip_serializing_if = "Option::is_none")]
725 pub exposed_ports: Option<HashMap<String, Value>>,
729 #[serde(rename = "Healthcheck")]
730 pub healthcheck: Option<HealthConfig>,
731 #[serde(rename = "Hostname")]
732 #[serde(skip_serializing_if = "Option::is_none")]
733 pub hostname: Option<String>,
735 #[serde(rename = "Image")]
736 #[serde(skip_serializing_if = "Option::is_none")]
737 pub image: Option<String>,
740 #[serde(rename = "Labels")]
741 #[serde(skip_serializing_if = "Option::is_none")]
742 pub labels: Option<HashMap<String, String>>,
744 #[serde(rename = "MacAddress")]
745 #[serde(skip_serializing_if = "Option::is_none")]
746 pub mac_address: Option<String>,
748 #[serde(rename = "NetworkDisabled")]
749 #[serde(skip_serializing_if = "Option::is_none")]
750 pub network_disabled: Option<bool>,
752 #[serde(rename = "OnBuild")]
753 #[serde(skip_serializing_if = "Option::is_none")]
754 pub on_build: Option<Vec<String>>,
756 #[serde(rename = "OpenStdin")]
757 #[serde(skip_serializing_if = "Option::is_none")]
758 pub open_stdin: Option<bool>,
760 #[serde(rename = "Shell")]
761 #[serde(skip_serializing_if = "Option::is_none")]
762 pub shell: Option<Vec<String>>,
764 #[serde(rename = "StdinOnce")]
765 #[serde(skip_serializing_if = "Option::is_none")]
766 pub stdin_once: Option<bool>,
768 #[serde(rename = "StopSignal")]
769 #[serde(skip_serializing_if = "Option::is_none")]
770 pub stop_signal: Option<String>,
772 #[serde(rename = "StopTimeout")]
773 #[serde(skip_serializing_if = "Option::is_none")]
774 pub stop_timeout: Option<isize>,
776 #[serde(rename = "Tty")]
777 #[serde(skip_serializing_if = "Option::is_none")]
778 pub tty: Option<bool>,
780 #[serde(rename = "User")]
781 #[serde(skip_serializing_if = "Option::is_none")]
782 pub user: Option<String>,
784 #[serde(rename = "Volumes")]
785 #[serde(skip_serializing_if = "Option::is_none")]
786 pub volumes: Option<HashMap<String, Value>>,
789 #[serde(rename = "WorkingDir")]
790 #[serde(skip_serializing_if = "Option::is_none")]
791 pub working_dir: Option<String>,
793}
794
795#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
796pub struct ContainerCreateBodyParam {
805 #[serde(rename = "ArgsEscaped")]
806 #[serde(skip_serializing_if = "Option::is_none")]
807 pub args_escaped: Option<bool>,
809 #[serde(rename = "AttachStderr")]
810 #[serde(skip_serializing_if = "Option::is_none")]
811 pub attach_stderr: Option<bool>,
813 #[serde(rename = "AttachStdin")]
814 #[serde(skip_serializing_if = "Option::is_none")]
815 pub attach_stdin: Option<bool>,
817 #[serde(rename = "AttachStdout")]
818 #[serde(skip_serializing_if = "Option::is_none")]
819 pub attach_stdout: Option<bool>,
821 #[serde(rename = "Cmd")]
822 #[serde(skip_serializing_if = "Option::is_none")]
823 pub cmd: Option<Vec<String>>,
825 #[serde(rename = "Domainname")]
826 #[serde(skip_serializing_if = "Option::is_none")]
827 pub domainname: Option<String>,
829 #[serde(rename = "Entrypoint")]
830 #[serde(skip_serializing_if = "Option::is_none")]
831 pub entrypoint: Option<Vec<String>>,
837 #[serde(rename = "Env")]
838 #[serde(skip_serializing_if = "Option::is_none")]
839 pub env: Option<Vec<String>>,
843 #[serde(rename = "ExposedPorts")]
844 #[serde(skip_serializing_if = "Option::is_none")]
845 pub exposed_ports: Option<HashMap<String, Value>>,
849 #[serde(rename = "Healthcheck")]
850 pub healthcheck: Option<HealthConfig>,
851 #[serde(rename = "HostConfig")]
852 pub host_config: Option<Value>,
853 #[serde(rename = "Hostname")]
854 #[serde(skip_serializing_if = "Option::is_none")]
855 pub hostname: Option<String>,
857 #[serde(rename = "Image")]
858 #[serde(skip_serializing_if = "Option::is_none")]
859 pub image: Option<String>,
862 #[serde(rename = "Labels")]
863 #[serde(skip_serializing_if = "Option::is_none")]
864 pub labels: Option<HashMap<String, String>>,
866 #[serde(rename = "MacAddress")]
867 #[serde(skip_serializing_if = "Option::is_none")]
868 pub mac_address: Option<String>,
870 #[serde(rename = "NetworkDisabled")]
871 #[serde(skip_serializing_if = "Option::is_none")]
872 pub network_disabled: Option<bool>,
874 #[serde(rename = "NetworkingConfig")]
875 pub networking_config: Option<NetworkingConfig>,
876 #[serde(rename = "OnBuild")]
877 #[serde(skip_serializing_if = "Option::is_none")]
878 pub on_build: Option<Vec<String>>,
880 #[serde(rename = "OpenStdin")]
881 #[serde(skip_serializing_if = "Option::is_none")]
882 pub open_stdin: Option<bool>,
884 #[serde(rename = "Shell")]
885 #[serde(skip_serializing_if = "Option::is_none")]
886 pub shell: Option<Vec<String>>,
888 #[serde(rename = "StdinOnce")]
889 #[serde(skip_serializing_if = "Option::is_none")]
890 pub stdin_once: Option<bool>,
892 #[serde(rename = "StopSignal")]
893 #[serde(skip_serializing_if = "Option::is_none")]
894 pub stop_signal: Option<String>,
896 #[serde(rename = "StopTimeout")]
897 #[serde(skip_serializing_if = "Option::is_none")]
898 pub stop_timeout: Option<isize>,
900 #[serde(rename = "Tty")]
901 #[serde(skip_serializing_if = "Option::is_none")]
902 pub tty: Option<bool>,
904 #[serde(rename = "User")]
905 #[serde(skip_serializing_if = "Option::is_none")]
906 pub user: Option<String>,
908 #[serde(rename = "Volumes")]
909 #[serde(skip_serializing_if = "Option::is_none")]
910 pub volumes: Option<HashMap<String, Value>>,
913 #[serde(rename = "WorkingDir")]
914 #[serde(skip_serializing_if = "Option::is_none")]
915 pub working_dir: Option<String>,
917}
918
919#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
920pub struct ContainerCreateResponse {
922 #[serde(rename = "Id")]
923 pub id: String,
925 #[serde(rename = "Warnings")]
926 #[serde(default)]
927 #[serde(deserialize_with = "deserialize_nonoptional_vec")]
928 pub warnings: Vec<String>,
930}
931
932#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
933pub struct ContainerExecExecConfigParam {
934 #[serde(rename = "AttachStderr")]
935 #[serde(skip_serializing_if = "Option::is_none")]
936 pub attach_stderr: Option<bool>,
938 #[serde(rename = "AttachStdin")]
939 #[serde(skip_serializing_if = "Option::is_none")]
940 pub attach_stdin: Option<bool>,
942 #[serde(rename = "AttachStdout")]
943 #[serde(skip_serializing_if = "Option::is_none")]
944 pub attach_stdout: Option<bool>,
946 #[serde(rename = "Cmd")]
947 #[serde(skip_serializing_if = "Option::is_none")]
948 pub cmd: Option<Vec<String>>,
950 #[serde(rename = "ConsoleSize")]
951 #[serde(skip_serializing_if = "Option::is_none")]
952 pub console_size: Option<Vec<isize>>,
954 #[serde(rename = "DetachKeys")]
955 #[serde(skip_serializing_if = "Option::is_none")]
956 pub detach_keys: Option<String>,
960 #[serde(rename = "Env")]
961 #[serde(skip_serializing_if = "Option::is_none")]
962 pub env: Option<Vec<String>>,
964 #[serde(rename = "Privileged")]
965 #[serde(skip_serializing_if = "Option::is_none")]
966 pub privileged: Option<bool>,
968 #[serde(rename = "Tty")]
969 #[serde(skip_serializing_if = "Option::is_none")]
970 pub tty: Option<bool>,
972 #[serde(rename = "User")]
973 #[serde(skip_serializing_if = "Option::is_none")]
974 pub user: Option<String>,
978 #[serde(rename = "WorkingDir")]
979 #[serde(skip_serializing_if = "Option::is_none")]
980 pub working_dir: Option<String>,
982}
983
984#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
985pub struct ContainerInspect200Response {
987 #[serde(rename = "AppArmorProfile")]
988 #[serde(skip_serializing_if = "Option::is_none")]
989 pub app_armor_profile: Option<String>,
990 #[serde(rename = "Args")]
991 #[serde(skip_serializing_if = "Option::is_none")]
992 pub args: Option<Vec<String>>,
994 #[serde(rename = "Config")]
995 pub config: Option<ContainerConfig>,
996 #[serde(rename = "Created")]
997 #[serde(skip_serializing_if = "Option::is_none")]
998 pub created: Option<String>,
1000 #[serde(rename = "Driver")]
1001 #[serde(skip_serializing_if = "Option::is_none")]
1002 pub driver: Option<String>,
1003 #[serde(rename = "ExecIDs")]
1004 #[serde(skip_serializing_if = "Option::is_none")]
1005 pub exec_i_ds: Option<Vec<String>>,
1007 #[serde(rename = "GraphDriver")]
1008 pub graph_driver: Option<GraphDriverData>,
1009 #[serde(rename = "HostConfig")]
1010 pub host_config: Option<Value>,
1011 #[serde(rename = "HostnamePath")]
1012 #[serde(skip_serializing_if = "Option::is_none")]
1013 pub hostname_path: Option<String>,
1014 #[serde(rename = "HostsPath")]
1015 #[serde(skip_serializing_if = "Option::is_none")]
1016 pub hosts_path: Option<String>,
1017 #[serde(rename = "Id")]
1018 #[serde(skip_serializing_if = "Option::is_none")]
1019 pub id: Option<String>,
1021 #[serde(rename = "Image")]
1022 #[serde(skip_serializing_if = "Option::is_none")]
1023 pub image: Option<String>,
1025 #[serde(rename = "LogPath")]
1026 #[serde(skip_serializing_if = "Option::is_none")]
1027 pub log_path: Option<String>,
1028 #[serde(rename = "MountLabel")]
1029 #[serde(skip_serializing_if = "Option::is_none")]
1030 pub mount_label: Option<String>,
1031 #[serde(rename = "Mounts")]
1032 #[serde(skip_serializing_if = "Option::is_none")]
1033 pub mounts: Option<Vec<MountPoint>>,
1034 #[serde(rename = "Name")]
1035 #[serde(skip_serializing_if = "Option::is_none")]
1036 pub name: Option<String>,
1037 #[serde(rename = "NetworkSettings")]
1038 pub network_settings: Option<NetworkSettings>,
1039 #[serde(rename = "Path")]
1040 #[serde(skip_serializing_if = "Option::is_none")]
1041 pub path: Option<String>,
1043 #[serde(rename = "Platform")]
1044 #[serde(skip_serializing_if = "Option::is_none")]
1045 pub platform: Option<String>,
1046 #[serde(rename = "ProcessLabel")]
1047 #[serde(skip_serializing_if = "Option::is_none")]
1048 pub process_label: Option<String>,
1049 #[serde(rename = "ResolvConfPath")]
1050 #[serde(skip_serializing_if = "Option::is_none")]
1051 pub resolv_conf_path: Option<String>,
1052 #[serde(rename = "RestartCount")]
1053 #[serde(skip_serializing_if = "Option::is_none")]
1054 pub restart_count: Option<isize>,
1055 #[serde(rename = "SizeRootFs")]
1056 #[serde(skip_serializing_if = "Option::is_none")]
1057 pub size_root_fs: Option<i64>,
1059 #[serde(rename = "SizeRw")]
1060 #[serde(skip_serializing_if = "Option::is_none")]
1061 pub size_rw: Option<i64>,
1064 #[serde(rename = "State")]
1065 pub state: Option<ContainerState>,
1066}
1067
1068pub type ContainerList200Response = Vec<ContainerSummary>;
1070
1071pub type ContainerLogs200Response = Vec<u8>;
1076
1077#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1078pub struct ContainerPrune200Response {
1080 #[serde(rename = "ContainersDeleted")]
1081 #[serde(skip_serializing_if = "Option::is_none")]
1082 pub containers_deleted: Option<Vec<String>>,
1084 #[serde(rename = "SpaceReclaimed")]
1085 #[serde(skip_serializing_if = "Option::is_none")]
1086 pub space_reclaimed: Option<i64>,
1088}
1089
1090#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1091pub struct ContainerState {
1094 #[serde(rename = "Dead")]
1095 #[serde(skip_serializing_if = "Option::is_none")]
1096 pub dead: Option<bool>,
1097 #[serde(rename = "Error")]
1098 #[serde(skip_serializing_if = "Option::is_none")]
1099 pub error: Option<String>,
1100 #[serde(rename = "ExitCode")]
1101 #[serde(skip_serializing_if = "Option::is_none")]
1102 pub exit_code: Option<isize>,
1104 #[serde(rename = "FinishedAt")]
1105 #[serde(skip_serializing_if = "Option::is_none")]
1106 pub finished_at: Option<String>,
1108 #[serde(rename = "Health")]
1109 pub health: Option<Health>,
1110 #[serde(rename = "OOMKilled")]
1111 #[serde(skip_serializing_if = "Option::is_none")]
1112 pub oom_killed: Option<bool>,
1115 #[serde(rename = "Paused")]
1116 #[serde(skip_serializing_if = "Option::is_none")]
1117 pub paused: Option<bool>,
1119 #[serde(rename = "Pid")]
1120 #[serde(skip_serializing_if = "Option::is_none")]
1121 pub pid: Option<isize>,
1123 #[serde(rename = "Restarting")]
1124 #[serde(skip_serializing_if = "Option::is_none")]
1125 pub restarting: Option<bool>,
1127 #[serde(rename = "Running")]
1128 #[serde(skip_serializing_if = "Option::is_none")]
1129 pub running: Option<bool>,
1140 #[serde(rename = "StartedAt")]
1141 #[serde(skip_serializing_if = "Option::is_none")]
1142 pub started_at: Option<String>,
1144 #[serde(rename = "Status")]
1145 #[serde(skip_serializing_if = "Option::is_none")]
1146 pub status: Option<String>,
1149}
1150
1151#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1152pub enum ContainerStateStatusInlineItem {
1155 #[serde(rename = "created")]
1156 Created,
1157 #[serde(rename = "running")]
1158 Running,
1159 #[serde(rename = "paused")]
1160 Paused,
1161 #[serde(rename = "restarting")]
1162 Restarting,
1163 #[serde(rename = "removing")]
1164 Removing,
1165 #[serde(rename = "exited")]
1166 Exited,
1167 #[serde(rename = "dead")]
1168 Dead,
1169}
1170
1171impl AsRef<str> for ContainerStateStatusInlineItem {
1172 fn as_ref(&self) -> &str {
1173 match self {
1174 ContainerStateStatusInlineItem::Created => "created",
1175 ContainerStateStatusInlineItem::Running => "running",
1176 ContainerStateStatusInlineItem::Paused => "paused",
1177 ContainerStateStatusInlineItem::Restarting => "restarting",
1178 ContainerStateStatusInlineItem::Removing => "removing",
1179 ContainerStateStatusInlineItem::Exited => "exited",
1180 ContainerStateStatusInlineItem::Dead => "dead",
1181 }
1182 }
1183}
1184
1185impl std::fmt::Display for ContainerStateStatusInlineItem {
1186 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1187 write!(f, "{}", self.as_ref())
1188 }
1189}
1190
1191#[derive(Debug, Clone, Serialize, Deserialize)]
1195pub struct ContainerStats200Response {
1196 #[serde(skip_serializing_if = "Option::is_none")]
1197 pub read: Option<String>,
1198 #[serde(skip_serializing_if = "Option::is_none")]
1199 pub pids_stats: Option<PidsStats>,
1200 #[serde(skip_serializing_if = "Option::is_none")]
1201 pub networks: Option<HashMap<String, NetworkStats>>,
1202 #[serde(skip_serializing_if = "Option::is_none")]
1203 pub memory_stats: Option<MemoryStats>,
1204 #[serde(skip_serializing_if = "Option::is_none")]
1205 pub blkio_stats: Option<BlkioStats>,
1206 #[serde(skip_serializing_if = "Option::is_none")]
1207 pub cpu_stats: Option<CpuStats>,
1208 #[serde(skip_serializing_if = "Option::is_none")]
1209 pub precpu_stats: Option<CpuStats>,
1210}
1211
1212#[derive(Debug, Clone, Serialize, Deserialize)]
1213pub struct PidsStats {
1214 #[serde(skip_serializing_if = "Option::is_none")]
1215 pub current: Option<f64>,
1216}
1217
1218#[derive(Debug, Clone, Serialize, Deserialize)]
1219pub struct NetworkStats {
1220 #[serde(skip_serializing_if = "Option::is_none")]
1221 pub rx_bytes: Option<f64>,
1222 #[serde(skip_serializing_if = "Option::is_none")]
1223 pub rx_dropped: Option<f64>,
1224 #[serde(skip_serializing_if = "Option::is_none")]
1225 pub rx_errors: Option<f64>,
1226 #[serde(skip_serializing_if = "Option::is_none")]
1227 pub rx_packets: Option<f64>,
1228 #[serde(skip_serializing_if = "Option::is_none")]
1229 pub tx_bytes: Option<f64>,
1230 #[serde(skip_serializing_if = "Option::is_none")]
1231 pub tx_dropped: Option<f64>,
1232 #[serde(skip_serializing_if = "Option::is_none")]
1233 pub tx_errors: Option<f64>,
1234 #[serde(skip_serializing_if = "Option::is_none")]
1235 pub tx_packets: Option<f64>,
1236}
1237
1238#[derive(Debug, Clone, Serialize, Deserialize)]
1239pub struct MemoryStats {
1240 #[serde(skip_serializing_if = "Option::is_none")]
1241 pub stats: Option<MemoryDetailedStats>,
1242 #[serde(skip_serializing_if = "Option::is_none")]
1243 pub max_usage: Option<f64>,
1244 #[serde(skip_serializing_if = "Option::is_none")]
1245 pub usage: Option<f64>,
1246 #[serde(skip_serializing_if = "Option::is_none")]
1247 pub failcnt: Option<f64>,
1248 #[serde(skip_serializing_if = "Option::is_none")]
1249 pub limit: Option<f64>,
1250}
1251
1252#[derive(Debug, Clone, Serialize, Deserialize)]
1253pub struct MemoryDetailedStats {
1254 #[serde(skip_serializing_if = "Option::is_none")]
1255 pub total_pgmajfault: Option<f64>,
1256 #[serde(skip_serializing_if = "Option::is_none")]
1257 pub cache: Option<f64>,
1258 #[serde(skip_serializing_if = "Option::is_none")]
1259 pub mapped_file: Option<f64>,
1260 #[serde(skip_serializing_if = "Option::is_none")]
1261 pub total_inactive_file: Option<f64>,
1262 #[serde(skip_serializing_if = "Option::is_none")]
1263 pub pgpgout: Option<f64>,
1264 #[serde(skip_serializing_if = "Option::is_none")]
1265 pub rss: Option<f64>,
1266 #[serde(skip_serializing_if = "Option::is_none")]
1267 pub total_mapped_file: Option<f64>,
1268 #[serde(skip_serializing_if = "Option::is_none")]
1269 pub writeback: Option<f64>,
1270 #[serde(skip_serializing_if = "Option::is_none")]
1271 pub unevictable: Option<f64>,
1272 #[serde(skip_serializing_if = "Option::is_none")]
1273 pub pgpgin: Option<f64>,
1274 #[serde(skip_serializing_if = "Option::is_none")]
1275 pub total_unevictable: Option<f64>,
1276 #[serde(skip_serializing_if = "Option::is_none")]
1277 pub pgmajfault: Option<f64>,
1278 #[serde(skip_serializing_if = "Option::is_none")]
1279 pub total_rss: Option<f64>,
1280 #[serde(skip_serializing_if = "Option::is_none")]
1281 pub total_rss_huge: Option<f64>,
1282 #[serde(skip_serializing_if = "Option::is_none")]
1283 pub total_writeback: Option<f64>,
1284 #[serde(skip_serializing_if = "Option::is_none")]
1285 pub total_inactive_anon: Option<f64>,
1286 #[serde(skip_serializing_if = "Option::is_none")]
1287 pub rss_huge: Option<f64>,
1288 #[serde(skip_serializing_if = "Option::is_none")]
1289 pub hierarchical_memory_limit: Option<f64>,
1290 #[serde(skip_serializing_if = "Option::is_none")]
1291 pub total_pgfault: Option<f64>,
1292 #[serde(skip_serializing_if = "Option::is_none")]
1293 pub total_active_file: Option<f64>,
1294 #[serde(skip_serializing_if = "Option::is_none")]
1295 pub active_anon: Option<f64>,
1296 #[serde(skip_serializing_if = "Option::is_none")]
1297 pub total_active_anon: Option<f64>,
1298 #[serde(skip_serializing_if = "Option::is_none")]
1299 pub total_pgpgout: Option<f64>,
1300 #[serde(skip_serializing_if = "Option::is_none")]
1301 pub total_cache: Option<f64>,
1302 #[serde(skip_serializing_if = "Option::is_none")]
1303 pub inactive_anon: Option<f64>,
1304 #[serde(skip_serializing_if = "Option::is_none")]
1305 pub active_file: Option<f64>,
1306 #[serde(skip_serializing_if = "Option::is_none")]
1307 pub pgfault: Option<f64>,
1308 #[serde(skip_serializing_if = "Option::is_none")]
1309 pub inactive_file: Option<f64>,
1310 #[serde(skip_serializing_if = "Option::is_none")]
1311 pub total_pgpgin: Option<f64>,
1312}
1313
1314#[derive(Debug, Clone, Serialize, Deserialize)]
1315pub struct BlkioStats {
1316 }
1318
1319#[derive(Debug, Clone, Serialize, Deserialize)]
1320pub struct CpuStats {
1321 #[serde(skip_serializing_if = "Option::is_none")]
1322 pub cpu_usage: Option<CpuUsage>,
1323 #[serde(skip_serializing_if = "Option::is_none")]
1324 pub system_cpu_usage: Option<f64>,
1325 #[serde(skip_serializing_if = "Option::is_none")]
1326 pub online_cpus: Option<f64>,
1327 #[serde(skip_serializing_if = "Option::is_none")]
1328 pub throttling_data: Option<ThrottlingData>,
1329}
1330
1331#[derive(Debug, Clone, Serialize, Deserialize)]
1332pub struct CpuUsage {
1333 #[serde(skip_serializing_if = "Option::is_none")]
1334 pub percpu_usage: Option<Vec<f64>>,
1335 #[serde(skip_serializing_if = "Option::is_none")]
1336 pub usage_in_usermode: Option<f64>,
1337 #[serde(skip_serializing_if = "Option::is_none")]
1338 pub total_usage: Option<f64>,
1339 #[serde(skip_serializing_if = "Option::is_none")]
1340 pub usage_in_kernelmode: Option<f64>,
1341}
1342
1343#[derive(Debug, Clone, Serialize, Deserialize)]
1344pub struct ThrottlingData {
1345 #[serde(skip_serializing_if = "Option::is_none")]
1346 pub periods: Option<f64>,
1347 #[serde(skip_serializing_if = "Option::is_none")]
1348 pub throttled_periods: Option<f64>,
1349 #[serde(skip_serializing_if = "Option::is_none")]
1350 pub throttled_time: Option<f64>,
1351}
1352
1353
1354#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1355pub struct ContainerSummary {
1356 #[serde(rename = "Command")]
1357 #[serde(skip_serializing_if = "Option::is_none")]
1358 pub command: Option<String>,
1360 #[serde(rename = "Created")]
1361 #[serde(skip_serializing_if = "Option::is_none")]
1362 pub created: Option<i64>,
1364 #[serde(rename = "HostConfig")]
1365 #[serde(skip_serializing_if = "Option::is_none")]
1366 pub host_config: Option<ContainerSummaryHostConfigInlineItem>,
1367 #[serde(rename = "Id")]
1368 #[serde(skip_serializing_if = "Option::is_none")]
1369 pub id: Option<String>,
1371 #[serde(rename = "Image")]
1372 #[serde(skip_serializing_if = "Option::is_none")]
1373 pub image: Option<String>,
1375 #[serde(rename = "ImageID")]
1376 #[serde(skip_serializing_if = "Option::is_none")]
1377 pub image_id: Option<String>,
1379 #[serde(rename = "Labels")]
1380 #[serde(skip_serializing_if = "Option::is_none")]
1381 pub labels: Option<HashMap<String, String>>,
1383 #[serde(rename = "Mounts")]
1384 #[serde(skip_serializing_if = "Option::is_none")]
1385 pub mounts: Option<Vec<MountPoint>>,
1386 #[serde(rename = "Names")]
1387 #[serde(skip_serializing_if = "Option::is_none")]
1388 pub names: Option<Vec<String>>,
1390 #[serde(rename = "NetworkSettings")]
1391 #[serde(skip_serializing_if = "Option::is_none")]
1392 pub network_settings: Option<ContainerSummaryNetworkSettingsInlineItem>,
1394 #[serde(rename = "Ports")]
1395 #[serde(skip_serializing_if = "Option::is_none")]
1396 pub ports: Option<Vec<Port>>,
1398 #[serde(rename = "SizeRootFs")]
1399 #[serde(skip_serializing_if = "Option::is_none")]
1400 pub size_root_fs: Option<i64>,
1402 #[serde(rename = "SizeRw")]
1403 #[serde(skip_serializing_if = "Option::is_none")]
1404 pub size_rw: Option<i64>,
1406 #[serde(rename = "State")]
1407 #[serde(skip_serializing_if = "Option::is_none")]
1408 pub state: Option<String>,
1410 #[serde(rename = "Status")]
1411 #[serde(skip_serializing_if = "Option::is_none")]
1412 pub status: Option<String>,
1414}
1415
1416#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1417pub struct ContainerSummaryHostConfigInlineItem {
1418 #[serde(rename = "NetworkMode")]
1419 #[serde(skip_serializing_if = "Option::is_none")]
1420 pub network_mode: Option<String>,
1421}
1422
1423#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1424pub struct ContainerSummaryNetworkSettingsInlineItem {
1426 #[serde(rename = "Networks")]
1427 #[serde(skip_serializing_if = "Option::is_none")]
1428 pub networks: Option<HashMap<String, EndpointSettings>>,
1429}
1430
1431#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1432pub struct ContainerTop200Response {
1434 #[serde(rename = "Processes")]
1435 #[serde(skip_serializing_if = "Option::is_none")]
1436 pub processes: Option<Vec<Vec<String>>>,
1439 #[serde(rename = "Titles")]
1440 #[serde(skip_serializing_if = "Option::is_none")]
1441 pub titles: Option<Vec<String>>,
1443}
1444
1445#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1446pub struct ContainerUpdate200Response {
1448 #[serde(rename = "Warnings")]
1449 #[serde(skip_serializing_if = "Option::is_none")]
1450 pub warnings: Option<Vec<String>>,
1451}
1452
1453#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1454pub struct ContainerUpdateUpdateParam {
1456 #[serde(rename = "BlkioDeviceReadBps")]
1457 #[serde(skip_serializing_if = "Option::is_none")]
1458 pub blkio_device_read_bps: Option<Vec<ThrottleDevice>>,
1464 #[serde(rename = "BlkioDeviceReadIOps")]
1465 #[serde(skip_serializing_if = "Option::is_none")]
1466 pub blkio_device_read_i_ops: Option<Vec<ThrottleDevice>>,
1472 #[serde(rename = "BlkioDeviceWriteBps")]
1473 #[serde(skip_serializing_if = "Option::is_none")]
1474 pub blkio_device_write_bps: Option<Vec<ThrottleDevice>>,
1480 #[serde(rename = "BlkioDeviceWriteIOps")]
1481 #[serde(skip_serializing_if = "Option::is_none")]
1482 pub blkio_device_write_i_ops: Option<Vec<ThrottleDevice>>,
1488 #[serde(rename = "BlkioWeight")]
1489 #[serde(skip_serializing_if = "Option::is_none")]
1490 pub blkio_weight: Option<isize>,
1492 #[serde(rename = "BlkioWeightDevice")]
1493 #[serde(skip_serializing_if = "Option::is_none")]
1494 pub blkio_weight_device: Option<Vec<ContainerUpdateUpdateParamBlkioWeightDeviceInlineItem>>,
1500 #[serde(rename = "CgroupParent")]
1501 #[serde(skip_serializing_if = "Option::is_none")]
1502 pub cgroup_parent: Option<String>,
1507 #[serde(rename = "CpuCount")]
1508 #[serde(skip_serializing_if = "Option::is_none")]
1509 pub cpu_count: Option<i64>,
1515 #[serde(rename = "CpuPercent")]
1516 #[serde(skip_serializing_if = "Option::is_none")]
1517 pub cpu_percent: Option<i64>,
1523 #[serde(rename = "CpuPeriod")]
1524 #[serde(skip_serializing_if = "Option::is_none")]
1525 pub cpu_period: Option<i64>,
1527 #[serde(rename = "CpuQuota")]
1528 #[serde(skip_serializing_if = "Option::is_none")]
1529 pub cpu_quota: Option<i64>,
1531 #[serde(rename = "CpuRealtimePeriod")]
1532 #[serde(skip_serializing_if = "Option::is_none")]
1533 pub cpu_realtime_period: Option<i64>,
1536 #[serde(rename = "CpuRealtimeRuntime")]
1537 #[serde(skip_serializing_if = "Option::is_none")]
1538 pub cpu_realtime_runtime: Option<i64>,
1541 #[serde(rename = "CpuShares")]
1542 #[serde(skip_serializing_if = "Option::is_none")]
1543 pub cpu_shares: Option<isize>,
1546 #[serde(rename = "CpusetCpus")]
1547 #[serde(skip_serializing_if = "Option::is_none")]
1548 pub cpuset_cpus: Option<String>,
1550 #[serde(rename = "CpusetMems")]
1551 #[serde(skip_serializing_if = "Option::is_none")]
1552 pub cpuset_mems: Option<String>,
1555 #[serde(rename = "DeviceCgroupRules")]
1556 #[serde(skip_serializing_if = "Option::is_none")]
1557 pub device_cgroup_rules: Option<Vec<String>>,
1559 #[serde(rename = "DeviceRequests")]
1560 #[serde(skip_serializing_if = "Option::is_none")]
1561 pub device_requests: Option<Vec<DeviceRequest>>,
1563 #[serde(rename = "Devices")]
1564 #[serde(skip_serializing_if = "Option::is_none")]
1565 pub devices: Option<Vec<DeviceMapping>>,
1567 #[serde(rename = "IOMaximumBandwidth")]
1568 #[serde(skip_serializing_if = "Option::is_none")]
1569 pub io_maximum_bandwidth: Option<i64>,
1572 #[serde(rename = "IOMaximumIOps")]
1573 #[serde(skip_serializing_if = "Option::is_none")]
1574 pub io_maximum_i_ops: Option<i64>,
1576 #[serde(rename = "Init")]
1577 #[serde(skip_serializing_if = "Option::is_none")]
1578 pub init: Option<bool>,
1582 #[serde(rename = "KernelMemoryTCP")]
1583 #[serde(skip_serializing_if = "Option::is_none")]
1584 pub kernel_memory_tcp: Option<i64>,
1590 #[serde(rename = "Memory")]
1591 #[serde(skip_serializing_if = "Option::is_none")]
1592 pub memory: Option<i64>,
1594 #[serde(rename = "MemoryReservation")]
1595 #[serde(skip_serializing_if = "Option::is_none")]
1596 pub memory_reservation: Option<i64>,
1598 #[serde(rename = "MemorySwap")]
1599 #[serde(skip_serializing_if = "Option::is_none")]
1600 pub memory_swap: Option<i64>,
1603 #[serde(rename = "MemorySwappiness")]
1604 #[serde(skip_serializing_if = "Option::is_none")]
1605 pub memory_swappiness: Option<i64>,
1608 #[serde(rename = "NanoCpus")]
1609 #[serde(skip_serializing_if = "Option::is_none")]
1610 pub nano_cpus: Option<i64>,
1612 #[serde(rename = "OomKillDisable")]
1613 #[serde(skip_serializing_if = "Option::is_none")]
1614 pub oom_kill_disable: Option<bool>,
1616 #[serde(rename = "PidsLimit")]
1617 #[serde(skip_serializing_if = "Option::is_none")]
1618 pub pids_limit: Option<i64>,
1621 #[serde(rename = "RestartPolicy")]
1622 pub restart_policy: Option<RestartPolicy>,
1623 #[serde(rename = "Ulimits")]
1624 #[serde(skip_serializing_if = "Option::is_none")]
1625 pub ulimits: Option<Vec<ContainerUpdateUpdateParamUlimitsInlineItem>>,
1631}
1632
1633#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1634pub struct ContainerUpdateUpdateParamBlkioWeightDeviceInlineItem {
1635 #[serde(rename = "Path")]
1636 #[serde(skip_serializing_if = "Option::is_none")]
1637 pub path: Option<String>,
1638 #[serde(rename = "Weight")]
1639 #[serde(skip_serializing_if = "Option::is_none")]
1640 pub weight: Option<isize>,
1641}
1642
1643#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1644pub struct ContainerUpdateUpdateParamUlimitsInlineItem {
1645 #[serde(rename = "Hard")]
1646 #[serde(skip_serializing_if = "Option::is_none")]
1647 pub hard: Option<isize>,
1649 #[serde(rename = "Name")]
1650 #[serde(skip_serializing_if = "Option::is_none")]
1651 pub name: Option<String>,
1653 #[serde(rename = "Soft")]
1654 #[serde(skip_serializing_if = "Option::is_none")]
1655 pub soft: Option<isize>,
1657}
1658
1659#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1660pub struct ContainerWaitExitError {
1662 #[serde(rename = "Message")]
1663 #[serde(skip_serializing_if = "Option::is_none")]
1664 pub message: Option<String>,
1666}
1667
1668#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1669pub struct ContainerWaitResponse {
1671 #[serde(rename = "Error")]
1672 pub error: Option<ContainerWaitExitError>,
1673 #[serde(rename = "StatusCode")]
1674 pub status_code: i64,
1676}
1677
1678#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1679pub struct CreateImageInfo {
1680 #[serde(skip_serializing_if = "Option::is_none")]
1681 pub error: Option<String>,
1682 #[serde(rename = "errorDetail")]
1683 pub error_detail: Option<ErrorDetail>,
1684 #[serde(skip_serializing_if = "Option::is_none")]
1685 pub id: Option<String>,
1686 #[serde(skip_serializing_if = "Option::is_none")]
1687 pub progress: Option<String>,
1688 #[serde(rename = "progressDetail")]
1689 pub progress_detail: Option<ProgressDetail>,
1690 #[serde(skip_serializing_if = "Option::is_none")]
1691 pub status: Option<String>,
1692}
1693
1694#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1695pub struct DeviceMapping {
1697 #[serde(rename = "CgroupPermissions")]
1698 #[serde(skip_serializing_if = "Option::is_none")]
1699 pub cgroup_permissions: Option<String>,
1700 #[serde(rename = "PathInContainer")]
1701 #[serde(skip_serializing_if = "Option::is_none")]
1702 pub path_in_container: Option<String>,
1703 #[serde(rename = "PathOnHost")]
1704 #[serde(skip_serializing_if = "Option::is_none")]
1705 pub path_on_host: Option<String>,
1706}
1707
1708#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1709pub struct DeviceRequest {
1711 #[serde(rename = "Capabilities")]
1712 #[serde(skip_serializing_if = "Option::is_none")]
1713 pub capabilities: Option<Vec<Vec<String>>>,
1715 #[serde(rename = "Count")]
1716 #[serde(skip_serializing_if = "Option::is_none")]
1717 pub count: Option<isize>,
1718 #[serde(rename = "DeviceIDs")]
1719 #[serde(skip_serializing_if = "Option::is_none")]
1720 pub device_i_ds: Option<Vec<String>>,
1721 #[serde(rename = "Driver")]
1722 #[serde(skip_serializing_if = "Option::is_none")]
1723 pub driver: Option<String>,
1724 #[serde(rename = "Options")]
1725 #[serde(skip_serializing_if = "Option::is_none")]
1726 pub options: Option<HashMap<String, String>>,
1729}
1730
1731#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1732pub struct DistributionInspect {
1735 #[serde(rename = "Descriptor")]
1736 pub descriptor: OciDescriptor,
1737 #[serde(rename = "Platforms")]
1738 #[serde(default)]
1739 #[serde(deserialize_with = "deserialize_nonoptional_vec")]
1740 pub platforms: Vec<OciPlatform>,
1742}
1743
1744#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1745pub struct Driver {
1747 #[serde(rename = "Name")]
1748 pub name: String,
1750 #[serde(rename = "Options")]
1751 #[serde(skip_serializing_if = "Option::is_none")]
1752 pub options: Option<HashMap<String, String>>,
1754}
1755
1756#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1757pub struct EndpointIpamConfig {
1759 #[serde(rename = "IPv4Address")]
1760 #[serde(skip_serializing_if = "Option::is_none")]
1761 pub i_pv_4_address: Option<String>,
1762 #[serde(rename = "IPv6Address")]
1763 #[serde(skip_serializing_if = "Option::is_none")]
1764 pub i_pv_6_address: Option<String>,
1765 #[serde(rename = "LinkLocalIPs")]
1766 #[serde(skip_serializing_if = "Option::is_none")]
1767 pub link_local_i_ps: Option<Vec<String>>,
1768}
1769
1770#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1771pub struct EndpointPortConfig {
1772 #[serde(rename = "Name")]
1773 #[serde(skip_serializing_if = "Option::is_none")]
1774 pub name: Option<String>,
1775 #[serde(rename = "Protocol")]
1776 #[serde(skip_serializing_if = "Option::is_none")]
1777 pub protocol: Option<String>,
1778 #[serde(rename = "PublishMode")]
1779 #[serde(skip_serializing_if = "Option::is_none")]
1780 pub publish_mode: Option<String>,
1790 #[serde(rename = "PublishedPort")]
1791 #[serde(skip_serializing_if = "Option::is_none")]
1792 pub published_port: Option<isize>,
1794 #[serde(rename = "TargetPort")]
1795 #[serde(skip_serializing_if = "Option::is_none")]
1796 pub target_port: Option<isize>,
1798}
1799
1800#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1801pub enum EndpointPortConfigProtocolInlineItem {
1802 #[serde(rename = "tcp")]
1803 Tcp,
1804 #[serde(rename = "udp")]
1805 Udp,
1806 #[serde(rename = "sctp")]
1807 Sctp,
1808}
1809
1810impl AsRef<str> for EndpointPortConfigProtocolInlineItem {
1811 fn as_ref(&self) -> &str {
1812 match self {
1813 EndpointPortConfigProtocolInlineItem::Tcp => "tcp",
1814 EndpointPortConfigProtocolInlineItem::Udp => "udp",
1815 EndpointPortConfigProtocolInlineItem::Sctp => "sctp",
1816 }
1817 }
1818}
1819
1820impl std::fmt::Display for EndpointPortConfigProtocolInlineItem {
1821 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1822 write!(f, "{}", self.as_ref())
1823 }
1824}
1825
1826#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1827pub enum EndpointPortConfigPublishModeInlineItem {
1837 #[serde(rename = "ingress")]
1838 Ingress,
1839 #[serde(rename = "host")]
1840 Host,
1841}
1842
1843impl AsRef<str> for EndpointPortConfigPublishModeInlineItem {
1844 fn as_ref(&self) -> &str {
1845 match self {
1846 EndpointPortConfigPublishModeInlineItem::Ingress => "ingress",
1847 EndpointPortConfigPublishModeInlineItem::Host => "host",
1848 }
1849 }
1850}
1851
1852impl std::fmt::Display for EndpointPortConfigPublishModeInlineItem {
1853 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1854 write!(f, "{}", self.as_ref())
1855 }
1856}
1857
1858#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1859pub struct EndpointSettings {
1861 #[serde(rename = "Aliases")]
1862 #[serde(skip_serializing_if = "Option::is_none")]
1863 pub aliases: Option<Vec<String>>,
1864 #[serde(rename = "DriverOpts")]
1865 #[serde(skip_serializing_if = "Option::is_none")]
1866 pub driver_opts: Option<HashMap<String, String>>,
1869 #[serde(rename = "EndpointID")]
1870 #[serde(skip_serializing_if = "Option::is_none")]
1871 pub endpoint_id: Option<String>,
1873 #[serde(rename = "Gateway")]
1874 #[serde(skip_serializing_if = "Option::is_none")]
1875 pub gateway: Option<String>,
1877 #[serde(rename = "GlobalIPv6Address")]
1878 #[serde(skip_serializing_if = "Option::is_none")]
1879 pub global_i_pv_6_address: Option<String>,
1881 #[serde(rename = "GlobalIPv6PrefixLen")]
1882 #[serde(skip_serializing_if = "Option::is_none")]
1883 pub global_i_pv_6_prefix_len: Option<i64>,
1885 #[serde(rename = "IPAMConfig")]
1886 pub ipam_config: Option<EndpointIpamConfig>,
1887 #[serde(rename = "IPAddress")]
1888 #[serde(skip_serializing_if = "Option::is_none")]
1889 pub ip_address: Option<String>,
1891 #[serde(rename = "IPPrefixLen")]
1892 #[serde(skip_serializing_if = "Option::is_none")]
1893 pub ip_prefix_len: Option<isize>,
1895 #[serde(rename = "IPv6Gateway")]
1896 #[serde(skip_serializing_if = "Option::is_none")]
1897 pub i_pv_6_gateway: Option<String>,
1899 #[serde(rename = "Links")]
1900 #[serde(skip_serializing_if = "Option::is_none")]
1901 pub links: Option<Vec<String>>,
1902 #[serde(rename = "MacAddress")]
1903 #[serde(skip_serializing_if = "Option::is_none")]
1904 pub mac_address: Option<String>,
1906 #[serde(rename = "NetworkID")]
1907 #[serde(skip_serializing_if = "Option::is_none")]
1908 pub network_id: Option<String>,
1910}
1911
1912#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1913pub struct EndpointSpec {
1915 #[serde(rename = "Mode")]
1916 #[serde(skip_serializing_if = "Option::is_none")]
1917 pub mode: Option<String>,
1919 #[serde(rename = "Ports")]
1920 #[serde(skip_serializing_if = "Option::is_none")]
1921 pub ports: Option<Vec<EndpointPortConfig>>,
1924}
1925
1926#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1927pub enum EndpointSpecModeInlineItem {
1929 #[serde(rename = "vip")]
1930 Vip,
1931 #[serde(rename = "dnsrr")]
1932 Dnsrr,
1933}
1934
1935impl AsRef<str> for EndpointSpecModeInlineItem {
1936 fn as_ref(&self) -> &str {
1937 match self {
1938 EndpointSpecModeInlineItem::Vip => "vip",
1939 EndpointSpecModeInlineItem::Dnsrr => "dnsrr",
1940 }
1941 }
1942}
1943
1944impl std::fmt::Display for EndpointSpecModeInlineItem {
1945 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1946 write!(f, "{}", self.as_ref())
1947 }
1948}
1949
1950#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1951pub struct EngineDescription {
1953 #[serde(rename = "EngineVersion")]
1954 #[serde(skip_serializing_if = "Option::is_none")]
1955 pub engine_version: Option<String>,
1956 #[serde(rename = "Labels")]
1957 #[serde(skip_serializing_if = "Option::is_none")]
1958 pub labels: Option<HashMap<String, String>>,
1959 #[serde(rename = "Plugins")]
1960 #[serde(skip_serializing_if = "Option::is_none")]
1961 pub plugins: Option<Vec<EngineDescriptionPluginsInlineItem>>,
1962}
1963
1964#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1965pub struct EngineDescriptionPluginsInlineItem {
1966 #[serde(rename = "Name")]
1967 #[serde(skip_serializing_if = "Option::is_none")]
1968 pub name: Option<String>,
1969 #[serde(rename = "Type")]
1970 #[serde(skip_serializing_if = "Option::is_none")]
1971 pub type_: Option<String>,
1972}
1973
1974#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1975pub struct ErrorDetail {
1976 #[serde(skip_serializing_if = "Option::is_none")]
1977 pub code: Option<isize>,
1978 #[serde(skip_serializing_if = "Option::is_none")]
1979 pub message: Option<String>,
1980}
1981
1982#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1983pub struct ErrorResponse {
1985 pub message: String,
1987}
1988
1989#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
1990pub struct EventActor {
1993 #[serde(rename = "Attributes")]
1994 #[serde(skip_serializing_if = "Option::is_none")]
1995 pub attributes: Option<HashMap<String, String>>,
1997 #[serde(rename = "ID")]
1998 #[serde(skip_serializing_if = "Option::is_none")]
1999 pub id: Option<String>,
2001}
2002
2003#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2004pub struct EventMessage {
2006 #[serde(rename = "Action")]
2007 #[serde(skip_serializing_if = "Option::is_none")]
2008 pub action: Option<String>,
2010 #[serde(rename = "Actor")]
2011 pub actor: Option<EventActor>,
2012 #[serde(rename = "Type")]
2013 #[serde(skip_serializing_if = "Option::is_none")]
2014 pub type_: Option<String>,
2016 #[serde(skip_serializing_if = "Option::is_none")]
2017 pub scope: Option<String>,
2020 #[serde(skip_serializing_if = "Option::is_none")]
2021 pub time: Option<i64>,
2023 #[serde(rename = "timeNano")]
2024 #[serde(skip_serializing_if = "Option::is_none")]
2025 pub time_nano: Option<i64>,
2027}
2028
2029#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2030pub enum EventMessageTypeInlineItem {
2032 #[serde(rename = "builder")]
2033 Builder,
2034 #[serde(rename = "config")]
2035 Config,
2036 #[serde(rename = "container")]
2037 Container,
2038 #[serde(rename = "daemon")]
2039 Daemon,
2040 #[serde(rename = "image")]
2041 Image,
2042 #[serde(rename = "network")]
2043 Network,
2044 #[serde(rename = "node")]
2045 Node,
2046 #[serde(rename = "plugin")]
2047 Plugin,
2048 #[serde(rename = "secret")]
2049 Secret,
2050 #[serde(rename = "service")]
2051 Service,
2052 #[serde(rename = "volume")]
2053 Volume,
2054}
2055
2056impl AsRef<str> for EventMessageTypeInlineItem {
2057 fn as_ref(&self) -> &str {
2058 match self {
2059 EventMessageTypeInlineItem::Builder => "builder",
2060 EventMessageTypeInlineItem::Config => "config",
2061 EventMessageTypeInlineItem::Container => "container",
2062 EventMessageTypeInlineItem::Daemon => "daemon",
2063 EventMessageTypeInlineItem::Image => "image",
2064 EventMessageTypeInlineItem::Network => "network",
2065 EventMessageTypeInlineItem::Node => "node",
2066 EventMessageTypeInlineItem::Plugin => "plugin",
2067 EventMessageTypeInlineItem::Secret => "secret",
2068 EventMessageTypeInlineItem::Service => "service",
2069 EventMessageTypeInlineItem::Volume => "volume",
2070 }
2071 }
2072}
2073
2074impl std::fmt::Display for EventMessageTypeInlineItem {
2075 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2076 write!(f, "{}", self.as_ref())
2077 }
2078}
2079
2080#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2081pub enum EventMessagescopeInlineItem {
2084 #[serde(rename = "local")]
2085 Local,
2086 #[serde(rename = "swarm")]
2087 Swarm,
2088}
2089
2090impl AsRef<str> for EventMessagescopeInlineItem {
2091 fn as_ref(&self) -> &str {
2092 match self {
2093 EventMessagescopeInlineItem::Local => "local",
2094 EventMessagescopeInlineItem::Swarm => "swarm",
2095 }
2096 }
2097}
2098
2099impl std::fmt::Display for EventMessagescopeInlineItem {
2100 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2101 write!(f, "{}", self.as_ref())
2102 }
2103}
2104
2105#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2106pub struct ExecInspect200Response {
2108 #[serde(rename = "CanRemove")]
2109 #[serde(skip_serializing_if = "Option::is_none")]
2110 pub can_remove: Option<bool>,
2111 #[serde(rename = "ContainerID")]
2112 #[serde(skip_serializing_if = "Option::is_none")]
2113 pub container_id: Option<String>,
2114 #[serde(rename = "DetachKeys")]
2115 #[serde(skip_serializing_if = "Option::is_none")]
2116 pub detach_keys: Option<String>,
2117 #[serde(rename = "ExitCode")]
2118 #[serde(skip_serializing_if = "Option::is_none")]
2119 pub exit_code: Option<isize>,
2120 #[serde(rename = "ID")]
2121 #[serde(skip_serializing_if = "Option::is_none")]
2122 pub id: Option<String>,
2123 #[serde(rename = "OpenStderr")]
2124 #[serde(skip_serializing_if = "Option::is_none")]
2125 pub open_stderr: Option<bool>,
2126 #[serde(rename = "OpenStdin")]
2127 #[serde(skip_serializing_if = "Option::is_none")]
2128 pub open_stdin: Option<bool>,
2129 #[serde(rename = "OpenStdout")]
2130 #[serde(skip_serializing_if = "Option::is_none")]
2131 pub open_stdout: Option<bool>,
2132 #[serde(rename = "Pid")]
2133 #[serde(skip_serializing_if = "Option::is_none")]
2134 pub pid: Option<isize>,
2136 #[serde(rename = "ProcessConfig")]
2137 pub process_config: Option<ProcessConfig>,
2138 #[serde(rename = "Running")]
2139 #[serde(skip_serializing_if = "Option::is_none")]
2140 pub running: Option<bool>,
2141}
2142
2143#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2144pub struct ExecStartExecStartConfigParam {
2145 #[serde(rename = "ConsoleSize")]
2146 #[serde(skip_serializing_if = "Option::is_none")]
2147 pub console_size: Option<Vec<isize>>,
2149 #[serde(rename = "Detach")]
2150 #[serde(skip_serializing_if = "Option::is_none")]
2151 pub detach: Option<bool>,
2153 #[serde(rename = "Tty")]
2154 #[serde(skip_serializing_if = "Option::is_none")]
2155 pub tty: Option<bool>,
2157}
2158
2159#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2160pub struct FilesystemChange {
2162 #[serde(rename = "Kind")]
2163 pub kind: u8,
2164 #[serde(rename = "Path")]
2165 pub path: String,
2167}
2168
2169pub type GenericResources = Vec<GenericResourcesInlineItem>;
2172
2173#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2174pub struct GenericResourcesInlineItem {
2175 #[serde(rename = "DiscreteResourceSpec")]
2176 #[serde(skip_serializing_if = "Option::is_none")]
2177 pub discrete_resource_spec: Option<GenericResourcesInlineItemDiscreteResourceSpecInlineItem>,
2178 #[serde(rename = "NamedResourceSpec")]
2179 #[serde(skip_serializing_if = "Option::is_none")]
2180 pub named_resource_spec: Option<GenericResourcesInlineItemNamedResourceSpecInlineItem>,
2181}
2182
2183#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2184pub struct GenericResourcesInlineItemDiscreteResourceSpecInlineItem {
2185 #[serde(rename = "Kind")]
2186 #[serde(skip_serializing_if = "Option::is_none")]
2187 pub kind: Option<String>,
2188 #[serde(rename = "Value")]
2189 #[serde(skip_serializing_if = "Option::is_none")]
2190 pub value: Option<i64>,
2191}
2192
2193#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2194pub struct GenericResourcesInlineItemNamedResourceSpecInlineItem {
2195 #[serde(rename = "Kind")]
2196 #[serde(skip_serializing_if = "Option::is_none")]
2197 pub kind: Option<String>,
2198 #[serde(rename = "Value")]
2199 #[serde(skip_serializing_if = "Option::is_none")]
2200 pub value: Option<String>,
2201}
2202
2203pub type GetPluginPrivileges200Response = Vec<PluginPrivilege>;
2205
2206#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2207pub struct GraphDriverData {
2210 #[serde(rename = "Data")]
2211 #[serde(default)]
2212 #[serde(deserialize_with = "deserialize_nonoptional_map")]
2213 pub data: HashMap<String, String>,
2218 #[serde(rename = "Name")]
2219 pub name: String,
2221}
2222
2223#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2224pub struct Health {
2226 #[serde(rename = "FailingStreak")]
2227 #[serde(skip_serializing_if = "Option::is_none")]
2228 pub failing_streak: Option<isize>,
2230 #[serde(rename = "Log")]
2231 #[serde(skip_serializing_if = "Option::is_none")]
2232 pub log: Option<Vec<HealthcheckResult>>,
2234 #[serde(rename = "Status")]
2235 #[serde(skip_serializing_if = "Option::is_none")]
2236 pub status: Option<String>,
2243}
2244
2245#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2246pub struct HealthConfig {
2248 #[serde(rename = "Interval")]
2249 #[serde(skip_serializing_if = "Option::is_none")]
2250 pub interval: Option<i64>,
2253 #[serde(rename = "Retries")]
2254 #[serde(skip_serializing_if = "Option::is_none")]
2255 pub retries: Option<isize>,
2258 #[serde(rename = "StartPeriod")]
2259 #[serde(skip_serializing_if = "Option::is_none")]
2260 pub start_period: Option<i64>,
2264 #[serde(rename = "Test")]
2265 #[serde(skip_serializing_if = "Option::is_none")]
2266 pub test: Option<Vec<String>>,
2273 #[serde(rename = "Timeout")]
2274 #[serde(skip_serializing_if = "Option::is_none")]
2275 pub timeout: Option<i64>,
2278}
2279
2280#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2281pub enum HealthStatusInlineItem {
2288 #[serde(rename = "none")]
2289 None,
2290 #[serde(rename = "starting")]
2291 Starting,
2292 #[serde(rename = "healthy")]
2293 Healthy,
2294 #[serde(rename = "unhealthy")]
2295 Unhealthy,
2296}
2297
2298impl AsRef<str> for HealthStatusInlineItem {
2299 fn as_ref(&self) -> &str {
2300 match self {
2301 HealthStatusInlineItem::None => "none",
2302 HealthStatusInlineItem::Starting => "starting",
2303 HealthStatusInlineItem::Healthy => "healthy",
2304 HealthStatusInlineItem::Unhealthy => "unhealthy",
2305 }
2306 }
2307}
2308
2309impl std::fmt::Display for HealthStatusInlineItem {
2310 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2311 write!(f, "{}", self.as_ref())
2312 }
2313}
2314
2315#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2316pub struct HealthcheckResult {
2318 #[serde(rename = "End")]
2319 #[serde(skip_serializing_if = "Option::is_none")]
2320 pub end: Option<DateTime<Utc>>,
2323 #[serde(rename = "ExitCode")]
2324 #[serde(skip_serializing_if = "Option::is_none")]
2325 pub exit_code: Option<isize>,
2332 #[serde(rename = "Output")]
2333 #[serde(skip_serializing_if = "Option::is_none")]
2334 pub output: Option<String>,
2336 #[serde(rename = "Start")]
2337 #[serde(skip_serializing_if = "Option::is_none")]
2338 pub start: Option<DateTime<Utc>>,
2341}
2342
2343#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2344pub struct HistoryResponseItem {
2346 #[serde(rename = "Comment")]
2347 pub comment: String,
2348 #[serde(rename = "Created")]
2349 pub created: i64,
2350 #[serde(rename = "CreatedBy")]
2351 pub created_by: String,
2352 #[serde(rename = "Id")]
2353 pub id: String,
2354 #[serde(rename = "Size")]
2355 pub size: i64,
2356 #[serde(rename = "Tags")]
2357 #[serde(default)]
2358 #[serde(deserialize_with = "deserialize_nonoptional_vec")]
2359 pub tags: Vec<String>,
2360}
2361
2362#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2363pub struct HostConfig {
2365 #[serde(rename = "Annotations")]
2366 #[serde(skip_serializing_if = "Option::is_none")]
2367 pub annotations: Option<HashMap<String, String>>,
2370 #[serde(rename = "AutoRemove")]
2371 #[serde(skip_serializing_if = "Option::is_none")]
2372 pub auto_remove: Option<bool>,
2375 #[serde(rename = "Binds")]
2376 #[serde(skip_serializing_if = "Option::is_none")]
2377 pub binds: Option<Vec<String>>,
2416 #[serde(rename = "BlkioDeviceReadBps")]
2417 #[serde(skip_serializing_if = "Option::is_none")]
2418 pub blkio_device_read_bps: Option<Vec<ThrottleDevice>>,
2424 #[serde(rename = "BlkioDeviceReadIOps")]
2425 #[serde(skip_serializing_if = "Option::is_none")]
2426 pub blkio_device_read_i_ops: Option<Vec<ThrottleDevice>>,
2432 #[serde(rename = "BlkioDeviceWriteBps")]
2433 #[serde(skip_serializing_if = "Option::is_none")]
2434 pub blkio_device_write_bps: Option<Vec<ThrottleDevice>>,
2440 #[serde(rename = "BlkioDeviceWriteIOps")]
2441 #[serde(skip_serializing_if = "Option::is_none")]
2442 pub blkio_device_write_i_ops: Option<Vec<ThrottleDevice>>,
2448 #[serde(rename = "BlkioWeight")]
2449 #[serde(skip_serializing_if = "Option::is_none")]
2450 pub blkio_weight: Option<isize>,
2452 #[serde(rename = "BlkioWeightDevice")]
2453 #[serde(skip_serializing_if = "Option::is_none")]
2454 pub blkio_weight_device: Option<Vec<HostConfigBlkioWeightDeviceInlineItem>>,
2460 #[serde(rename = "CapAdd")]
2461 #[serde(skip_serializing_if = "Option::is_none")]
2462 pub cap_add: Option<Vec<String>>,
2465 #[serde(rename = "CapDrop")]
2466 #[serde(skip_serializing_if = "Option::is_none")]
2467 pub cap_drop: Option<Vec<String>>,
2470 #[serde(rename = "Cgroup")]
2471 #[serde(skip_serializing_if = "Option::is_none")]
2472 pub cgroup: Option<String>,
2474 #[serde(rename = "CgroupParent")]
2475 #[serde(skip_serializing_if = "Option::is_none")]
2476 pub cgroup_parent: Option<String>,
2481 #[serde(rename = "CgroupnsMode")]
2482 #[serde(skip_serializing_if = "Option::is_none")]
2483 pub cgroupns_mode: Option<String>,
2491 #[serde(rename = "ConsoleSize")]
2492 #[serde(skip_serializing_if = "Option::is_none")]
2493 pub console_size: Option<Vec<isize>>,
2495 #[serde(rename = "ContainerIDFile")]
2496 #[serde(skip_serializing_if = "Option::is_none")]
2497 pub container_id_file: Option<String>,
2499 #[serde(rename = "CpuCount")]
2500 #[serde(skip_serializing_if = "Option::is_none")]
2501 pub cpu_count: Option<i64>,
2507 #[serde(rename = "CpuPercent")]
2508 #[serde(skip_serializing_if = "Option::is_none")]
2509 pub cpu_percent: Option<i64>,
2515 #[serde(rename = "CpuPeriod")]
2516 #[serde(skip_serializing_if = "Option::is_none")]
2517 pub cpu_period: Option<i64>,
2519 #[serde(rename = "CpuQuota")]
2520 #[serde(skip_serializing_if = "Option::is_none")]
2521 pub cpu_quota: Option<i64>,
2523 #[serde(rename = "CpuRealtimePeriod")]
2524 #[serde(skip_serializing_if = "Option::is_none")]
2525 pub cpu_realtime_period: Option<i64>,
2528 #[serde(rename = "CpuRealtimeRuntime")]
2529 #[serde(skip_serializing_if = "Option::is_none")]
2530 pub cpu_realtime_runtime: Option<i64>,
2533 #[serde(rename = "CpuShares")]
2534 #[serde(skip_serializing_if = "Option::is_none")]
2535 pub cpu_shares: Option<isize>,
2538 #[serde(rename = "CpusetCpus")]
2539 #[serde(skip_serializing_if = "Option::is_none")]
2540 pub cpuset_cpus: Option<String>,
2542 #[serde(rename = "CpusetMems")]
2543 #[serde(skip_serializing_if = "Option::is_none")]
2544 pub cpuset_mems: Option<String>,
2547 #[serde(rename = "DeviceCgroupRules")]
2548 #[serde(skip_serializing_if = "Option::is_none")]
2549 pub device_cgroup_rules: Option<Vec<String>>,
2551 #[serde(rename = "DeviceRequests")]
2552 #[serde(skip_serializing_if = "Option::is_none")]
2553 pub device_requests: Option<Vec<DeviceRequest>>,
2555 #[serde(rename = "Devices")]
2556 #[serde(skip_serializing_if = "Option::is_none")]
2557 pub devices: Option<Vec<DeviceMapping>>,
2559 #[serde(rename = "Dns")]
2560 #[serde(skip_serializing_if = "Option::is_none")]
2561 pub dns: Option<Vec<String>>,
2563 #[serde(rename = "DnsOptions")]
2564 #[serde(skip_serializing_if = "Option::is_none")]
2565 pub dns_options: Option<Vec<String>>,
2567 #[serde(rename = "DnsSearch")]
2568 #[serde(skip_serializing_if = "Option::is_none")]
2569 pub dns_search: Option<Vec<String>>,
2571 #[serde(rename = "ExtraHosts")]
2572 #[serde(skip_serializing_if = "Option::is_none")]
2573 pub extra_hosts: Option<Vec<String>>,
2576 #[serde(rename = "GroupAdd")]
2577 #[serde(skip_serializing_if = "Option::is_none")]
2578 pub group_add: Option<Vec<String>>,
2580 #[serde(rename = "IOMaximumBandwidth")]
2581 #[serde(skip_serializing_if = "Option::is_none")]
2582 pub io_maximum_bandwidth: Option<i64>,
2585 #[serde(rename = "IOMaximumIOps")]
2586 #[serde(skip_serializing_if = "Option::is_none")]
2587 pub io_maximum_i_ops: Option<i64>,
2589 #[serde(rename = "Init")]
2590 #[serde(skip_serializing_if = "Option::is_none")]
2591 pub init: Option<bool>,
2595 #[serde(rename = "IpcMode")]
2596 #[serde(skip_serializing_if = "Option::is_none")]
2597 pub ipc_mode: Option<String>,
2608 #[serde(rename = "Isolation")]
2609 #[serde(skip_serializing_if = "Option::is_none")]
2610 pub isolation: Option<String>,
2612 #[serde(rename = "KernelMemoryTCP")]
2613 #[serde(skip_serializing_if = "Option::is_none")]
2614 pub kernel_memory_tcp: Option<i64>,
2620 #[serde(rename = "Links")]
2621 #[serde(skip_serializing_if = "Option::is_none")]
2622 pub links: Option<Vec<String>>,
2624 #[serde(rename = "LogConfig")]
2625 #[serde(skip_serializing_if = "Option::is_none")]
2626 pub log_config: Option<HostConfigLogConfigInlineItem>,
2628 #[serde(rename = "MaskedPaths")]
2629 #[serde(skip_serializing_if = "Option::is_none")]
2630 pub masked_paths: Option<Vec<String>>,
2633 #[serde(rename = "Memory")]
2634 #[serde(skip_serializing_if = "Option::is_none")]
2635 pub memory: Option<i64>,
2637 #[serde(rename = "MemoryReservation")]
2638 #[serde(skip_serializing_if = "Option::is_none")]
2639 pub memory_reservation: Option<i64>,
2641 #[serde(rename = "MemorySwap")]
2642 #[serde(skip_serializing_if = "Option::is_none")]
2643 pub memory_swap: Option<i64>,
2646 #[serde(rename = "MemorySwappiness")]
2647 #[serde(skip_serializing_if = "Option::is_none")]
2648 pub memory_swappiness: Option<i64>,
2651 #[serde(rename = "Mounts")]
2652 #[serde(skip_serializing_if = "Option::is_none")]
2653 pub mounts: Option<Vec<Mount>>,
2655 #[serde(rename = "NanoCpus")]
2656 #[serde(skip_serializing_if = "Option::is_none")]
2657 pub nano_cpus: Option<i64>,
2659 #[serde(rename = "NetworkMode")]
2660 #[serde(skip_serializing_if = "Option::is_none")]
2661 pub network_mode: Option<String>,
2666 #[serde(rename = "OomKillDisable")]
2667 #[serde(skip_serializing_if = "Option::is_none")]
2668 pub oom_kill_disable: Option<bool>,
2670 #[serde(rename = "OomScoreAdj")]
2671 #[serde(skip_serializing_if = "Option::is_none")]
2672 pub oom_score_adj: Option<isize>,
2675 #[serde(rename = "PidMode")]
2676 #[serde(skip_serializing_if = "Option::is_none")]
2677 pub pid_mode: Option<String>,
2683 #[serde(rename = "PidsLimit")]
2684 #[serde(skip_serializing_if = "Option::is_none")]
2685 pub pids_limit: Option<i64>,
2688 #[serde(rename = "PortBindings")]
2689 pub port_bindings: Option<PortMap>,
2690 #[serde(rename = "Privileged")]
2691 #[serde(skip_serializing_if = "Option::is_none")]
2692 pub privileged: Option<bool>,
2694 #[serde(rename = "PublishAllPorts")]
2695 #[serde(skip_serializing_if = "Option::is_none")]
2696 pub publish_all_ports: Option<bool>,
2707 #[serde(rename = "ReadonlyPaths")]
2708 #[serde(skip_serializing_if = "Option::is_none")]
2709 pub readonly_paths: Option<Vec<String>>,
2712 #[serde(rename = "ReadonlyRootfs")]
2713 #[serde(skip_serializing_if = "Option::is_none")]
2714 pub readonly_rootfs: Option<bool>,
2716 #[serde(rename = "RestartPolicy")]
2717 pub restart_policy: Option<RestartPolicy>,
2718 #[serde(rename = "Runtime")]
2719 #[serde(skip_serializing_if = "Option::is_none")]
2720 pub runtime: Option<String>,
2722 #[serde(rename = "SecurityOpt")]
2723 #[serde(skip_serializing_if = "Option::is_none")]
2724 pub security_opt: Option<Vec<String>>,
2727 #[serde(rename = "ShmSize")]
2728 #[serde(skip_serializing_if = "Option::is_none")]
2729 pub shm_size: Option<i64>,
2731 #[serde(rename = "StorageOpt")]
2732 #[serde(skip_serializing_if = "Option::is_none")]
2733 pub storage_opt: Option<HashMap<String, String>>,
2735 #[serde(rename = "Sysctls")]
2736 #[serde(skip_serializing_if = "Option::is_none")]
2737 pub sysctls: Option<HashMap<String, String>>,
2744 #[serde(rename = "Tmpfs")]
2745 #[serde(skip_serializing_if = "Option::is_none")]
2746 pub tmpfs: Option<HashMap<String, String>>,
2753 #[serde(rename = "UTSMode")]
2754 #[serde(skip_serializing_if = "Option::is_none")]
2755 pub uts_mode: Option<String>,
2757 #[serde(rename = "Ulimits")]
2758 #[serde(skip_serializing_if = "Option::is_none")]
2759 pub ulimits: Option<Vec<HostConfigUlimitsInlineItem>>,
2765 #[serde(rename = "UsernsMode")]
2766 #[serde(skip_serializing_if = "Option::is_none")]
2767 pub userns_mode: Option<String>,
2770 #[serde(rename = "VolumeDriver")]
2771 #[serde(skip_serializing_if = "Option::is_none")]
2772 pub volume_driver: Option<String>,
2774 #[serde(rename = "VolumesFrom")]
2775 #[serde(skip_serializing_if = "Option::is_none")]
2776 pub volumes_from: Option<Vec<String>>,
2779}
2780
2781#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2782pub struct HostConfigBlkioWeightDeviceInlineItem {
2783 #[serde(rename = "Path")]
2784 #[serde(skip_serializing_if = "Option::is_none")]
2785 pub path: Option<String>,
2786 #[serde(rename = "Weight")]
2787 #[serde(skip_serializing_if = "Option::is_none")]
2788 pub weight: Option<isize>,
2789}
2790
2791#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2792pub enum HostConfigCgroupnsModeInlineItem {
2800 #[serde(rename = "private")]
2801 Private,
2802 #[serde(rename = "host")]
2803 Host,
2804}
2805
2806impl AsRef<str> for HostConfigCgroupnsModeInlineItem {
2807 fn as_ref(&self) -> &str {
2808 match self {
2809 HostConfigCgroupnsModeInlineItem::Private => "private",
2810 HostConfigCgroupnsModeInlineItem::Host => "host",
2811 }
2812 }
2813}
2814
2815impl std::fmt::Display for HostConfigCgroupnsModeInlineItem {
2816 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2817 write!(f, "{}", self.as_ref())
2818 }
2819}
2820
2821#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2822pub enum HostConfigIsolationInlineItem {
2824 #[serde(rename = "default")]
2825 Default,
2826 #[serde(rename = "process")]
2827 Process,
2828 #[serde(rename = "hyperv")]
2829 Hyperv,
2830}
2831
2832impl AsRef<str> for HostConfigIsolationInlineItem {
2833 fn as_ref(&self) -> &str {
2834 match self {
2835 HostConfigIsolationInlineItem::Default => "default",
2836 HostConfigIsolationInlineItem::Process => "process",
2837 HostConfigIsolationInlineItem::Hyperv => "hyperv",
2838 }
2839 }
2840}
2841
2842impl std::fmt::Display for HostConfigIsolationInlineItem {
2843 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2844 write!(f, "{}", self.as_ref())
2845 }
2846}
2847
2848#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2849pub struct HostConfigLogConfigInlineItem {
2851 #[serde(rename = "Config")]
2852 #[serde(skip_serializing_if = "Option::is_none")]
2853 pub config: Option<HashMap<String, String>>,
2854 #[serde(rename = "Type")]
2855 #[serde(skip_serializing_if = "Option::is_none")]
2856 pub type_: Option<String>,
2857}
2858
2859#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2860pub enum HostConfigLogConfigInlineItemTypeInlineItem {
2861 #[serde(rename = "json-file")]
2862 JsonFile,
2863 #[serde(rename = "syslog")]
2864 Syslog,
2865 #[serde(rename = "journald")]
2866 Journald,
2867 #[serde(rename = "gelf")]
2868 Gelf,
2869 #[serde(rename = "fluentd")]
2870 Fluentd,
2871 #[serde(rename = "awslogs")]
2872 Awslogs,
2873 #[serde(rename = "splunk")]
2874 Splunk,
2875 #[serde(rename = "etwlogs")]
2876 Etwlogs,
2877 #[serde(rename = "none")]
2878 None,
2879}
2880
2881impl AsRef<str> for HostConfigLogConfigInlineItemTypeInlineItem {
2882 fn as_ref(&self) -> &str {
2883 match self {
2884 HostConfigLogConfigInlineItemTypeInlineItem::JsonFile => "json-file",
2885 HostConfigLogConfigInlineItemTypeInlineItem::Syslog => "syslog",
2886 HostConfigLogConfigInlineItemTypeInlineItem::Journald => "journald",
2887 HostConfigLogConfigInlineItemTypeInlineItem::Gelf => "gelf",
2888 HostConfigLogConfigInlineItemTypeInlineItem::Fluentd => "fluentd",
2889 HostConfigLogConfigInlineItemTypeInlineItem::Awslogs => "awslogs",
2890 HostConfigLogConfigInlineItemTypeInlineItem::Splunk => "splunk",
2891 HostConfigLogConfigInlineItemTypeInlineItem::Etwlogs => "etwlogs",
2892 HostConfigLogConfigInlineItemTypeInlineItem::None => "none",
2893 }
2894 }
2895}
2896
2897impl std::fmt::Display for HostConfigLogConfigInlineItemTypeInlineItem {
2898 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
2899 write!(f, "{}", self.as_ref())
2900 }
2901}
2902
2903#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2904pub struct HostConfigUlimitsInlineItem {
2905 #[serde(rename = "Hard")]
2906 #[serde(skip_serializing_if = "Option::is_none")]
2907 pub hard: Option<isize>,
2909 #[serde(rename = "Name")]
2910 #[serde(skip_serializing_if = "Option::is_none")]
2911 pub name: Option<String>,
2913 #[serde(rename = "Soft")]
2914 #[serde(skip_serializing_if = "Option::is_none")]
2915 pub soft: Option<isize>,
2917}
2918
2919#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2920pub struct Ipam {
2921 #[serde(rename = "Config")]
2922 #[serde(skip_serializing_if = "Option::is_none")]
2923 pub config: Option<Vec<IpamConfig>>,
2929 #[serde(rename = "Driver")]
2930 #[serde(skip_serializing_if = "Option::is_none")]
2931 pub driver: Option<String>,
2933 #[serde(rename = "Options")]
2934 #[serde(skip_serializing_if = "Option::is_none")]
2935 pub options: Option<HashMap<String, String>>,
2937}
2938
2939#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2940pub struct IpamConfig {
2941 #[serde(rename = "AuxiliaryAddresses")]
2942 #[serde(skip_serializing_if = "Option::is_none")]
2943 pub auxiliary_addresses: Option<HashMap<String, String>>,
2944 #[serde(rename = "Gateway")]
2945 #[serde(skip_serializing_if = "Option::is_none")]
2946 pub gateway: Option<String>,
2947 #[serde(rename = "IPRange")]
2948 #[serde(skip_serializing_if = "Option::is_none")]
2949 pub ip_range: Option<String>,
2950 #[serde(rename = "Subnet")]
2951 #[serde(skip_serializing_if = "Option::is_none")]
2952 pub subnet: Option<String>,
2953}
2954
2955#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2956pub struct IdResponse {
2958 #[serde(rename = "Id")]
2959 pub id: String,
2961}
2962
2963pub type ImageBuildInputStreamParam = Vec<u8>;
2964
2965pub type ImageCreateInputImageParam = String;
2966
2967pub type ImageDelete200Response = Vec<ImageDeleteResponseItem>;
2969
2970#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2971pub struct ImageDeleteResponseItem {
2972 #[serde(rename = "Deleted")]
2973 #[serde(skip_serializing_if = "Option::is_none")]
2974 pub deleted: Option<String>,
2976 #[serde(rename = "Untagged")]
2977 #[serde(skip_serializing_if = "Option::is_none")]
2978 pub untagged: Option<String>,
2980}
2981
2982pub type ImageGet200Response = Vec<u8>;
2984
2985pub type ImageGetAll200Response = Vec<u8>;
2987
2988pub type ImageHistory200Response = Vec<HistoryResponseItem>;
2990
2991#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
2992pub struct ImageId {
2994 #[serde(rename = "ID")]
2995 #[serde(skip_serializing_if = "Option::is_none")]
2996 pub id: Option<String>,
2997}
2998
2999#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3000pub struct ImageInspect {
3002 #[serde(rename = "Architecture")]
3003 #[serde(skip_serializing_if = "Option::is_none")]
3004 pub architecture: Option<String>,
3006 #[serde(rename = "Author")]
3007 #[serde(skip_serializing_if = "Option::is_none")]
3008 pub author: Option<String>,
3011 #[serde(rename = "Comment")]
3012 #[serde(skip_serializing_if = "Option::is_none")]
3013 pub comment: Option<String>,
3015 #[serde(rename = "Config")]
3016 pub config: Option<ContainerConfig>,
3017 #[serde(rename = "Container")]
3018 #[serde(skip_serializing_if = "Option::is_none")]
3019 pub container: Option<String>,
3023 #[serde(rename = "ContainerConfig")]
3024 pub container_config: Option<ContainerConfig>,
3025 #[serde(rename = "Created")]
3026 #[serde(skip_serializing_if = "Option::is_none")]
3027 pub created: Option<String>,
3030 #[serde(rename = "DockerVersion")]
3031 #[serde(skip_serializing_if = "Option::is_none")]
3032 pub docker_version: Option<String>,
3036 #[serde(rename = "GraphDriver")]
3037 pub graph_driver: Option<GraphDriverData>,
3038 #[serde(rename = "Id")]
3039 #[serde(skip_serializing_if = "Option::is_none")]
3040 pub id: Option<String>,
3049 #[serde(rename = "Metadata")]
3050 #[serde(skip_serializing_if = "Option::is_none")]
3051 pub metadata: Option<ImageInspectMetadataInlineItem>,
3054 #[serde(rename = "Os")]
3055 #[serde(skip_serializing_if = "Option::is_none")]
3056 pub os: Option<String>,
3058 #[serde(rename = "OsVersion")]
3059 #[serde(skip_serializing_if = "Option::is_none")]
3060 pub os_version: Option<String>,
3063 #[serde(rename = "Parent")]
3064 #[serde(skip_serializing_if = "Option::is_none")]
3065 pub parent: Option<String>,
3071 #[serde(rename = "RepoDigests")]
3072 #[serde(skip_serializing_if = "Option::is_none")]
3073 pub repo_digests: Option<Vec<String>>,
3081 #[serde(rename = "RepoTags")]
3082 #[serde(skip_serializing_if = "Option::is_none")]
3083 pub repo_tags: Option<Vec<String>>,
3090 #[serde(rename = "RootFS")]
3091 #[serde(skip_serializing_if = "Option::is_none")]
3092 pub root_fs: Option<ImageInspectRootFsInlineItem>,
3094 #[serde(rename = "Size")]
3095 #[serde(skip_serializing_if = "Option::is_none")]
3096 pub size: Option<i64>,
3098 #[serde(rename = "Variant")]
3099 #[serde(skip_serializing_if = "Option::is_none")]
3100 pub variant: Option<String>,
3102 #[serde(rename = "VirtualSize")]
3103 #[serde(skip_serializing_if = "Option::is_none")]
3104 pub virtual_size: Option<i64>,
3114}
3115
3116#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3117pub struct ImageInspectMetadataInlineItem {
3120 #[serde(rename = "LastTagTime")]
3121 #[serde(skip_serializing_if = "Option::is_none")]
3122 pub last_tag_time: Option<DateTime<Utc>>,
3128}
3129
3130#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3131pub struct ImageInspectRootFsInlineItem {
3133 #[serde(rename = "Layers")]
3134 #[serde(skip_serializing_if = "Option::is_none")]
3135 pub layers: Option<Vec<String>>,
3136 #[serde(rename = "Type")]
3137 pub type_: String,
3138}
3139
3140pub type ImageList200Response = Vec<ImageSummary>;
3142
3143pub type ImageLoadImagesTarballParam = Vec<u8>;
3144
3145#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3146pub struct ImagePrune200Response {
3148 #[serde(rename = "ImagesDeleted")]
3149 #[serde(skip_serializing_if = "Option::is_none")]
3150 pub images_deleted: Option<Vec<ImageDeleteResponseItem>>,
3152 #[serde(rename = "SpaceReclaimed")]
3153 #[serde(skip_serializing_if = "Option::is_none")]
3154 pub space_reclaimed: Option<i64>,
3156}
3157
3158pub type ImageSearch200Response = Vec<ImageSearchResponseItem>;
3160
3161#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3162pub struct ImageSearchResponseItem {
3163 #[serde(skip_serializing_if = "Option::is_none")]
3164 pub description: Option<String>,
3165 #[serde(skip_serializing_if = "Option::is_none")]
3166 pub is_automated: Option<bool>,
3167 #[serde(skip_serializing_if = "Option::is_none")]
3168 pub is_official: Option<bool>,
3169 #[serde(skip_serializing_if = "Option::is_none")]
3170 pub name: Option<String>,
3171 #[serde(skip_serializing_if = "Option::is_none")]
3172 pub star_count: Option<isize>,
3173}
3174
3175#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3176pub struct ImageSummary {
3177 #[serde(rename = "Containers")]
3178 pub containers: isize,
3184 #[serde(rename = "Created")]
3185 pub created: isize,
3188 #[serde(rename = "Id")]
3189 pub id: String,
3198 #[serde(rename = "Labels")]
3199 #[serde(default)]
3200 #[serde(deserialize_with = "deserialize_nonoptional_map")]
3201 pub labels: HashMap<String, String>,
3203 #[serde(rename = "ParentId")]
3204 pub parent_id: String,
3210 #[serde(rename = "RepoDigests")]
3211 #[serde(default)]
3212 #[serde(deserialize_with = "deserialize_nonoptional_vec")]
3213 pub repo_digests: Vec<String>,
3221 #[serde(rename = "RepoTags")]
3222 #[serde(default)]
3223 #[serde(deserialize_with = "deserialize_nonoptional_vec")]
3224 pub repo_tags: Vec<String>,
3231 #[serde(rename = "SharedSize")]
3232 pub shared_size: i64,
3238 #[serde(rename = "Size")]
3239 pub size: i64,
3241 #[serde(rename = "VirtualSize")]
3242 #[serde(skip_serializing_if = "Option::is_none")]
3243 pub virtual_size: Option<i64>,
3252}
3253
3254#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3255pub struct IndexInfo {
3257 #[serde(rename = "Mirrors")]
3258 #[serde(skip_serializing_if = "Option::is_none")]
3259 pub mirrors: Option<Vec<String>>,
3261 #[serde(rename = "Name")]
3262 #[serde(skip_serializing_if = "Option::is_none")]
3263 pub name: Option<String>,
3265 #[serde(rename = "Official")]
3266 #[serde(skip_serializing_if = "Option::is_none")]
3267 pub official: Option<bool>,
3269 #[serde(rename = "Secure")]
3270 #[serde(skip_serializing_if = "Option::is_none")]
3271 pub secure: Option<bool>,
3284}
3285
3286#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3287pub struct JoinTokens {
3289 #[serde(rename = "Manager")]
3290 #[serde(skip_serializing_if = "Option::is_none")]
3291 pub manager: Option<String>,
3293 #[serde(rename = "Worker")]
3294 #[serde(skip_serializing_if = "Option::is_none")]
3295 pub worker: Option<String>,
3297}
3298
3299#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3300pub struct Limit {
3302 #[serde(rename = "MemoryBytes")]
3303 #[serde(skip_serializing_if = "Option::is_none")]
3304 pub memory_bytes: Option<i64>,
3305 #[serde(rename = "NanoCPUs")]
3306 #[serde(skip_serializing_if = "Option::is_none")]
3307 pub nano_cp_us: Option<i64>,
3308 #[serde(rename = "Pids")]
3309 #[serde(skip_serializing_if = "Option::is_none")]
3310 pub pids: Option<i64>,
3312}
3313
3314#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3315pub enum LocalNodeState {
3317 #[serde(rename = "")]
3318 Empty,
3319 #[serde(rename = "inactive")]
3320 Inactive,
3321 #[serde(rename = "pending")]
3322 Pending,
3323 #[serde(rename = "active")]
3324 Active,
3325 #[serde(rename = "error")]
3326 Error,
3327 #[serde(rename = "locked")]
3328 Locked,
3329}
3330
3331impl AsRef<str> for LocalNodeState {
3332 fn as_ref(&self) -> &str {
3333 match self {
3334 LocalNodeState::Empty => "",
3335 LocalNodeState::Inactive => "inactive",
3336 LocalNodeState::Pending => "pending",
3337 LocalNodeState::Active => "active",
3338 LocalNodeState::Error => "error",
3339 LocalNodeState::Locked => "locked",
3340 }
3341 }
3342}
3343
3344impl std::fmt::Display for LocalNodeState {
3345 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3346 write!(f, "{}", self.as_ref())
3347 }
3348}
3349
3350#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3351pub struct ManagerStatus {
3356 #[serde(rename = "Addr")]
3357 #[serde(skip_serializing_if = "Option::is_none")]
3358 pub addr: Option<String>,
3360 #[serde(rename = "Leader")]
3361 #[serde(skip_serializing_if = "Option::is_none")]
3362 pub leader: Option<bool>,
3363 #[serde(rename = "Reachability")]
3364 pub reachability: Option<String>,
3365}
3366
3367#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3368pub struct Mount {
3369 #[serde(rename = "BindOptions")]
3370 #[serde(skip_serializing_if = "Option::is_none")]
3371 pub bind_options: Option<MountBindOptionsInlineItem>,
3373 #[serde(rename = "Consistency")]
3374 #[serde(skip_serializing_if = "Option::is_none")]
3375 pub consistency: Option<String>,
3377 #[serde(rename = "ReadOnly")]
3378 #[serde(skip_serializing_if = "Option::is_none")]
3379 pub read_only: Option<bool>,
3381 #[serde(rename = "Source")]
3382 #[serde(skip_serializing_if = "Option::is_none")]
3383 pub source: Option<String>,
3385 #[serde(rename = "Target")]
3386 #[serde(skip_serializing_if = "Option::is_none")]
3387 pub target: Option<String>,
3389 #[serde(rename = "TmpfsOptions")]
3390 #[serde(skip_serializing_if = "Option::is_none")]
3391 pub tmpfs_options: Option<MountTmpfsOptionsInlineItem>,
3393 #[serde(rename = "Type")]
3394 #[serde(skip_serializing_if = "Option::is_none")]
3395 pub type_: Option<String>,
3403 #[serde(rename = "VolumeOptions")]
3404 #[serde(skip_serializing_if = "Option::is_none")]
3405 pub volume_options: Option<MountVolumeOptionsInlineItem>,
3407}
3408
3409#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3410pub struct MountBindOptionsInlineItem {
3412 #[serde(rename = "CreateMountpoint")]
3413 #[serde(skip_serializing_if = "Option::is_none")]
3414 pub create_mountpoint: Option<bool>,
3416 #[serde(rename = "NonRecursive")]
3417 #[serde(skip_serializing_if = "Option::is_none")]
3418 pub non_recursive: Option<bool>,
3420 #[serde(rename = "Propagation")]
3421 #[serde(skip_serializing_if = "Option::is_none")]
3422 pub propagation: Option<String>,
3424}
3425
3426#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3427pub enum MountBindOptionsInlineItemPropagationInlineItem {
3429 #[serde(rename = "private")]
3430 Private,
3431 #[serde(rename = "rprivate")]
3432 Rprivate,
3433 #[serde(rename = "shared")]
3434 Shared,
3435 #[serde(rename = "rshared")]
3436 Rshared,
3437 #[serde(rename = "slave")]
3438 Slave,
3439 #[serde(rename = "rslave")]
3440 Rslave,
3441}
3442
3443impl AsRef<str> for MountBindOptionsInlineItemPropagationInlineItem {
3444 fn as_ref(&self) -> &str {
3445 match self {
3446 MountBindOptionsInlineItemPropagationInlineItem::Private => "private",
3447 MountBindOptionsInlineItemPropagationInlineItem::Rprivate => "rprivate",
3448 MountBindOptionsInlineItemPropagationInlineItem::Shared => "shared",
3449 MountBindOptionsInlineItemPropagationInlineItem::Rshared => "rshared",
3450 MountBindOptionsInlineItemPropagationInlineItem::Slave => "slave",
3451 MountBindOptionsInlineItemPropagationInlineItem::Rslave => "rslave",
3452 }
3453 }
3454}
3455
3456impl std::fmt::Display for MountBindOptionsInlineItemPropagationInlineItem {
3457 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3458 write!(f, "{}", self.as_ref())
3459 }
3460}
3461
3462#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3463pub struct MountPoint {
3466 #[serde(rename = "Destination")]
3467 #[serde(skip_serializing_if = "Option::is_none")]
3468 pub destination: Option<String>,
3471 #[serde(rename = "Driver")]
3472 #[serde(skip_serializing_if = "Option::is_none")]
3473 pub driver: Option<String>,
3475 #[serde(rename = "Mode")]
3476 #[serde(skip_serializing_if = "Option::is_none")]
3477 pub mode: Option<String>,
3482 #[serde(rename = "Name")]
3483 #[serde(skip_serializing_if = "Option::is_none")]
3484 pub name: Option<String>,
3487 #[serde(rename = "Propagation")]
3488 #[serde(skip_serializing_if = "Option::is_none")]
3489 pub propagation: Option<String>,
3493 #[serde(rename = "RW")]
3494 #[serde(skip_serializing_if = "Option::is_none")]
3495 pub rw: Option<bool>,
3497 #[serde(rename = "Source")]
3498 #[serde(skip_serializing_if = "Option::is_none")]
3499 pub source: Option<String>,
3506 #[serde(rename = "Type")]
3507 #[serde(skip_serializing_if = "Option::is_none")]
3508 pub type_: Option<String>,
3516}
3517
3518#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3519pub enum MountPointTypeInlineItem {
3527 #[serde(rename = "bind")]
3528 Bind,
3529 #[serde(rename = "volume")]
3530 Volume,
3531 #[serde(rename = "tmpfs")]
3532 Tmpfs,
3533 #[serde(rename = "npipe")]
3534 Npipe,
3535 #[serde(rename = "cluster")]
3536 Cluster,
3537}
3538
3539impl AsRef<str> for MountPointTypeInlineItem {
3540 fn as_ref(&self) -> &str {
3541 match self {
3542 MountPointTypeInlineItem::Bind => "bind",
3543 MountPointTypeInlineItem::Volume => "volume",
3544 MountPointTypeInlineItem::Tmpfs => "tmpfs",
3545 MountPointTypeInlineItem::Npipe => "npipe",
3546 MountPointTypeInlineItem::Cluster => "cluster",
3547 }
3548 }
3549}
3550
3551impl std::fmt::Display for MountPointTypeInlineItem {
3552 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3553 write!(f, "{}", self.as_ref())
3554 }
3555}
3556
3557#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3558pub struct MountTmpfsOptionsInlineItem {
3560 #[serde(rename = "Mode")]
3561 #[serde(skip_serializing_if = "Option::is_none")]
3562 pub mode: Option<isize>,
3564 #[serde(rename = "SizeBytes")]
3565 #[serde(skip_serializing_if = "Option::is_none")]
3566 pub size_bytes: Option<i64>,
3568}
3569
3570#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3571pub enum MountTypeInlineItem {
3579 #[serde(rename = "bind")]
3580 Bind,
3581 #[serde(rename = "volume")]
3582 Volume,
3583 #[serde(rename = "tmpfs")]
3584 Tmpfs,
3585 #[serde(rename = "npipe")]
3586 Npipe,
3587 #[serde(rename = "cluster")]
3588 Cluster,
3589}
3590
3591impl AsRef<str> for MountTypeInlineItem {
3592 fn as_ref(&self) -> &str {
3593 match self {
3594 MountTypeInlineItem::Bind => "bind",
3595 MountTypeInlineItem::Volume => "volume",
3596 MountTypeInlineItem::Tmpfs => "tmpfs",
3597 MountTypeInlineItem::Npipe => "npipe",
3598 MountTypeInlineItem::Cluster => "cluster",
3599 }
3600 }
3601}
3602
3603impl std::fmt::Display for MountTypeInlineItem {
3604 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3605 write!(f, "{}", self.as_ref())
3606 }
3607}
3608
3609#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3610pub struct MountVolumeOptionsInlineItem {
3612 #[serde(rename = "DriverConfig")]
3613 #[serde(skip_serializing_if = "Option::is_none")]
3614 pub driver_config: Option<MountVolumeOptionsInlineItemDriverConfigInlineItem>,
3616 #[serde(rename = "Labels")]
3617 #[serde(skip_serializing_if = "Option::is_none")]
3618 pub labels: Option<HashMap<String, String>>,
3620 #[serde(rename = "NoCopy")]
3621 #[serde(skip_serializing_if = "Option::is_none")]
3622 pub no_copy: Option<bool>,
3624}
3625
3626#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3627pub struct MountVolumeOptionsInlineItemDriverConfigInlineItem {
3629 #[serde(rename = "Name")]
3630 #[serde(skip_serializing_if = "Option::is_none")]
3631 pub name: Option<String>,
3633 #[serde(rename = "Options")]
3634 #[serde(skip_serializing_if = "Option::is_none")]
3635 pub options: Option<HashMap<String, String>>,
3637}
3638
3639#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3640pub struct Network {
3641 #[serde(rename = "Attachable")]
3642 #[serde(skip_serializing_if = "Option::is_none")]
3643 pub attachable: Option<bool>,
3644 #[serde(rename = "Containers")]
3645 #[serde(skip_serializing_if = "Option::is_none")]
3646 pub containers: Option<HashMap<String, NetworkContainer>>,
3647 #[serde(rename = "Created")]
3648 #[serde(skip_serializing_if = "Option::is_none")]
3649 pub created: Option<DateTime<Utc>>,
3650 #[serde(rename = "Driver")]
3651 #[serde(skip_serializing_if = "Option::is_none")]
3652 pub driver: Option<String>,
3653 #[serde(rename = "EnableIPv6")]
3654 #[serde(skip_serializing_if = "Option::is_none")]
3655 pub enable_i_pv_6: Option<bool>,
3656 #[serde(rename = "IPAM")]
3657 pub ipam: Option<Ipam>,
3658 #[serde(rename = "Id")]
3659 #[serde(skip_serializing_if = "Option::is_none")]
3660 pub id: Option<String>,
3661 #[serde(rename = "Ingress")]
3662 #[serde(skip_serializing_if = "Option::is_none")]
3663 pub ingress: Option<bool>,
3664 #[serde(rename = "Internal")]
3665 #[serde(skip_serializing_if = "Option::is_none")]
3666 pub internal: Option<bool>,
3667 #[serde(rename = "Labels")]
3668 #[serde(skip_serializing_if = "Option::is_none")]
3669 pub labels: Option<HashMap<String, String>>,
3670 #[serde(rename = "Name")]
3671 #[serde(skip_serializing_if = "Option::is_none")]
3672 pub name: Option<String>,
3673 #[serde(rename = "Options")]
3674 #[serde(skip_serializing_if = "Option::is_none")]
3675 pub options: Option<HashMap<String, String>>,
3676 #[serde(rename = "Scope")]
3677 #[serde(skip_serializing_if = "Option::is_none")]
3678 pub scope: Option<String>,
3679}
3680
3681#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3682pub struct NetworkAttachmentConfig {
3684 #[serde(rename = "Aliases")]
3685 #[serde(skip_serializing_if = "Option::is_none")]
3686 pub aliases: Option<Vec<String>>,
3688 #[serde(rename = "DriverOpts")]
3689 #[serde(skip_serializing_if = "Option::is_none")]
3690 pub driver_opts: Option<HashMap<String, String>>,
3692 #[serde(rename = "Target")]
3693 #[serde(skip_serializing_if = "Option::is_none")]
3694 pub target: Option<String>,
3696}
3697
3698#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3699pub struct NetworkConnectContainerParam {
3700 #[serde(rename = "Container")]
3701 #[serde(skip_serializing_if = "Option::is_none")]
3702 pub container: Option<String>,
3704 #[serde(rename = "EndpointConfig")]
3705 pub endpoint_config: Option<EndpointSettings>,
3706}
3707
3708#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3709pub struct NetworkContainer {
3710 #[serde(rename = "EndpointID")]
3711 #[serde(skip_serializing_if = "Option::is_none")]
3712 pub endpoint_id: Option<String>,
3713 #[serde(rename = "IPv4Address")]
3714 #[serde(skip_serializing_if = "Option::is_none")]
3715 pub i_pv_4_address: Option<String>,
3716 #[serde(rename = "IPv6Address")]
3717 #[serde(skip_serializing_if = "Option::is_none")]
3718 pub i_pv_6_address: Option<String>,
3719 #[serde(rename = "MacAddress")]
3720 #[serde(skip_serializing_if = "Option::is_none")]
3721 pub mac_address: Option<String>,
3722 #[serde(rename = "Name")]
3723 #[serde(skip_serializing_if = "Option::is_none")]
3724 pub name: Option<String>,
3725}
3726
3727#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3728pub struct NetworkCreate201Response {
3730 #[serde(rename = "Id")]
3731 #[serde(skip_serializing_if = "Option::is_none")]
3732 pub id: Option<String>,
3734 #[serde(rename = "Warning")]
3735 #[serde(skip_serializing_if = "Option::is_none")]
3736 pub warning: Option<String>,
3737}
3738
3739#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3740pub struct NetworkCreateNetworkConfigParam {
3741 #[serde(rename = "Attachable")]
3742 #[serde(skip_serializing_if = "Option::is_none")]
3743 pub attachable: Option<bool>,
3746 #[serde(rename = "CheckDuplicate")]
3747 #[serde(skip_serializing_if = "Option::is_none")]
3748 pub check_duplicate: Option<bool>,
3756 #[serde(rename = "Driver")]
3757 #[serde(skip_serializing_if = "Option::is_none")]
3758 pub driver: Option<String>,
3760 #[serde(rename = "EnableIPv6")]
3761 #[serde(skip_serializing_if = "Option::is_none")]
3762 pub enable_i_pv_6: Option<bool>,
3764 #[serde(rename = "IPAM")]
3765 pub ipam: Option<Ipam>,
3766 #[serde(rename = "Ingress")]
3767 #[serde(skip_serializing_if = "Option::is_none")]
3768 pub ingress: Option<bool>,
3771 #[serde(rename = "Internal")]
3772 #[serde(skip_serializing_if = "Option::is_none")]
3773 pub internal: Option<bool>,
3775 #[serde(rename = "Labels")]
3776 #[serde(skip_serializing_if = "Option::is_none")]
3777 pub labels: Option<HashMap<String, String>>,
3779 #[serde(rename = "Name")]
3780 pub name: String,
3782 #[serde(rename = "Options")]
3783 #[serde(skip_serializing_if = "Option::is_none")]
3784 pub options: Option<HashMap<String, String>>,
3786}
3787
3788#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3789pub struct NetworkDisconnectContainerParam {
3790 #[serde(rename = "Container")]
3791 #[serde(skip_serializing_if = "Option::is_none")]
3792 pub container: Option<String>,
3794 #[serde(rename = "Force")]
3795 #[serde(skip_serializing_if = "Option::is_none")]
3796 pub force: Option<bool>,
3798}
3799
3800pub type NetworkList200Response = Vec<Network>;
3802
3803#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3804pub struct NetworkPrune200Response {
3806 #[serde(rename = "NetworksDeleted")]
3807 #[serde(skip_serializing_if = "Option::is_none")]
3808 pub networks_deleted: Option<Vec<String>>,
3810}
3811
3812#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3813pub struct NetworkSettings {
3815 #[serde(rename = "Bridge")]
3816 #[serde(skip_serializing_if = "Option::is_none")]
3817 pub bridge: Option<String>,
3819 #[serde(rename = "EndpointID")]
3820 #[serde(skip_serializing_if = "Option::is_none")]
3821 pub endpoint_id: Option<String>,
3831 #[serde(rename = "Gateway")]
3832 #[serde(skip_serializing_if = "Option::is_none")]
3833 pub gateway: Option<String>,
3843 #[serde(rename = "GlobalIPv6Address")]
3844 #[serde(skip_serializing_if = "Option::is_none")]
3845 pub global_i_pv_6_address: Option<String>,
3855 #[serde(rename = "GlobalIPv6PrefixLen")]
3856 #[serde(skip_serializing_if = "Option::is_none")]
3857 pub global_i_pv_6_prefix_len: Option<isize>,
3867 #[serde(rename = "HairpinMode")]
3868 #[serde(skip_serializing_if = "Option::is_none")]
3869 pub hairpin_mode: Option<bool>,
3871 #[serde(rename = "IPAddress")]
3872 #[serde(skip_serializing_if = "Option::is_none")]
3873 pub ip_address: Option<String>,
3883 #[serde(rename = "IPPrefixLen")]
3884 #[serde(skip_serializing_if = "Option::is_none")]
3885 pub ip_prefix_len: Option<isize>,
3895 #[serde(rename = "IPv6Gateway")]
3896 #[serde(skip_serializing_if = "Option::is_none")]
3897 pub i_pv_6_gateway: Option<String>,
3907 #[serde(rename = "LinkLocalIPv6Address")]
3908 #[serde(skip_serializing_if = "Option::is_none")]
3909 pub link_local_i_pv_6_address: Option<String>,
3911 #[serde(rename = "LinkLocalIPv6PrefixLen")]
3912 #[serde(skip_serializing_if = "Option::is_none")]
3913 pub link_local_i_pv_6_prefix_len: Option<isize>,
3915 #[serde(rename = "MacAddress")]
3916 #[serde(skip_serializing_if = "Option::is_none")]
3917 pub mac_address: Option<String>,
3927 #[serde(rename = "Networks")]
3928 #[serde(skip_serializing_if = "Option::is_none")]
3929 pub networks: Option<HashMap<String, EndpointSettings>>,
3931 #[serde(rename = "Ports")]
3932 pub ports: Option<PortMap>,
3933 #[serde(rename = "SandboxID")]
3934 #[serde(skip_serializing_if = "Option::is_none")]
3935 pub sandbox_id: Option<String>,
3937 #[serde(rename = "SandboxKey")]
3938 #[serde(skip_serializing_if = "Option::is_none")]
3939 pub sandbox_key: Option<String>,
3941 #[serde(rename = "SecondaryIPAddresses")]
3942 #[serde(skip_serializing_if = "Option::is_none")]
3943 pub secondary_ip_addresses: Option<Vec<Address>>,
3944 #[serde(rename = "SecondaryIPv6Addresses")]
3945 #[serde(skip_serializing_if = "Option::is_none")]
3946 pub secondary_i_pv_6_addresses: Option<Vec<Address>>,
3947}
3948
3949#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3950pub struct NetworkingConfig {
3955 #[serde(rename = "EndpointsConfig")]
3956 #[serde(skip_serializing_if = "Option::is_none")]
3957 pub endpoints_config: Option<HashMap<String, EndpointSettings>>,
3959}
3960
3961#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3962pub struct Node {
3963 #[serde(rename = "CreatedAt")]
3964 #[serde(skip_serializing_if = "Option::is_none")]
3965 pub created_at: Option<DateTime<Utc>>,
3968 #[serde(rename = "Description")]
3969 pub description: Option<NodeDescription>,
3970 #[serde(rename = "ID")]
3971 #[serde(skip_serializing_if = "Option::is_none")]
3972 pub id: Option<String>,
3973 #[serde(rename = "ManagerStatus")]
3974 pub manager_status: Option<ManagerStatus>,
3975 #[serde(rename = "Spec")]
3976 pub spec: Option<NodeSpec>,
3977 #[serde(rename = "Status")]
3978 pub status: Option<NodeStatus>,
3979 #[serde(rename = "UpdatedAt")]
3980 #[serde(skip_serializing_if = "Option::is_none")]
3981 pub updated_at: Option<DateTime<Utc>>,
3984 #[serde(rename = "Version")]
3985 pub version: Option<ObjectVersion>,
3986}
3987
3988#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
3989pub struct NodeDescription {
3992 #[serde(rename = "Engine")]
3993 pub engine: Option<EngineDescription>,
3994 #[serde(rename = "Hostname")]
3995 #[serde(skip_serializing_if = "Option::is_none")]
3996 pub hostname: Option<String>,
3997 #[serde(rename = "Platform")]
3998 pub platform: Option<Platform>,
3999 #[serde(rename = "Resources")]
4000 pub resources: Option<ResourceObject>,
4001 #[serde(rename = "TLSInfo")]
4002 pub tls_info: Option<TlsInfo>,
4003}
4004
4005pub type NodeList200Response = Vec<Node>;
4007
4008#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4009pub struct NodeSpec {
4010 #[serde(rename = "Availability")]
4011 #[serde(skip_serializing_if = "Option::is_none")]
4012 pub availability: Option<String>,
4014 #[serde(rename = "Labels")]
4015 #[serde(skip_serializing_if = "Option::is_none")]
4016 pub labels: Option<HashMap<String, String>>,
4018 #[serde(rename = "Name")]
4019 #[serde(skip_serializing_if = "Option::is_none")]
4020 pub name: Option<String>,
4022 #[serde(rename = "Role")]
4023 #[serde(skip_serializing_if = "Option::is_none")]
4024 pub role: Option<String>,
4026}
4027
4028#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4029pub enum NodeSpecAvailabilityInlineItem {
4031 #[serde(rename = "active")]
4032 Active,
4033 #[serde(rename = "pause")]
4034 Pause,
4035 #[serde(rename = "drain")]
4036 Drain,
4037}
4038
4039impl AsRef<str> for NodeSpecAvailabilityInlineItem {
4040 fn as_ref(&self) -> &str {
4041 match self {
4042 NodeSpecAvailabilityInlineItem::Active => "active",
4043 NodeSpecAvailabilityInlineItem::Pause => "pause",
4044 NodeSpecAvailabilityInlineItem::Drain => "drain",
4045 }
4046 }
4047}
4048
4049impl std::fmt::Display for NodeSpecAvailabilityInlineItem {
4050 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4051 write!(f, "{}", self.as_ref())
4052 }
4053}
4054
4055#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4056pub enum NodeSpecRoleInlineItem {
4058 #[serde(rename = "worker")]
4059 Worker,
4060 #[serde(rename = "manager")]
4061 Manager,
4062}
4063
4064impl AsRef<str> for NodeSpecRoleInlineItem {
4065 fn as_ref(&self) -> &str {
4066 match self {
4067 NodeSpecRoleInlineItem::Worker => "worker",
4068 NodeSpecRoleInlineItem::Manager => "manager",
4069 }
4070 }
4071}
4072
4073impl std::fmt::Display for NodeSpecRoleInlineItem {
4074 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4075 write!(f, "{}", self.as_ref())
4076 }
4077}
4078
4079#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4080pub enum NodeState {
4082 #[serde(rename = "unknown")]
4083 Unknown,
4084 #[serde(rename = "down")]
4085 Down,
4086 #[serde(rename = "ready")]
4087 Ready,
4088 #[serde(rename = "disconnected")]
4089 Disconnected,
4090}
4091
4092impl AsRef<str> for NodeState {
4093 fn as_ref(&self) -> &str {
4094 match self {
4095 NodeState::Unknown => "unknown",
4096 NodeState::Down => "down",
4097 NodeState::Ready => "ready",
4098 NodeState::Disconnected => "disconnected",
4099 }
4100 }
4101}
4102
4103impl std::fmt::Display for NodeState {
4104 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4105 write!(f, "{}", self.as_ref())
4106 }
4107}
4108
4109#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4110pub struct NodeStatus {
4114 #[serde(rename = "Addr")]
4115 #[serde(skip_serializing_if = "Option::is_none")]
4116 pub addr: Option<String>,
4118 #[serde(rename = "Message")]
4119 #[serde(skip_serializing_if = "Option::is_none")]
4120 pub message: Option<String>,
4121 #[serde(rename = "State")]
4122 pub state: Option<String>,
4123}
4124
4125#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4126pub struct OciDescriptor {
4129 #[serde(skip_serializing_if = "Option::is_none")]
4130 pub digest: Option<String>,
4132 #[serde(rename = "mediaType")]
4133 #[serde(skip_serializing_if = "Option::is_none")]
4134 pub media_type: Option<String>,
4136 #[serde(skip_serializing_if = "Option::is_none")]
4137 pub size: Option<i64>,
4139}
4140
4141#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4142pub struct OciPlatform {
4145 #[serde(skip_serializing_if = "Option::is_none")]
4146 pub architecture: Option<String>,
4148 #[serde(skip_serializing_if = "Option::is_none")]
4149 pub os: Option<String>,
4151 #[serde(rename = "os.features")]
4152 #[serde(skip_serializing_if = "Option::is_none")]
4153 pub os_features: Option<Vec<String>>,
4156 #[serde(rename = "os.version")]
4157 #[serde(skip_serializing_if = "Option::is_none")]
4158 pub os_version: Option<String>,
4161 #[serde(skip_serializing_if = "Option::is_none")]
4162 pub variant: Option<String>,
4165}
4166
4167#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4168pub struct ObjectVersion {
4179 #[serde(rename = "Index")]
4180 #[serde(skip_serializing_if = "Option::is_none")]
4181 pub index: Option<u64>,
4182}
4183
4184#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4185pub struct PeerNode {
4187 #[serde(rename = "Addr")]
4188 #[serde(skip_serializing_if = "Option::is_none")]
4189 pub addr: Option<String>,
4191 #[serde(rename = "NodeID")]
4192 #[serde(skip_serializing_if = "Option::is_none")]
4193 pub node_id: Option<String>,
4195}
4196
4197#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4198pub struct Platform {
4200 #[serde(rename = "Architecture")]
4201 #[serde(skip_serializing_if = "Option::is_none")]
4202 pub architecture: Option<String>,
4205 #[serde(rename = "OS")]
4206 #[serde(skip_serializing_if = "Option::is_none")]
4207 pub os: Option<String>,
4209}
4210
4211#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4212pub struct Plugin {
4214 #[serde(rename = "Config")]
4215 pub config: PluginConfigInlineItem,
4217 #[serde(rename = "Enabled")]
4218 pub enabled: bool,
4220 #[serde(rename = "Id")]
4221 #[serde(skip_serializing_if = "Option::is_none")]
4222 pub id: Option<String>,
4223 #[serde(rename = "Name")]
4224 pub name: String,
4225 #[serde(rename = "PluginReference")]
4226 #[serde(skip_serializing_if = "Option::is_none")]
4227 pub plugin_reference: Option<String>,
4229 #[serde(rename = "Settings")]
4230 pub settings: PluginSettingsInlineItem,
4232}
4233
4234#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4235pub struct PluginConfigInlineItem {
4237 #[serde(rename = "Args")]
4238 pub args: PluginConfigInlineItemArgsInlineItem,
4239 #[serde(rename = "Description")]
4240 pub description: String,
4241 #[serde(rename = "DockerVersion")]
4242 #[serde(skip_serializing_if = "Option::is_none")]
4243 pub docker_version: Option<String>,
4245 #[serde(rename = "Documentation")]
4246 pub documentation: String,
4247 #[serde(rename = "Entrypoint")]
4248 #[serde(default)]
4249 #[serde(deserialize_with = "deserialize_nonoptional_vec")]
4250 pub entrypoint: Vec<String>,
4251 #[serde(rename = "Env")]
4252 #[serde(default)]
4253 #[serde(deserialize_with = "deserialize_nonoptional_vec")]
4254 pub env: Vec<PluginEnv>,
4255 #[serde(rename = "Interface")]
4256 pub interface: PluginConfigInlineItemInterfaceInlineItem,
4258 #[serde(rename = "IpcHost")]
4259 pub ipc_host: bool,
4260 #[serde(rename = "Linux")]
4261 pub linux: PluginConfigInlineItemLinuxInlineItem,
4262 #[serde(rename = "Mounts")]
4263 #[serde(default)]
4264 #[serde(deserialize_with = "deserialize_nonoptional_vec")]
4265 pub mounts: Vec<PluginMount>,
4266 #[serde(rename = "Network")]
4267 pub network: PluginConfigInlineItemNetworkInlineItem,
4268 #[serde(rename = "PidHost")]
4269 pub pid_host: bool,
4270 #[serde(rename = "PropagatedMount")]
4271 pub propagated_mount: String,
4272 #[serde(rename = "User")]
4273 #[serde(skip_serializing_if = "Option::is_none")]
4274 pub user: Option<PluginConfigInlineItemUserInlineItem>,
4275 #[serde(rename = "WorkDir")]
4276 pub work_dir: String,
4277 #[serde(skip_serializing_if = "Option::is_none")]
4278 pub rootfs: Option<PluginConfigInlineItemrootfsInlineItem>,
4279}
4280
4281#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4282pub struct PluginConfigInlineItemArgsInlineItem {
4283 #[serde(rename = "Description")]
4284 pub description: String,
4285 #[serde(rename = "Name")]
4286 pub name: String,
4287 #[serde(rename = "Settable")]
4288 #[serde(default)]
4289 #[serde(deserialize_with = "deserialize_nonoptional_vec")]
4290 pub settable: Vec<String>,
4291 #[serde(rename = "Value")]
4292 #[serde(default)]
4293 #[serde(deserialize_with = "deserialize_nonoptional_vec")]
4294 pub value: Vec<String>,
4295}
4296
4297#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4298pub struct PluginConfigInlineItemInterfaceInlineItem {
4300 #[serde(rename = "ProtocolScheme")]
4301 #[serde(skip_serializing_if = "Option::is_none")]
4302 pub protocol_scheme: Option<String>,
4304 #[serde(rename = "Socket")]
4305 pub socket: String,
4306 #[serde(rename = "Types")]
4307 #[serde(default)]
4308 #[serde(deserialize_with = "deserialize_nonoptional_vec")]
4309 pub types: Vec<PluginInterfaceType>,
4310}
4311
4312#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4313pub enum PluginConfigInlineItemInterfaceInlineItemProtocolSchemeInlineItem {
4315 #[serde(rename = "")]
4316 Empty,
4317 #[serde(rename = "moby.plugins.http/v1")]
4318 MobyPluginsHttpV1,
4319}
4320
4321impl AsRef<str> for PluginConfigInlineItemInterfaceInlineItemProtocolSchemeInlineItem {
4322 fn as_ref(&self) -> &str {
4323 match self {
4324 PluginConfigInlineItemInterfaceInlineItemProtocolSchemeInlineItem::Empty => "",
4325 PluginConfigInlineItemInterfaceInlineItemProtocolSchemeInlineItem::MobyPluginsHttpV1 => "moby.plugins.http/v1",
4326 }
4327 }
4328}
4329
4330impl std::fmt::Display for PluginConfigInlineItemInterfaceInlineItemProtocolSchemeInlineItem {
4331 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4332 write!(f, "{}", self.as_ref())
4333 }
4334}
4335
4336#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4337pub struct PluginConfigInlineItemLinuxInlineItem {
4338 #[serde(rename = "AllowAllDevices")]
4339 pub allow_all_devices: bool,
4340 #[serde(rename = "Capabilities")]
4341 #[serde(default)]
4342 #[serde(deserialize_with = "deserialize_nonoptional_vec")]
4343 pub capabilities: Vec<String>,
4344 #[serde(rename = "Devices")]
4345 #[serde(default)]
4346 #[serde(deserialize_with = "deserialize_nonoptional_vec")]
4347 pub devices: Vec<PluginDevice>,
4348}
4349
4350#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4351pub struct PluginConfigInlineItemNetworkInlineItem {
4352 #[serde(rename = "Type")]
4353 pub type_: String,
4354}
4355
4356#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4357pub struct PluginConfigInlineItemUserInlineItem {
4358 #[serde(rename = "GID")]
4359 #[serde(skip_serializing_if = "Option::is_none")]
4360 pub gid: Option<u32>,
4361 #[serde(rename = "UID")]
4362 #[serde(skip_serializing_if = "Option::is_none")]
4363 pub uid: Option<u32>,
4364}
4365
4366#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4367pub struct PluginConfigInlineItemrootfsInlineItem {
4368 #[serde(skip_serializing_if = "Option::is_none")]
4369 pub diff_ids: Option<Vec<String>>,
4370 #[serde(rename = "type")]
4371 #[serde(skip_serializing_if = "Option::is_none")]
4372 pub type_: Option<String>,
4373}
4374
4375pub type PluginCreateTarContextParam = Vec<u8>;
4376
4377#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4378pub struct PluginDevice {
4379 #[serde(rename = "Description")]
4380 pub description: String,
4381 #[serde(rename = "Name")]
4382 pub name: String,
4383 #[serde(rename = "Path")]
4384 pub path: String,
4385 #[serde(rename = "Settable")]
4386 #[serde(default)]
4387 #[serde(deserialize_with = "deserialize_nonoptional_vec")]
4388 pub settable: Vec<String>,
4389}
4390
4391#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4392pub struct PluginEnv {
4393 #[serde(rename = "Description")]
4394 pub description: String,
4395 #[serde(rename = "Name")]
4396 pub name: String,
4397 #[serde(rename = "Settable")]
4398 #[serde(default)]
4399 #[serde(deserialize_with = "deserialize_nonoptional_vec")]
4400 pub settable: Vec<String>,
4401 #[serde(rename = "Value")]
4402 pub value: String,
4403}
4404
4405#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4406pub struct PluginInterfaceType {
4407 #[serde(rename = "Capability")]
4408 pub capability: String,
4409 #[serde(rename = "Prefix")]
4410 pub prefix: String,
4411 #[serde(rename = "Version")]
4412 pub version: String,
4413}
4414
4415pub type PluginList200Response = Vec<Plugin>;
4417
4418#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4419pub struct PluginMount {
4420 #[serde(rename = "Description")]
4421 pub description: String,
4422 #[serde(rename = "Destination")]
4423 pub destination: String,
4424 #[serde(rename = "Name")]
4425 pub name: String,
4426 #[serde(rename = "Options")]
4427 #[serde(default)]
4428 #[serde(deserialize_with = "deserialize_nonoptional_vec")]
4429 pub options: Vec<String>,
4430 #[serde(rename = "Settable")]
4431 #[serde(default)]
4432 #[serde(deserialize_with = "deserialize_nonoptional_vec")]
4433 pub settable: Vec<String>,
4434 #[serde(rename = "Source")]
4435 pub source: String,
4436 #[serde(rename = "Type")]
4437 pub type_: String,
4438}
4439
4440#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4441pub struct PluginPrivilege {
4444 #[serde(rename = "Description")]
4445 #[serde(skip_serializing_if = "Option::is_none")]
4446 pub description: Option<String>,
4447 #[serde(rename = "Name")]
4448 #[serde(skip_serializing_if = "Option::is_none")]
4449 pub name: Option<String>,
4450 #[serde(rename = "Value")]
4451 #[serde(skip_serializing_if = "Option::is_none")]
4452 pub value: Option<Vec<String>>,
4453}
4454
4455pub type PluginPullBodyParam = Vec<PluginPrivilege>;
4456
4457pub type PluginSetBodyParam = Vec<String>;
4458
4459#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4460pub struct PluginSettingsInlineItem {
4462 #[serde(rename = "Args")]
4463 #[serde(default)]
4464 #[serde(deserialize_with = "deserialize_nonoptional_vec")]
4465 pub args: Vec<String>,
4466 #[serde(rename = "Devices")]
4467 #[serde(default)]
4468 #[serde(deserialize_with = "deserialize_nonoptional_vec")]
4469 pub devices: Vec<PluginDevice>,
4470 #[serde(rename = "Env")]
4471 #[serde(default)]
4472 #[serde(deserialize_with = "deserialize_nonoptional_vec")]
4473 pub env: Vec<String>,
4474 #[serde(rename = "Mounts")]
4475 #[serde(default)]
4476 #[serde(deserialize_with = "deserialize_nonoptional_vec")]
4477 pub mounts: Vec<PluginMount>,
4478}
4479
4480pub type PluginUpgradeBodyParam = Vec<PluginPrivilege>;
4481
4482#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4483pub struct PluginsInfo {
4491 #[serde(rename = "Authorization")]
4492 #[serde(skip_serializing_if = "Option::is_none")]
4493 pub authorization: Option<Vec<String>>,
4495 #[serde(rename = "Log")]
4496 #[serde(skip_serializing_if = "Option::is_none")]
4497 pub log: Option<Vec<String>>,
4499 #[serde(rename = "Network")]
4500 #[serde(skip_serializing_if = "Option::is_none")]
4501 pub network: Option<Vec<String>>,
4503 #[serde(rename = "Volume")]
4504 #[serde(skip_serializing_if = "Option::is_none")]
4505 pub volume: Option<Vec<String>>,
4507}
4508
4509#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4510pub struct Port {
4512 #[serde(rename = "IP")]
4513 #[serde(skip_serializing_if = "Option::is_none")]
4514 pub ip: Option<String>,
4516 #[serde(rename = "PrivatePort")]
4517 pub private_port: u16,
4519 #[serde(rename = "PublicPort")]
4520 #[serde(skip_serializing_if = "Option::is_none")]
4521 pub public_port: Option<u16>,
4523 #[serde(rename = "Type")]
4524 pub type_: String,
4525}
4526
4527#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4528pub struct PortBinding {
4531 #[serde(rename = "HostIp")]
4532 #[serde(skip_serializing_if = "Option::is_none")]
4533 pub host_ip: Option<String>,
4535 #[serde(rename = "HostPort")]
4536 #[serde(skip_serializing_if = "Option::is_none")]
4537 pub host_port: Option<String>,
4539}
4540
4541pub type PortMap = HashMap<String, Option<Vec<PortBinding>>>;
4548
4549#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4550pub enum PortTypeInlineItem {
4551 #[serde(rename = "tcp")]
4552 Tcp,
4553 #[serde(rename = "udp")]
4554 Udp,
4555 #[serde(rename = "sctp")]
4556 Sctp,
4557}
4558
4559impl AsRef<str> for PortTypeInlineItem {
4560 fn as_ref(&self) -> &str {
4561 match self {
4562 PortTypeInlineItem::Tcp => "tcp",
4563 PortTypeInlineItem::Udp => "udp",
4564 PortTypeInlineItem::Sctp => "sctp",
4565 }
4566 }
4567}
4568
4569impl std::fmt::Display for PortTypeInlineItem {
4570 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4571 write!(f, "{}", self.as_ref())
4572 }
4573}
4574
4575#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4576pub struct ProcessConfig {
4577 #[serde(skip_serializing_if = "Option::is_none")]
4578 pub arguments: Option<Vec<String>>,
4579 #[serde(skip_serializing_if = "Option::is_none")]
4580 pub entrypoint: Option<String>,
4581 #[serde(skip_serializing_if = "Option::is_none")]
4582 pub privileged: Option<bool>,
4583 #[serde(skip_serializing_if = "Option::is_none")]
4584 pub tty: Option<bool>,
4585 #[serde(skip_serializing_if = "Option::is_none")]
4586 pub user: Option<String>,
4587}
4588
4589#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4590pub struct ProgressDetail {
4591 #[serde(skip_serializing_if = "Option::is_none")]
4592 pub current: Option<isize>,
4593 #[serde(skip_serializing_if = "Option::is_none")]
4594 pub total: Option<isize>,
4595}
4596
4597#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4598pub struct PushImageInfo {
4599 #[serde(skip_serializing_if = "Option::is_none")]
4600 pub error: Option<String>,
4601 #[serde(skip_serializing_if = "Option::is_none")]
4602 pub progress: Option<String>,
4603 #[serde(rename = "progressDetail")]
4604 pub progress_detail: Option<ProgressDetail>,
4605 #[serde(skip_serializing_if = "Option::is_none")]
4606 pub status: Option<String>,
4607}
4608
4609pub type PutContainerArchiveInputStreamParam = Vec<u8>;
4610
4611#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4612pub enum Reachability {
4614 #[serde(rename = "unknown")]
4615 Unknown,
4616 #[serde(rename = "unreachable")]
4617 Unreachable,
4618 #[serde(rename = "reachable")]
4619 Reachable,
4620}
4621
4622impl AsRef<str> for Reachability {
4623 fn as_ref(&self) -> &str {
4624 match self {
4625 Reachability::Unknown => "unknown",
4626 Reachability::Unreachable => "unreachable",
4627 Reachability::Reachable => "reachable",
4628 }
4629 }
4630}
4631
4632impl std::fmt::Display for Reachability {
4633 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4634 write!(f, "{}", self.as_ref())
4635 }
4636}
4637
4638#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4639pub struct RegistryServiceConfig {
4641 #[serde(rename = "AllowNondistributableArtifactsCIDRs")]
4642 #[serde(skip_serializing_if = "Option::is_none")]
4643 pub allow_nondistributable_artifacts_cid_rs: Option<Vec<String>>,
4665 #[serde(rename = "AllowNondistributableArtifactsHostnames")]
4666 #[serde(skip_serializing_if = "Option::is_none")]
4667 pub allow_nondistributable_artifacts_hostnames: Option<Vec<String>>,
4688 #[serde(rename = "IndexConfigs")]
4689 #[serde(skip_serializing_if = "Option::is_none")]
4690 pub index_configs: Option<HashMap<String, IndexInfo>>,
4691 #[serde(rename = "InsecureRegistryCIDRs")]
4692 #[serde(skip_serializing_if = "Option::is_none")]
4693 pub insecure_registry_cid_rs: Option<Vec<String>>,
4717 #[serde(rename = "Mirrors")]
4718 #[serde(skip_serializing_if = "Option::is_none")]
4719 pub mirrors: Option<Vec<String>>,
4722}
4723
4724#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4725pub struct ResourceObject {
4728 #[serde(rename = "GenericResources")]
4729 pub generic_resources: Option<GenericResources>,
4730 #[serde(rename = "MemoryBytes")]
4731 #[serde(skip_serializing_if = "Option::is_none")]
4732 pub memory_bytes: Option<i64>,
4733 #[serde(rename = "NanoCPUs")]
4734 #[serde(skip_serializing_if = "Option::is_none")]
4735 pub nano_cp_us: Option<i64>,
4736}
4737
4738#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4739pub struct Resources {
4741 #[serde(rename = "BlkioDeviceReadBps")]
4742 #[serde(skip_serializing_if = "Option::is_none")]
4743 pub blkio_device_read_bps: Option<Vec<ThrottleDevice>>,
4749 #[serde(rename = "BlkioDeviceReadIOps")]
4750 #[serde(skip_serializing_if = "Option::is_none")]
4751 pub blkio_device_read_i_ops: Option<Vec<ThrottleDevice>>,
4757 #[serde(rename = "BlkioDeviceWriteBps")]
4758 #[serde(skip_serializing_if = "Option::is_none")]
4759 pub blkio_device_write_bps: Option<Vec<ThrottleDevice>>,
4765 #[serde(rename = "BlkioDeviceWriteIOps")]
4766 #[serde(skip_serializing_if = "Option::is_none")]
4767 pub blkio_device_write_i_ops: Option<Vec<ThrottleDevice>>,
4773 #[serde(rename = "BlkioWeight")]
4774 #[serde(skip_serializing_if = "Option::is_none")]
4775 pub blkio_weight: Option<isize>,
4777 #[serde(rename = "BlkioWeightDevice")]
4778 #[serde(skip_serializing_if = "Option::is_none")]
4779 pub blkio_weight_device: Option<Vec<ResourcesBlkioWeightDeviceInlineItem>>,
4785 #[serde(rename = "CgroupParent")]
4786 #[serde(skip_serializing_if = "Option::is_none")]
4787 pub cgroup_parent: Option<String>,
4792 #[serde(rename = "CpuCount")]
4793 #[serde(skip_serializing_if = "Option::is_none")]
4794 pub cpu_count: Option<i64>,
4800 #[serde(rename = "CpuPercent")]
4801 #[serde(skip_serializing_if = "Option::is_none")]
4802 pub cpu_percent: Option<i64>,
4808 #[serde(rename = "CpuPeriod")]
4809 #[serde(skip_serializing_if = "Option::is_none")]
4810 pub cpu_period: Option<i64>,
4812 #[serde(rename = "CpuQuota")]
4813 #[serde(skip_serializing_if = "Option::is_none")]
4814 pub cpu_quota: Option<i64>,
4816 #[serde(rename = "CpuRealtimePeriod")]
4817 #[serde(skip_serializing_if = "Option::is_none")]
4818 pub cpu_realtime_period: Option<i64>,
4821 #[serde(rename = "CpuRealtimeRuntime")]
4822 #[serde(skip_serializing_if = "Option::is_none")]
4823 pub cpu_realtime_runtime: Option<i64>,
4826 #[serde(rename = "CpuShares")]
4827 #[serde(skip_serializing_if = "Option::is_none")]
4828 pub cpu_shares: Option<isize>,
4831 #[serde(rename = "CpusetCpus")]
4832 #[serde(skip_serializing_if = "Option::is_none")]
4833 pub cpuset_cpus: Option<String>,
4835 #[serde(rename = "CpusetMems")]
4836 #[serde(skip_serializing_if = "Option::is_none")]
4837 pub cpuset_mems: Option<String>,
4840 #[serde(rename = "DeviceCgroupRules")]
4841 #[serde(skip_serializing_if = "Option::is_none")]
4842 pub device_cgroup_rules: Option<Vec<String>>,
4844 #[serde(rename = "DeviceRequests")]
4845 #[serde(skip_serializing_if = "Option::is_none")]
4846 pub device_requests: Option<Vec<DeviceRequest>>,
4848 #[serde(rename = "Devices")]
4849 #[serde(skip_serializing_if = "Option::is_none")]
4850 pub devices: Option<Vec<DeviceMapping>>,
4852 #[serde(rename = "IOMaximumBandwidth")]
4853 #[serde(skip_serializing_if = "Option::is_none")]
4854 pub io_maximum_bandwidth: Option<i64>,
4857 #[serde(rename = "IOMaximumIOps")]
4858 #[serde(skip_serializing_if = "Option::is_none")]
4859 pub io_maximum_i_ops: Option<i64>,
4861 #[serde(rename = "Init")]
4862 #[serde(skip_serializing_if = "Option::is_none")]
4863 pub init: Option<bool>,
4867 #[serde(rename = "KernelMemoryTCP")]
4868 #[serde(skip_serializing_if = "Option::is_none")]
4869 pub kernel_memory_tcp: Option<i64>,
4875 #[serde(rename = "Memory")]
4876 #[serde(skip_serializing_if = "Option::is_none")]
4877 pub memory: Option<i64>,
4879 #[serde(rename = "MemoryReservation")]
4880 #[serde(skip_serializing_if = "Option::is_none")]
4881 pub memory_reservation: Option<i64>,
4883 #[serde(rename = "MemorySwap")]
4884 #[serde(skip_serializing_if = "Option::is_none")]
4885 pub memory_swap: Option<i64>,
4888 #[serde(rename = "MemorySwappiness")]
4889 #[serde(skip_serializing_if = "Option::is_none")]
4890 pub memory_swappiness: Option<i64>,
4893 #[serde(rename = "NanoCpus")]
4894 #[serde(skip_serializing_if = "Option::is_none")]
4895 pub nano_cpus: Option<i64>,
4897 #[serde(rename = "OomKillDisable")]
4898 #[serde(skip_serializing_if = "Option::is_none")]
4899 pub oom_kill_disable: Option<bool>,
4901 #[serde(rename = "PidsLimit")]
4902 #[serde(skip_serializing_if = "Option::is_none")]
4903 pub pids_limit: Option<i64>,
4906 #[serde(rename = "Ulimits")]
4907 #[serde(skip_serializing_if = "Option::is_none")]
4908 pub ulimits: Option<Vec<ResourcesUlimitsInlineItem>>,
4914}
4915
4916#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4917pub struct ResourcesBlkioWeightDeviceInlineItem {
4918 #[serde(rename = "Path")]
4919 #[serde(skip_serializing_if = "Option::is_none")]
4920 pub path: Option<String>,
4921 #[serde(rename = "Weight")]
4922 #[serde(skip_serializing_if = "Option::is_none")]
4923 pub weight: Option<isize>,
4924}
4925
4926#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4927pub struct ResourcesUlimitsInlineItem {
4928 #[serde(rename = "Hard")]
4929 #[serde(skip_serializing_if = "Option::is_none")]
4930 pub hard: Option<isize>,
4932 #[serde(rename = "Name")]
4933 #[serde(skip_serializing_if = "Option::is_none")]
4934 pub name: Option<String>,
4936 #[serde(rename = "Soft")]
4937 #[serde(skip_serializing_if = "Option::is_none")]
4938 pub soft: Option<isize>,
4940}
4941
4942#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4943pub struct RestartPolicy {
4949 #[serde(rename = "MaximumRetryCount")]
4950 #[serde(skip_serializing_if = "Option::is_none")]
4951 pub maximum_retry_count: Option<isize>,
4953 #[serde(rename = "Name")]
4954 #[serde(skip_serializing_if = "Option::is_none")]
4955 pub name: Option<String>,
4961}
4962
4963#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
4964pub enum RestartPolicyNameInlineItem {
4970 #[serde(rename = "")]
4971 Empty,
4972 #[serde(rename = "no")]
4973 No,
4974 #[serde(rename = "always")]
4975 Always,
4976 #[serde(rename = "unless-stopped")]
4977 UnlessStopped,
4978 #[serde(rename = "on-failure")]
4979 OnFailure,
4980}
4981
4982impl AsRef<str> for RestartPolicyNameInlineItem {
4983 fn as_ref(&self) -> &str {
4984 match self {
4985 RestartPolicyNameInlineItem::Empty => "",
4986 RestartPolicyNameInlineItem::No => "no",
4987 RestartPolicyNameInlineItem::Always => "always",
4988 RestartPolicyNameInlineItem::UnlessStopped => "unless-stopped",
4989 RestartPolicyNameInlineItem::OnFailure => "on-failure",
4990 }
4991 }
4992}
4993
4994impl std::fmt::Display for RestartPolicyNameInlineItem {
4995 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4996 write!(f, "{}", self.as_ref())
4997 }
4998}
4999
5000#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5001pub struct Runtime {
5008 #[serde(skip_serializing_if = "Option::is_none")]
5009 pub path: Option<String>,
5014 #[serde(rename = "runtimeArgs")]
5015 #[serde(skip_serializing_if = "Option::is_none")]
5016 pub runtime_args: Option<Vec<String>>,
5018}
5019
5020#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5021pub struct Secret {
5022 #[serde(rename = "CreatedAt")]
5023 #[serde(skip_serializing_if = "Option::is_none")]
5024 pub created_at: Option<DateTime<Utc>>,
5025 #[serde(rename = "ID")]
5026 #[serde(skip_serializing_if = "Option::is_none")]
5027 pub id: Option<String>,
5028 #[serde(rename = "Spec")]
5029 pub spec: Option<SecretSpec>,
5030 #[serde(rename = "UpdatedAt")]
5031 #[serde(skip_serializing_if = "Option::is_none")]
5032 pub updated_at: Option<DateTime<Utc>>,
5033 #[serde(rename = "Version")]
5034 pub version: Option<ObjectVersion>,
5035}
5036
5037#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5038pub struct SecretCreateBodyParam {
5039 #[serde(rename = "Data")]
5040 #[serde(skip_serializing_if = "Option::is_none")]
5041 pub data: Option<String>,
5047 #[serde(rename = "Driver")]
5048 pub driver: Option<Driver>,
5049 #[serde(rename = "Labels")]
5050 #[serde(skip_serializing_if = "Option::is_none")]
5051 pub labels: Option<HashMap<String, String>>,
5053 #[serde(rename = "Name")]
5054 #[serde(skip_serializing_if = "Option::is_none")]
5055 pub name: Option<String>,
5057 #[serde(rename = "Templating")]
5058 pub templating: Option<Driver>,
5059}
5060
5061pub type SecretList200Response = Vec<Secret>;
5063
5064#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5065pub struct SecretSpec {
5066 #[serde(rename = "Data")]
5067 #[serde(skip_serializing_if = "Option::is_none")]
5068 pub data: Option<String>,
5074 #[serde(rename = "Driver")]
5075 pub driver: Option<Driver>,
5076 #[serde(rename = "Labels")]
5077 #[serde(skip_serializing_if = "Option::is_none")]
5078 pub labels: Option<HashMap<String, String>>,
5080 #[serde(rename = "Name")]
5081 #[serde(skip_serializing_if = "Option::is_none")]
5082 pub name: Option<String>,
5084 #[serde(rename = "Templating")]
5085 pub templating: Option<Driver>,
5086}
5087
5088#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5089pub struct Service {
5090 #[serde(rename = "CreatedAt")]
5091 #[serde(skip_serializing_if = "Option::is_none")]
5092 pub created_at: Option<DateTime<Utc>>,
5093 #[serde(rename = "Endpoint")]
5094 #[serde(skip_serializing_if = "Option::is_none")]
5095 pub endpoint: Option<ServiceEndpointInlineItem>,
5096 #[serde(rename = "ID")]
5097 #[serde(skip_serializing_if = "Option::is_none")]
5098 pub id: Option<String>,
5099 #[serde(rename = "JobStatus")]
5100 #[serde(skip_serializing_if = "Option::is_none")]
5101 pub job_status: Option<ServiceJobStatusInlineItem>,
5106 #[serde(rename = "ServiceStatus")]
5107 #[serde(skip_serializing_if = "Option::is_none")]
5108 pub service_status: Option<ServiceServiceStatusInlineItem>,
5111 #[serde(rename = "Spec")]
5112 pub spec: Option<ServiceSpec>,
5113 #[serde(rename = "UpdateStatus")]
5114 #[serde(skip_serializing_if = "Option::is_none")]
5115 pub update_status: Option<ServiceUpdateStatusInlineItem>,
5117 #[serde(rename = "UpdatedAt")]
5118 #[serde(skip_serializing_if = "Option::is_none")]
5119 pub updated_at: Option<DateTime<Utc>>,
5120 #[serde(rename = "Version")]
5121 pub version: Option<ObjectVersion>,
5122}
5123
5124#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5125pub struct ServiceCreate201Response {
5127 #[serde(rename = "ID")]
5128 #[serde(skip_serializing_if = "Option::is_none")]
5129 pub id: Option<String>,
5131 #[serde(rename = "Warning")]
5132 #[serde(skip_serializing_if = "Option::is_none")]
5133 pub warning: Option<String>,
5135}
5136
5137#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5138pub struct ServiceCreateBodyParam {
5140 #[serde(rename = "EndpointSpec")]
5141 pub endpoint_spec: Option<EndpointSpec>,
5142 #[serde(rename = "Labels")]
5143 #[serde(skip_serializing_if = "Option::is_none")]
5144 pub labels: Option<HashMap<String, String>>,
5146 #[serde(rename = "Mode")]
5147 #[serde(skip_serializing_if = "Option::is_none")]
5148 pub mode: Option<ServiceCreateBodyParamModeInlineItem>,
5150 #[serde(rename = "Name")]
5151 #[serde(skip_serializing_if = "Option::is_none")]
5152 pub name: Option<String>,
5154 #[serde(rename = "Networks")]
5155 #[serde(skip_serializing_if = "Option::is_none")]
5156 pub networks: Option<Vec<NetworkAttachmentConfig>>,
5158 #[serde(rename = "RollbackConfig")]
5159 #[serde(skip_serializing_if = "Option::is_none")]
5160 pub rollback_config: Option<ServiceCreateBodyParamRollbackConfigInlineItem>,
5162 #[serde(rename = "TaskTemplate")]
5163 pub task_template: Option<TaskSpec>,
5164 #[serde(rename = "UpdateConfig")]
5165 #[serde(skip_serializing_if = "Option::is_none")]
5166 pub update_config: Option<ServiceCreateBodyParamUpdateConfigInlineItem>,
5168}
5169
5170#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5171pub struct ServiceCreateBodyParamModeInlineItem {
5173 #[serde(rename = "Global")]
5174 #[serde(skip_serializing_if = "Option::is_none")]
5175 pub global: Option<Value>,
5176 #[serde(rename = "GlobalJob")]
5177 #[serde(skip_serializing_if = "Option::is_none")]
5178 pub global_job: Option<Value>,
5181 #[serde(rename = "Replicated")]
5182 #[serde(skip_serializing_if = "Option::is_none")]
5183 pub replicated: Option<ServiceCreateBodyParamModeInlineItemReplicatedInlineItem>,
5184 #[serde(rename = "ReplicatedJob")]
5185 #[serde(skip_serializing_if = "Option::is_none")]
5186 pub replicated_job: Option<ServiceCreateBodyParamModeInlineItemReplicatedJobInlineItem>,
5189}
5190
5191#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5192pub struct ServiceCreateBodyParamModeInlineItemReplicatedInlineItem {
5193 #[serde(rename = "Replicas")]
5194 #[serde(skip_serializing_if = "Option::is_none")]
5195 pub replicas: Option<i64>,
5196}
5197
5198#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5199pub struct ServiceCreateBodyParamModeInlineItemReplicatedJobInlineItem {
5202 #[serde(rename = "MaxConcurrent")]
5203 #[serde(skip_serializing_if = "Option::is_none")]
5204 pub max_concurrent: Option<i64>,
5206 #[serde(rename = "TotalCompletions")]
5207 #[serde(skip_serializing_if = "Option::is_none")]
5208 pub total_completions: Option<i64>,
5211}
5212
5213#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5214pub struct ServiceCreateBodyParamRollbackConfigInlineItem {
5216 #[serde(rename = "Delay")]
5217 #[serde(skip_serializing_if = "Option::is_none")]
5218 pub delay: Option<i64>,
5220 #[serde(rename = "FailureAction")]
5221 #[serde(skip_serializing_if = "Option::is_none")]
5222 pub failure_action: Option<String>,
5225 #[serde(rename = "MaxFailureRatio")]
5226 #[serde(skip_serializing_if = "Option::is_none")]
5227 pub max_failure_ratio: Option<Value>,
5231 #[serde(rename = "Monitor")]
5232 #[serde(skip_serializing_if = "Option::is_none")]
5233 pub monitor: Option<i64>,
5236 #[serde(rename = "Order")]
5237 #[serde(skip_serializing_if = "Option::is_none")]
5238 pub order: Option<String>,
5242 #[serde(rename = "Parallelism")]
5243 #[serde(skip_serializing_if = "Option::is_none")]
5244 pub parallelism: Option<i64>,
5247}
5248
5249#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5250pub enum ServiceCreateBodyParamRollbackConfigInlineItemFailureActionInlineItem {
5253 #[serde(rename = "continue")]
5254 Continue,
5255 #[serde(rename = "pause")]
5256 Pause,
5257}
5258
5259impl AsRef<str> for ServiceCreateBodyParamRollbackConfigInlineItemFailureActionInlineItem {
5260 fn as_ref(&self) -> &str {
5261 match self {
5262 ServiceCreateBodyParamRollbackConfigInlineItemFailureActionInlineItem::Continue => {
5263 "continue"
5264 }
5265 ServiceCreateBodyParamRollbackConfigInlineItemFailureActionInlineItem::Pause => "pause",
5266 }
5267 }
5268}
5269
5270impl std::fmt::Display for ServiceCreateBodyParamRollbackConfigInlineItemFailureActionInlineItem {
5271 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5272 write!(f, "{}", self.as_ref())
5273 }
5274}
5275
5276#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5277pub enum ServiceCreateBodyParamRollbackConfigInlineItemOrderInlineItem {
5281 #[serde(rename = "stop-first")]
5282 StopFirst,
5283 #[serde(rename = "start-first")]
5284 StartFirst,
5285}
5286
5287impl AsRef<str> for ServiceCreateBodyParamRollbackConfigInlineItemOrderInlineItem {
5288 fn as_ref(&self) -> &str {
5289 match self {
5290 ServiceCreateBodyParamRollbackConfigInlineItemOrderInlineItem::StopFirst => {
5291 "stop-first"
5292 }
5293 ServiceCreateBodyParamRollbackConfigInlineItemOrderInlineItem::StartFirst => {
5294 "start-first"
5295 }
5296 }
5297 }
5298}
5299
5300impl std::fmt::Display for ServiceCreateBodyParamRollbackConfigInlineItemOrderInlineItem {
5301 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5302 write!(f, "{}", self.as_ref())
5303 }
5304}
5305
5306#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5307pub struct ServiceCreateBodyParamUpdateConfigInlineItem {
5309 #[serde(rename = "Delay")]
5310 #[serde(skip_serializing_if = "Option::is_none")]
5311 pub delay: Option<i64>,
5313 #[serde(rename = "FailureAction")]
5314 #[serde(skip_serializing_if = "Option::is_none")]
5315 pub failure_action: Option<String>,
5318 #[serde(rename = "MaxFailureRatio")]
5319 #[serde(skip_serializing_if = "Option::is_none")]
5320 pub max_failure_ratio: Option<Value>,
5324 #[serde(rename = "Monitor")]
5325 #[serde(skip_serializing_if = "Option::is_none")]
5326 pub monitor: Option<i64>,
5329 #[serde(rename = "Order")]
5330 #[serde(skip_serializing_if = "Option::is_none")]
5331 pub order: Option<String>,
5335 #[serde(rename = "Parallelism")]
5336 #[serde(skip_serializing_if = "Option::is_none")]
5337 pub parallelism: Option<i64>,
5340}
5341
5342#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5343pub enum ServiceCreateBodyParamUpdateConfigInlineItemFailureActionInlineItem {
5346 #[serde(rename = "continue")]
5347 Continue,
5348 #[serde(rename = "pause")]
5349 Pause,
5350 #[serde(rename = "rollback")]
5351 Rollback,
5352}
5353
5354impl AsRef<str> for ServiceCreateBodyParamUpdateConfigInlineItemFailureActionInlineItem {
5355 fn as_ref(&self) -> &str {
5356 match self {
5357 ServiceCreateBodyParamUpdateConfigInlineItemFailureActionInlineItem::Continue => {
5358 "continue"
5359 }
5360 ServiceCreateBodyParamUpdateConfigInlineItemFailureActionInlineItem::Pause => "pause",
5361 ServiceCreateBodyParamUpdateConfigInlineItemFailureActionInlineItem::Rollback => {
5362 "rollback"
5363 }
5364 }
5365 }
5366}
5367
5368impl std::fmt::Display for ServiceCreateBodyParamUpdateConfigInlineItemFailureActionInlineItem {
5369 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5370 write!(f, "{}", self.as_ref())
5371 }
5372}
5373
5374#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5375pub enum ServiceCreateBodyParamUpdateConfigInlineItemOrderInlineItem {
5379 #[serde(rename = "stop-first")]
5380 StopFirst,
5381 #[serde(rename = "start-first")]
5382 StartFirst,
5383}
5384
5385impl AsRef<str> for ServiceCreateBodyParamUpdateConfigInlineItemOrderInlineItem {
5386 fn as_ref(&self) -> &str {
5387 match self {
5388 ServiceCreateBodyParamUpdateConfigInlineItemOrderInlineItem::StopFirst => "stop-first",
5389 ServiceCreateBodyParamUpdateConfigInlineItemOrderInlineItem::StartFirst => {
5390 "start-first"
5391 }
5392 }
5393 }
5394}
5395
5396impl std::fmt::Display for ServiceCreateBodyParamUpdateConfigInlineItemOrderInlineItem {
5397 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5398 write!(f, "{}", self.as_ref())
5399 }
5400}
5401
5402#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5403pub struct ServiceEndpointInlineItem {
5404 #[serde(rename = "Ports")]
5405 #[serde(skip_serializing_if = "Option::is_none")]
5406 pub ports: Option<Vec<EndpointPortConfig>>,
5407 #[serde(rename = "Spec")]
5408 pub spec: Option<EndpointSpec>,
5409 #[serde(rename = "VirtualIPs")]
5410 #[serde(skip_serializing_if = "Option::is_none")]
5411 pub virtual_i_ps: Option<Vec<ServiceEndpointInlineItemVirtualIPsInlineItem>>,
5412}
5413
5414#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5415pub struct ServiceEndpointInlineItemVirtualIPsInlineItem {
5416 #[serde(rename = "Addr")]
5417 #[serde(skip_serializing_if = "Option::is_none")]
5418 pub addr: Option<String>,
5419 #[serde(rename = "NetworkID")]
5420 #[serde(skip_serializing_if = "Option::is_none")]
5421 pub network_id: Option<String>,
5422}
5423
5424#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5425pub struct ServiceJobStatusInlineItem {
5430 #[serde(rename = "JobIteration")]
5431 pub job_iteration: Option<ObjectVersion>,
5432 #[serde(rename = "LastExecution")]
5433 #[serde(skip_serializing_if = "Option::is_none")]
5434 pub last_execution: Option<DateTime<Utc>>,
5437}
5438
5439pub type ServiceList200Response = Vec<Service>;
5441
5442pub type ServiceLogs200Response = Vec<u8>;
5444
5445#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5446pub struct ServiceServiceStatusInlineItem {
5449 #[serde(rename = "CompletedTasks")]
5450 #[serde(skip_serializing_if = "Option::is_none")]
5451 pub completed_tasks: Option<u64>,
5456 #[serde(rename = "DesiredTasks")]
5457 #[serde(skip_serializing_if = "Option::is_none")]
5458 pub desired_tasks: Option<u64>,
5464 #[serde(rename = "RunningTasks")]
5465 #[serde(skip_serializing_if = "Option::is_none")]
5466 pub running_tasks: Option<u64>,
5468}
5469
5470#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5471pub struct ServiceSpec {
5473 #[serde(rename = "EndpointSpec")]
5474 pub endpoint_spec: Option<EndpointSpec>,
5475 #[serde(rename = "Labels")]
5476 #[serde(skip_serializing_if = "Option::is_none")]
5477 pub labels: Option<HashMap<String, String>>,
5479 #[serde(rename = "Mode")]
5480 #[serde(skip_serializing_if = "Option::is_none")]
5481 pub mode: Option<ServiceSpecModeInlineItem>,
5483 #[serde(rename = "Name")]
5484 #[serde(skip_serializing_if = "Option::is_none")]
5485 pub name: Option<String>,
5487 #[serde(rename = "Networks")]
5488 #[serde(skip_serializing_if = "Option::is_none")]
5489 pub networks: Option<Vec<NetworkAttachmentConfig>>,
5491 #[serde(rename = "RollbackConfig")]
5492 #[serde(skip_serializing_if = "Option::is_none")]
5493 pub rollback_config: Option<ServiceSpecRollbackConfigInlineItem>,
5495 #[serde(rename = "TaskTemplate")]
5496 pub task_template: Option<TaskSpec>,
5497 #[serde(rename = "UpdateConfig")]
5498 #[serde(skip_serializing_if = "Option::is_none")]
5499 pub update_config: Option<ServiceSpecUpdateConfigInlineItem>,
5501}
5502
5503#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5504pub struct ServiceSpecModeInlineItem {
5506 #[serde(rename = "Global")]
5507 #[serde(skip_serializing_if = "Option::is_none")]
5508 pub global: Option<Value>,
5509 #[serde(rename = "GlobalJob")]
5510 #[serde(skip_serializing_if = "Option::is_none")]
5511 pub global_job: Option<Value>,
5514 #[serde(rename = "Replicated")]
5515 #[serde(skip_serializing_if = "Option::is_none")]
5516 pub replicated: Option<ServiceSpecModeInlineItemReplicatedInlineItem>,
5517 #[serde(rename = "ReplicatedJob")]
5518 #[serde(skip_serializing_if = "Option::is_none")]
5519 pub replicated_job: Option<ServiceSpecModeInlineItemReplicatedJobInlineItem>,
5522}
5523
5524#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5525pub struct ServiceSpecModeInlineItemReplicatedInlineItem {
5526 #[serde(rename = "Replicas")]
5527 #[serde(skip_serializing_if = "Option::is_none")]
5528 pub replicas: Option<i64>,
5529}
5530
5531#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5532pub struct ServiceSpecModeInlineItemReplicatedJobInlineItem {
5535 #[serde(rename = "MaxConcurrent")]
5536 #[serde(skip_serializing_if = "Option::is_none")]
5537 pub max_concurrent: Option<i64>,
5539 #[serde(rename = "TotalCompletions")]
5540 #[serde(skip_serializing_if = "Option::is_none")]
5541 pub total_completions: Option<i64>,
5544}
5545
5546#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5547pub struct ServiceSpecRollbackConfigInlineItem {
5549 #[serde(rename = "Delay")]
5550 #[serde(skip_serializing_if = "Option::is_none")]
5551 pub delay: Option<i64>,
5553 #[serde(rename = "FailureAction")]
5554 #[serde(skip_serializing_if = "Option::is_none")]
5555 pub failure_action: Option<String>,
5558 #[serde(rename = "MaxFailureRatio")]
5559 #[serde(skip_serializing_if = "Option::is_none")]
5560 pub max_failure_ratio: Option<Value>,
5564 #[serde(rename = "Monitor")]
5565 #[serde(skip_serializing_if = "Option::is_none")]
5566 pub monitor: Option<i64>,
5569 #[serde(rename = "Order")]
5570 #[serde(skip_serializing_if = "Option::is_none")]
5571 pub order: Option<String>,
5575 #[serde(rename = "Parallelism")]
5576 #[serde(skip_serializing_if = "Option::is_none")]
5577 pub parallelism: Option<i64>,
5580}
5581
5582#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5583pub enum ServiceSpecRollbackConfigInlineItemFailureActionInlineItem {
5586 #[serde(rename = "continue")]
5587 Continue,
5588 #[serde(rename = "pause")]
5589 Pause,
5590}
5591
5592impl AsRef<str> for ServiceSpecRollbackConfigInlineItemFailureActionInlineItem {
5593 fn as_ref(&self) -> &str {
5594 match self {
5595 ServiceSpecRollbackConfigInlineItemFailureActionInlineItem::Continue => "continue",
5596 ServiceSpecRollbackConfigInlineItemFailureActionInlineItem::Pause => "pause",
5597 }
5598 }
5599}
5600
5601impl std::fmt::Display for ServiceSpecRollbackConfigInlineItemFailureActionInlineItem {
5602 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5603 write!(f, "{}", self.as_ref())
5604 }
5605}
5606
5607#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5608pub enum ServiceSpecRollbackConfigInlineItemOrderInlineItem {
5612 #[serde(rename = "stop-first")]
5613 StopFirst,
5614 #[serde(rename = "start-first")]
5615 StartFirst,
5616}
5617
5618impl AsRef<str> for ServiceSpecRollbackConfigInlineItemOrderInlineItem {
5619 fn as_ref(&self) -> &str {
5620 match self {
5621 ServiceSpecRollbackConfigInlineItemOrderInlineItem::StopFirst => "stop-first",
5622 ServiceSpecRollbackConfigInlineItemOrderInlineItem::StartFirst => "start-first",
5623 }
5624 }
5625}
5626
5627impl std::fmt::Display for ServiceSpecRollbackConfigInlineItemOrderInlineItem {
5628 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5629 write!(f, "{}", self.as_ref())
5630 }
5631}
5632
5633#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5634pub struct ServiceSpecUpdateConfigInlineItem {
5636 #[serde(rename = "Delay")]
5637 #[serde(skip_serializing_if = "Option::is_none")]
5638 pub delay: Option<i64>,
5640 #[serde(rename = "FailureAction")]
5641 #[serde(skip_serializing_if = "Option::is_none")]
5642 pub failure_action: Option<String>,
5645 #[serde(rename = "MaxFailureRatio")]
5646 #[serde(skip_serializing_if = "Option::is_none")]
5647 pub max_failure_ratio: Option<Value>,
5651 #[serde(rename = "Monitor")]
5652 #[serde(skip_serializing_if = "Option::is_none")]
5653 pub monitor: Option<i64>,
5656 #[serde(rename = "Order")]
5657 #[serde(skip_serializing_if = "Option::is_none")]
5658 pub order: Option<String>,
5662 #[serde(rename = "Parallelism")]
5663 #[serde(skip_serializing_if = "Option::is_none")]
5664 pub parallelism: Option<i64>,
5667}
5668
5669#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5670pub enum ServiceSpecUpdateConfigInlineItemFailureActionInlineItem {
5673 #[serde(rename = "continue")]
5674 Continue,
5675 #[serde(rename = "pause")]
5676 Pause,
5677 #[serde(rename = "rollback")]
5678 Rollback,
5679}
5680
5681impl AsRef<str> for ServiceSpecUpdateConfigInlineItemFailureActionInlineItem {
5682 fn as_ref(&self) -> &str {
5683 match self {
5684 ServiceSpecUpdateConfigInlineItemFailureActionInlineItem::Continue => "continue",
5685 ServiceSpecUpdateConfigInlineItemFailureActionInlineItem::Pause => "pause",
5686 ServiceSpecUpdateConfigInlineItemFailureActionInlineItem::Rollback => "rollback",
5687 }
5688 }
5689}
5690
5691impl std::fmt::Display for ServiceSpecUpdateConfigInlineItemFailureActionInlineItem {
5692 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5693 write!(f, "{}", self.as_ref())
5694 }
5695}
5696
5697#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5698pub enum ServiceSpecUpdateConfigInlineItemOrderInlineItem {
5702 #[serde(rename = "stop-first")]
5703 StopFirst,
5704 #[serde(rename = "start-first")]
5705 StartFirst,
5706}
5707
5708impl AsRef<str> for ServiceSpecUpdateConfigInlineItemOrderInlineItem {
5709 fn as_ref(&self) -> &str {
5710 match self {
5711 ServiceSpecUpdateConfigInlineItemOrderInlineItem::StopFirst => "stop-first",
5712 ServiceSpecUpdateConfigInlineItemOrderInlineItem::StartFirst => "start-first",
5713 }
5714 }
5715}
5716
5717impl std::fmt::Display for ServiceSpecUpdateConfigInlineItemOrderInlineItem {
5718 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5719 write!(f, "{}", self.as_ref())
5720 }
5721}
5722
5723#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5724pub struct ServiceUpdateBodyParam {
5726 #[serde(rename = "EndpointSpec")]
5727 pub endpoint_spec: Option<EndpointSpec>,
5728 #[serde(rename = "Labels")]
5729 #[serde(skip_serializing_if = "Option::is_none")]
5730 pub labels: Option<HashMap<String, String>>,
5732 #[serde(rename = "Mode")]
5733 #[serde(skip_serializing_if = "Option::is_none")]
5734 pub mode: Option<ServiceUpdateBodyParamModeInlineItem>,
5736 #[serde(rename = "Name")]
5737 #[serde(skip_serializing_if = "Option::is_none")]
5738 pub name: Option<String>,
5740 #[serde(rename = "Networks")]
5741 #[serde(skip_serializing_if = "Option::is_none")]
5742 pub networks: Option<Vec<NetworkAttachmentConfig>>,
5744 #[serde(rename = "RollbackConfig")]
5745 #[serde(skip_serializing_if = "Option::is_none")]
5746 pub rollback_config: Option<ServiceUpdateBodyParamRollbackConfigInlineItem>,
5748 #[serde(rename = "TaskTemplate")]
5749 pub task_template: Option<TaskSpec>,
5750 #[serde(rename = "UpdateConfig")]
5751 #[serde(skip_serializing_if = "Option::is_none")]
5752 pub update_config: Option<ServiceUpdateBodyParamUpdateConfigInlineItem>,
5754}
5755
5756#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5757pub struct ServiceUpdateBodyParamModeInlineItem {
5759 #[serde(rename = "Global")]
5760 #[serde(skip_serializing_if = "Option::is_none")]
5761 pub global: Option<Value>,
5762 #[serde(rename = "GlobalJob")]
5763 #[serde(skip_serializing_if = "Option::is_none")]
5764 pub global_job: Option<Value>,
5767 #[serde(rename = "Replicated")]
5768 #[serde(skip_serializing_if = "Option::is_none")]
5769 pub replicated: Option<ServiceUpdateBodyParamModeInlineItemReplicatedInlineItem>,
5770 #[serde(rename = "ReplicatedJob")]
5771 #[serde(skip_serializing_if = "Option::is_none")]
5772 pub replicated_job: Option<ServiceUpdateBodyParamModeInlineItemReplicatedJobInlineItem>,
5775}
5776
5777#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5778pub struct ServiceUpdateBodyParamModeInlineItemReplicatedInlineItem {
5779 #[serde(rename = "Replicas")]
5780 #[serde(skip_serializing_if = "Option::is_none")]
5781 pub replicas: Option<i64>,
5782}
5783
5784#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5785pub struct ServiceUpdateBodyParamModeInlineItemReplicatedJobInlineItem {
5788 #[serde(rename = "MaxConcurrent")]
5789 #[serde(skip_serializing_if = "Option::is_none")]
5790 pub max_concurrent: Option<i64>,
5792 #[serde(rename = "TotalCompletions")]
5793 #[serde(skip_serializing_if = "Option::is_none")]
5794 pub total_completions: Option<i64>,
5797}
5798
5799#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5800pub struct ServiceUpdateBodyParamRollbackConfigInlineItem {
5802 #[serde(rename = "Delay")]
5803 #[serde(skip_serializing_if = "Option::is_none")]
5804 pub delay: Option<i64>,
5806 #[serde(rename = "FailureAction")]
5807 #[serde(skip_serializing_if = "Option::is_none")]
5808 pub failure_action: Option<String>,
5811 #[serde(rename = "MaxFailureRatio")]
5812 #[serde(skip_serializing_if = "Option::is_none")]
5813 pub max_failure_ratio: Option<Value>,
5817 #[serde(rename = "Monitor")]
5818 #[serde(skip_serializing_if = "Option::is_none")]
5819 pub monitor: Option<i64>,
5822 #[serde(rename = "Order")]
5823 #[serde(skip_serializing_if = "Option::is_none")]
5824 pub order: Option<String>,
5828 #[serde(rename = "Parallelism")]
5829 #[serde(skip_serializing_if = "Option::is_none")]
5830 pub parallelism: Option<i64>,
5833}
5834
5835#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5836pub enum ServiceUpdateBodyParamRollbackConfigInlineItemFailureActionInlineItem {
5839 #[serde(rename = "continue")]
5840 Continue,
5841 #[serde(rename = "pause")]
5842 Pause,
5843}
5844
5845impl AsRef<str> for ServiceUpdateBodyParamRollbackConfigInlineItemFailureActionInlineItem {
5846 fn as_ref(&self) -> &str {
5847 match self {
5848 ServiceUpdateBodyParamRollbackConfigInlineItemFailureActionInlineItem::Continue => {
5849 "continue"
5850 }
5851 ServiceUpdateBodyParamRollbackConfigInlineItemFailureActionInlineItem::Pause => "pause",
5852 }
5853 }
5854}
5855
5856impl std::fmt::Display for ServiceUpdateBodyParamRollbackConfigInlineItemFailureActionInlineItem {
5857 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5858 write!(f, "{}", self.as_ref())
5859 }
5860}
5861
5862#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5863pub enum ServiceUpdateBodyParamRollbackConfigInlineItemOrderInlineItem {
5867 #[serde(rename = "stop-first")]
5868 StopFirst,
5869 #[serde(rename = "start-first")]
5870 StartFirst,
5871}
5872
5873impl AsRef<str> for ServiceUpdateBodyParamRollbackConfigInlineItemOrderInlineItem {
5874 fn as_ref(&self) -> &str {
5875 match self {
5876 ServiceUpdateBodyParamRollbackConfigInlineItemOrderInlineItem::StopFirst => {
5877 "stop-first"
5878 }
5879 ServiceUpdateBodyParamRollbackConfigInlineItemOrderInlineItem::StartFirst => {
5880 "start-first"
5881 }
5882 }
5883 }
5884}
5885
5886impl std::fmt::Display for ServiceUpdateBodyParamRollbackConfigInlineItemOrderInlineItem {
5887 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5888 write!(f, "{}", self.as_ref())
5889 }
5890}
5891
5892#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5893pub struct ServiceUpdateBodyParamUpdateConfigInlineItem {
5895 #[serde(rename = "Delay")]
5896 #[serde(skip_serializing_if = "Option::is_none")]
5897 pub delay: Option<i64>,
5899 #[serde(rename = "FailureAction")]
5900 #[serde(skip_serializing_if = "Option::is_none")]
5901 pub failure_action: Option<String>,
5904 #[serde(rename = "MaxFailureRatio")]
5905 #[serde(skip_serializing_if = "Option::is_none")]
5906 pub max_failure_ratio: Option<Value>,
5910 #[serde(rename = "Monitor")]
5911 #[serde(skip_serializing_if = "Option::is_none")]
5912 pub monitor: Option<i64>,
5915 #[serde(rename = "Order")]
5916 #[serde(skip_serializing_if = "Option::is_none")]
5917 pub order: Option<String>,
5921 #[serde(rename = "Parallelism")]
5922 #[serde(skip_serializing_if = "Option::is_none")]
5923 pub parallelism: Option<i64>,
5926}
5927
5928#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5929pub enum ServiceUpdateBodyParamUpdateConfigInlineItemFailureActionInlineItem {
5932 #[serde(rename = "continue")]
5933 Continue,
5934 #[serde(rename = "pause")]
5935 Pause,
5936 #[serde(rename = "rollback")]
5937 Rollback,
5938}
5939
5940impl AsRef<str> for ServiceUpdateBodyParamUpdateConfigInlineItemFailureActionInlineItem {
5941 fn as_ref(&self) -> &str {
5942 match self {
5943 ServiceUpdateBodyParamUpdateConfigInlineItemFailureActionInlineItem::Continue => {
5944 "continue"
5945 }
5946 ServiceUpdateBodyParamUpdateConfigInlineItemFailureActionInlineItem::Pause => "pause",
5947 ServiceUpdateBodyParamUpdateConfigInlineItemFailureActionInlineItem::Rollback => {
5948 "rollback"
5949 }
5950 }
5951 }
5952}
5953
5954impl std::fmt::Display for ServiceUpdateBodyParamUpdateConfigInlineItemFailureActionInlineItem {
5955 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5956 write!(f, "{}", self.as_ref())
5957 }
5958}
5959
5960#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5961pub enum ServiceUpdateBodyParamUpdateConfigInlineItemOrderInlineItem {
5965 #[serde(rename = "stop-first")]
5966 StopFirst,
5967 #[serde(rename = "start-first")]
5968 StartFirst,
5969}
5970
5971impl AsRef<str> for ServiceUpdateBodyParamUpdateConfigInlineItemOrderInlineItem {
5972 fn as_ref(&self) -> &str {
5973 match self {
5974 ServiceUpdateBodyParamUpdateConfigInlineItemOrderInlineItem::StopFirst => "stop-first",
5975 ServiceUpdateBodyParamUpdateConfigInlineItemOrderInlineItem::StartFirst => {
5976 "start-first"
5977 }
5978 }
5979 }
5980}
5981
5982impl std::fmt::Display for ServiceUpdateBodyParamUpdateConfigInlineItemOrderInlineItem {
5983 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5984 write!(f, "{}", self.as_ref())
5985 }
5986}
5987
5988#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5989pub struct ServiceUpdateResponse {
5990 #[serde(rename = "Warnings")]
5991 #[serde(skip_serializing_if = "Option::is_none")]
5992 pub warnings: Option<Vec<String>>,
5994}
5995
5996#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5997pub struct ServiceUpdateStatusInlineItem {
5999 #[serde(rename = "CompletedAt")]
6000 #[serde(skip_serializing_if = "Option::is_none")]
6001 pub completed_at: Option<DateTime<Utc>>,
6002 #[serde(rename = "Message")]
6003 #[serde(skip_serializing_if = "Option::is_none")]
6004 pub message: Option<String>,
6005 #[serde(rename = "StartedAt")]
6006 #[serde(skip_serializing_if = "Option::is_none")]
6007 pub started_at: Option<DateTime<Utc>>,
6008 #[serde(rename = "State")]
6009 #[serde(skip_serializing_if = "Option::is_none")]
6010 pub state: Option<String>,
6011}
6012
6013#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6014pub enum ServiceUpdateStatusInlineItemStateInlineItem {
6015 #[serde(rename = "updating")]
6016 Updating,
6017 #[serde(rename = "paused")]
6018 Paused,
6019 #[serde(rename = "completed")]
6020 Completed,
6021}
6022
6023impl AsRef<str> for ServiceUpdateStatusInlineItemStateInlineItem {
6024 fn as_ref(&self) -> &str {
6025 match self {
6026 ServiceUpdateStatusInlineItemStateInlineItem::Updating => "updating",
6027 ServiceUpdateStatusInlineItemStateInlineItem::Paused => "paused",
6028 ServiceUpdateStatusInlineItemStateInlineItem::Completed => "completed",
6029 }
6030 }
6031}
6032
6033impl std::fmt::Display for ServiceUpdateStatusInlineItemStateInlineItem {
6034 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6035 write!(f, "{}", self.as_ref())
6036 }
6037}
6038
6039#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6040pub struct Swarm {
6043 #[serde(rename = "CreatedAt")]
6044 #[serde(skip_serializing_if = "Option::is_none")]
6045 pub created_at: Option<DateTime<Utc>>,
6048 #[serde(rename = "DataPathPort")]
6049 #[serde(skip_serializing_if = "Option::is_none")]
6050 pub data_path_port: Option<u32>,
6054 #[serde(rename = "DefaultAddrPool")]
6055 #[serde(skip_serializing_if = "Option::is_none")]
6056 pub default_addr_pool: Option<Vec<String>>,
6059 #[serde(rename = "ID")]
6060 #[serde(skip_serializing_if = "Option::is_none")]
6061 pub id: Option<String>,
6063 #[serde(rename = "JoinTokens")]
6064 pub join_tokens: Option<JoinTokens>,
6065 #[serde(rename = "RootRotationInProgress")]
6066 #[serde(skip_serializing_if = "Option::is_none")]
6067 pub root_rotation_in_progress: Option<bool>,
6069 #[serde(rename = "Spec")]
6070 pub spec: Option<SwarmSpec>,
6071 #[serde(rename = "SubnetSize")]
6072 #[serde(skip_serializing_if = "Option::is_none")]
6073 pub subnet_size: Option<u32>,
6076 #[serde(rename = "TLSInfo")]
6077 pub tls_info: Option<TlsInfo>,
6078 #[serde(rename = "UpdatedAt")]
6079 #[serde(skip_serializing_if = "Option::is_none")]
6080 pub updated_at: Option<DateTime<Utc>>,
6083 #[serde(rename = "Version")]
6084 pub version: Option<ObjectVersion>,
6085}
6086
6087#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6088pub struct SwarmInfo {
6090 #[serde(rename = "Cluster")]
6091 pub cluster: Option<ClusterInfo>,
6092 #[serde(rename = "ControlAvailable")]
6093 #[serde(skip_serializing_if = "Option::is_none")]
6094 pub control_available: Option<bool>,
6095 #[serde(rename = "Error")]
6096 #[serde(skip_serializing_if = "Option::is_none")]
6097 pub error: Option<String>,
6098 #[serde(rename = "LocalNodeState")]
6099 pub local_node_state: Option<String>,
6100 #[serde(rename = "Managers")]
6101 #[serde(skip_serializing_if = "Option::is_none")]
6102 pub managers: Option<isize>,
6104 #[serde(rename = "NodeAddr")]
6105 #[serde(skip_serializing_if = "Option::is_none")]
6106 pub node_addr: Option<String>,
6109 #[serde(rename = "NodeID")]
6110 #[serde(skip_serializing_if = "Option::is_none")]
6111 pub node_id: Option<String>,
6113 #[serde(rename = "Nodes")]
6114 #[serde(skip_serializing_if = "Option::is_none")]
6115 pub nodes: Option<isize>,
6117 #[serde(rename = "RemoteManagers")]
6118 #[serde(skip_serializing_if = "Option::is_none")]
6119 pub remote_managers: Option<Vec<PeerNode>>,
6121}
6122
6123pub type SwarmInit200Response = String;
6125
6126#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6127pub struct SwarmInitBodyParam {
6128 #[serde(rename = "AdvertiseAddr")]
6129 #[serde(skip_serializing_if = "Option::is_none")]
6130 pub advertise_addr: Option<String>,
6137 #[serde(rename = "DataPathAddr")]
6138 #[serde(skip_serializing_if = "Option::is_none")]
6139 pub data_path_addr: Option<String>,
6150 #[serde(rename = "DataPathPort")]
6151 #[serde(skip_serializing_if = "Option::is_none")]
6152 pub data_path_port: Option<u32>,
6156 #[serde(rename = "DefaultAddrPool")]
6157 #[serde(skip_serializing_if = "Option::is_none")]
6158 pub default_addr_pool: Option<Vec<String>>,
6161 #[serde(rename = "ForceNewCluster")]
6162 #[serde(skip_serializing_if = "Option::is_none")]
6163 pub force_new_cluster: Option<bool>,
6165 #[serde(rename = "ListenAddr")]
6166 #[serde(skip_serializing_if = "Option::is_none")]
6167 pub listen_addr: Option<String>,
6174 #[serde(rename = "Spec")]
6175 pub spec: Option<SwarmSpec>,
6176 #[serde(rename = "SubnetSize")]
6177 #[serde(skip_serializing_if = "Option::is_none")]
6178 pub subnet_size: Option<u32>,
6181}
6182
6183#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6184pub struct SwarmJoinBodyParam {
6185 #[serde(rename = "AdvertiseAddr")]
6186 #[serde(skip_serializing_if = "Option::is_none")]
6187 pub advertise_addr: Option<String>,
6194 #[serde(rename = "DataPathAddr")]
6195 #[serde(skip_serializing_if = "Option::is_none")]
6196 pub data_path_addr: Option<String>,
6207 #[serde(rename = "JoinToken")]
6208 #[serde(skip_serializing_if = "Option::is_none")]
6209 pub join_token: Option<String>,
6211 #[serde(rename = "ListenAddr")]
6212 #[serde(skip_serializing_if = "Option::is_none")]
6213 pub listen_addr: Option<String>,
6217 #[serde(rename = "RemoteAddrs")]
6218 #[serde(skip_serializing_if = "Option::is_none")]
6219 pub remote_addrs: Option<Vec<String>>,
6221}
6222
6223#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6224pub struct SwarmSpec {
6226 #[serde(rename = "CAConfig")]
6227 #[serde(skip_serializing_if = "Option::is_none")]
6228 pub ca_config: Option<SwarmSpecCaConfigInlineItem>,
6230 #[serde(rename = "Dispatcher")]
6231 #[serde(skip_serializing_if = "Option::is_none")]
6232 pub dispatcher: Option<SwarmSpecDispatcherInlineItem>,
6234 #[serde(rename = "EncryptionConfig")]
6235 #[serde(skip_serializing_if = "Option::is_none")]
6236 pub encryption_config: Option<SwarmSpecEncryptionConfigInlineItem>,
6238 #[serde(rename = "Labels")]
6239 #[serde(skip_serializing_if = "Option::is_none")]
6240 pub labels: Option<HashMap<String, String>>,
6242 #[serde(rename = "Name")]
6243 #[serde(skip_serializing_if = "Option::is_none")]
6244 pub name: Option<String>,
6246 #[serde(rename = "Orchestration")]
6247 #[serde(skip_serializing_if = "Option::is_none")]
6248 pub orchestration: Option<SwarmSpecOrchestrationInlineItem>,
6250 #[serde(rename = "Raft")]
6251 #[serde(skip_serializing_if = "Option::is_none")]
6252 pub raft: Option<SwarmSpecRaftInlineItem>,
6254 #[serde(rename = "TaskDefaults")]
6255 #[serde(skip_serializing_if = "Option::is_none")]
6256 pub task_defaults: Option<SwarmSpecTaskDefaultsInlineItem>,
6258}
6259
6260#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6261pub struct SwarmSpecCaConfigInlineItem {
6263 #[serde(rename = "ExternalCAs")]
6264 #[serde(skip_serializing_if = "Option::is_none")]
6265 pub external_c_as: Option<Vec<SwarmSpecCaConfigInlineItemExternalCAsInlineItem>>,
6268 #[serde(rename = "ForceRotate")]
6269 #[serde(skip_serializing_if = "Option::is_none")]
6270 pub force_rotate: Option<u64>,
6274 #[serde(rename = "NodeCertExpiry")]
6275 #[serde(skip_serializing_if = "Option::is_none")]
6276 pub node_cert_expiry: Option<i64>,
6278 #[serde(rename = "SigningCACert")]
6279 #[serde(skip_serializing_if = "Option::is_none")]
6280 pub signing_ca_cert: Option<String>,
6283 #[serde(rename = "SigningCAKey")]
6284 #[serde(skip_serializing_if = "Option::is_none")]
6285 pub signing_ca_key: Option<String>,
6288}
6289
6290#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6291pub struct SwarmSpecCaConfigInlineItemExternalCAsInlineItem {
6292 #[serde(rename = "CACert")]
6293 #[serde(skip_serializing_if = "Option::is_none")]
6294 pub ca_cert: Option<String>,
6298 #[serde(rename = "Options")]
6299 #[serde(skip_serializing_if = "Option::is_none")]
6300 pub options: Option<HashMap<String, String>>,
6303 #[serde(rename = "Protocol")]
6304 #[serde(skip_serializing_if = "Option::is_none")]
6305 pub protocol: Option<String>,
6308 #[serde(rename = "URL")]
6309 #[serde(skip_serializing_if = "Option::is_none")]
6310 pub url: Option<String>,
6312}
6313
6314#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6315pub enum SwarmSpecCaConfigInlineItemExternalCAsInlineItemProtocolInlineItem {
6318 #[serde(rename = "cfssl")]
6319 Cfssl,
6320}
6321
6322impl AsRef<str> for SwarmSpecCaConfigInlineItemExternalCAsInlineItemProtocolInlineItem {
6323 fn as_ref(&self) -> &str {
6324 match self {
6325 SwarmSpecCaConfigInlineItemExternalCAsInlineItemProtocolInlineItem::Cfssl => "cfssl",
6326 }
6327 }
6328}
6329
6330impl std::fmt::Display for SwarmSpecCaConfigInlineItemExternalCAsInlineItemProtocolInlineItem {
6331 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6332 write!(f, "{}", self.as_ref())
6333 }
6334}
6335
6336#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6337pub struct SwarmSpecDispatcherInlineItem {
6339 #[serde(rename = "HeartbeatPeriod")]
6340 #[serde(skip_serializing_if = "Option::is_none")]
6341 pub heartbeat_period: Option<i64>,
6343}
6344
6345#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6346pub struct SwarmSpecEncryptionConfigInlineItem {
6348 #[serde(rename = "AutoLockManagers")]
6349 #[serde(skip_serializing_if = "Option::is_none")]
6350 pub auto_lock_managers: Option<bool>,
6353}
6354
6355#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6356pub struct SwarmSpecOrchestrationInlineItem {
6358 #[serde(rename = "TaskHistoryRetentionLimit")]
6359 #[serde(skip_serializing_if = "Option::is_none")]
6360 pub task_history_retention_limit: Option<i64>,
6363}
6364
6365#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6366pub struct SwarmSpecRaftInlineItem {
6368 #[serde(rename = "ElectionTick")]
6369 #[serde(skip_serializing_if = "Option::is_none")]
6370 pub election_tick: Option<isize>,
6377 #[serde(rename = "HeartbeatTick")]
6378 #[serde(skip_serializing_if = "Option::is_none")]
6379 pub heartbeat_tick: Option<isize>,
6385 #[serde(rename = "KeepOldSnapshots")]
6386 #[serde(skip_serializing_if = "Option::is_none")]
6387 pub keep_old_snapshots: Option<u64>,
6389 #[serde(rename = "LogEntriesForSlowFollowers")]
6390 #[serde(skip_serializing_if = "Option::is_none")]
6391 pub log_entries_for_slow_followers: Option<u64>,
6394 #[serde(rename = "SnapshotInterval")]
6395 #[serde(skip_serializing_if = "Option::is_none")]
6396 pub snapshot_interval: Option<u64>,
6398}
6399
6400#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6401pub struct SwarmSpecTaskDefaultsInlineItem {
6403 #[serde(rename = "LogDriver")]
6404 #[serde(skip_serializing_if = "Option::is_none")]
6405 pub log_driver: Option<SwarmSpecTaskDefaultsInlineItemLogDriverInlineItem>,
6411}
6412
6413#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6414pub struct SwarmSpecTaskDefaultsInlineItemLogDriverInlineItem {
6420 #[serde(rename = "Name")]
6421 #[serde(skip_serializing_if = "Option::is_none")]
6422 pub name: Option<String>,
6424 #[serde(rename = "Options")]
6425 #[serde(skip_serializing_if = "Option::is_none")]
6426 pub options: Option<HashMap<String, String>>,
6429}
6430
6431#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6432pub struct SwarmUnlockBodyParam {
6433 #[serde(rename = "UnlockKey")]
6434 #[serde(skip_serializing_if = "Option::is_none")]
6435 pub unlock_key: Option<String>,
6437}
6438
6439#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6440pub struct SwarmUnlockkey200Response {
6442 #[serde(rename = "UnlockKey")]
6443 #[serde(skip_serializing_if = "Option::is_none")]
6444 pub unlock_key: Option<String>,
6446}
6447
6448#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6449pub struct SystemAuth200Response {
6451 #[serde(rename = "IdentityToken")]
6452 #[serde(skip_serializing_if = "Option::is_none")]
6453 pub identity_token: Option<String>,
6455 #[serde(rename = "Status")]
6456 pub status: String,
6458}
6459
6460#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6461pub struct SystemDataUsage200Response {
6463 #[serde(rename = "BuildCache")]
6464 #[serde(skip_serializing_if = "Option::is_none")]
6465 pub build_cache: Option<Vec<BuildCache>>,
6466 #[serde(rename = "Containers")]
6467 #[serde(skip_serializing_if = "Option::is_none")]
6468 pub containers: Option<Vec<ContainerSummary>>,
6469 #[serde(rename = "Images")]
6470 #[serde(skip_serializing_if = "Option::is_none")]
6471 pub images: Option<Vec<ImageSummary>>,
6472 #[serde(rename = "LayersSize")]
6473 #[serde(skip_serializing_if = "Option::is_none")]
6474 pub layers_size: Option<i64>,
6475 #[serde(rename = "Volumes")]
6476 #[serde(skip_serializing_if = "Option::is_none")]
6477 pub volumes: Option<Vec<Volume>>,
6478}
6479
6480#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6481pub struct SystemInfo {
6482 #[serde(rename = "Architecture")]
6483 #[serde(skip_serializing_if = "Option::is_none")]
6484 pub architecture: Option<String>,
6489 #[serde(rename = "BridgeNfIp6tables")]
6490 #[serde(skip_serializing_if = "Option::is_none")]
6491 pub bridge_nf_ip_6_tables: Option<bool>,
6493 #[serde(rename = "BridgeNfIptables")]
6494 #[serde(skip_serializing_if = "Option::is_none")]
6495 pub bridge_nf_iptables: Option<bool>,
6497 #[serde(rename = "CPUSet")]
6498 #[serde(skip_serializing_if = "Option::is_none")]
6499 pub cpu_set: Option<bool>,
6503 #[serde(rename = "CPUShares")]
6504 #[serde(skip_serializing_if = "Option::is_none")]
6505 pub cpu_shares: Option<bool>,
6507 #[serde(rename = "CgroupDriver")]
6508 #[serde(skip_serializing_if = "Option::is_none")]
6509 pub cgroup_driver: Option<String>,
6511 #[serde(rename = "CgroupVersion")]
6512 #[serde(skip_serializing_if = "Option::is_none")]
6513 pub cgroup_version: Option<String>,
6515 #[serde(rename = "ClusterAdvertise")]
6516 #[serde(skip_serializing_if = "Option::is_none")]
6517 pub cluster_advertise: Option<String>,
6528 #[serde(rename = "ClusterStore")]
6529 #[serde(skip_serializing_if = "Option::is_none")]
6530 pub cluster_store: Option<String>,
6543 #[serde(rename = "ContainerdCommit")]
6544 pub containerd_commit: Option<Commit>,
6545 #[serde(rename = "Containers")]
6546 #[serde(skip_serializing_if = "Option::is_none")]
6547 pub containers: Option<isize>,
6549 #[serde(rename = "ContainersPaused")]
6550 #[serde(skip_serializing_if = "Option::is_none")]
6551 pub containers_paused: Option<isize>,
6553 #[serde(rename = "ContainersRunning")]
6554 #[serde(skip_serializing_if = "Option::is_none")]
6555 pub containers_running: Option<isize>,
6557 #[serde(rename = "ContainersStopped")]
6558 #[serde(skip_serializing_if = "Option::is_none")]
6559 pub containers_stopped: Option<isize>,
6561 #[serde(rename = "CpuCfsPeriod")]
6562 #[serde(skip_serializing_if = "Option::is_none")]
6563 pub cpu_cfs_period: Option<bool>,
6566 #[serde(rename = "CpuCfsQuota")]
6567 #[serde(skip_serializing_if = "Option::is_none")]
6568 pub cpu_cfs_quota: Option<bool>,
6571 #[serde(rename = "Debug")]
6572 #[serde(skip_serializing_if = "Option::is_none")]
6573 pub debug: Option<bool>,
6576 #[serde(rename = "DefaultAddressPools")]
6577 #[serde(skip_serializing_if = "Option::is_none")]
6578 pub default_address_pools: Option<Vec<SystemInfoDefaultAddressPoolsInlineItem>>,
6584 #[serde(rename = "DefaultRuntime")]
6585 #[serde(skip_serializing_if = "Option::is_none")]
6586 pub default_runtime: Option<String>,
6590 #[serde(rename = "DockerRootDir")]
6591 #[serde(skip_serializing_if = "Option::is_none")]
6592 pub docker_root_dir: Option<String>,
6597 #[serde(rename = "Driver")]
6598 #[serde(skip_serializing_if = "Option::is_none")]
6599 pub driver: Option<String>,
6601 #[serde(rename = "DriverStatus")]
6602 #[serde(skip_serializing_if = "Option::is_none")]
6603 pub driver_status: Option<Vec<Vec<String>>>,
6616 #[serde(rename = "ExperimentalBuild")]
6617 #[serde(skip_serializing_if = "Option::is_none")]
6618 pub experimental_build: Option<bool>,
6620 #[serde(rename = "GenericResources")]
6621 pub generic_resources: Option<GenericResources>,
6622 #[serde(rename = "HttpProxy")]
6623 #[serde(skip_serializing_if = "Option::is_none")]
6624 pub http_proxy: Option<String>,
6631 #[serde(rename = "HttpsProxy")]
6632 #[serde(skip_serializing_if = "Option::is_none")]
6633 pub https_proxy: Option<String>,
6640 #[serde(rename = "ID")]
6641 #[serde(skip_serializing_if = "Option::is_none")]
6642 pub id: Option<String>,
6649 #[serde(rename = "IPv4Forwarding")]
6650 #[serde(skip_serializing_if = "Option::is_none")]
6651 pub i_pv_4_forwarding: Option<bool>,
6653 #[serde(rename = "Images")]
6654 #[serde(skip_serializing_if = "Option::is_none")]
6655 pub images: Option<isize>,
6659 #[serde(rename = "IndexServerAddress")]
6660 #[serde(skip_serializing_if = "Option::is_none")]
6661 pub index_server_address: Option<String>,
6664 #[serde(rename = "InitBinary")]
6665 #[serde(skip_serializing_if = "Option::is_none")]
6666 pub init_binary: Option<String>,
6671 #[serde(rename = "InitCommit")]
6672 pub init_commit: Option<Commit>,
6673 #[serde(rename = "Isolation")]
6674 #[serde(skip_serializing_if = "Option::is_none")]
6675 pub isolation: Option<String>,
6683 #[serde(rename = "KernelMemoryTCP")]
6684 #[serde(skip_serializing_if = "Option::is_none")]
6685 pub kernel_memory_tcp: Option<bool>,
6691 #[serde(rename = "KernelVersion")]
6692 #[serde(skip_serializing_if = "Option::is_none")]
6693 pub kernel_version: Option<String>,
6699 #[serde(rename = "Labels")]
6700 #[serde(skip_serializing_if = "Option::is_none")]
6701 pub labels: Option<Vec<String>>,
6711 #[serde(rename = "LiveRestoreEnabled")]
6712 #[serde(skip_serializing_if = "Option::is_none")]
6713 pub live_restore_enabled: Option<bool>,
6718 #[serde(rename = "LoggingDriver")]
6719 #[serde(skip_serializing_if = "Option::is_none")]
6720 pub logging_driver: Option<String>,
6722 #[serde(rename = "MemTotal")]
6723 #[serde(skip_serializing_if = "Option::is_none")]
6724 pub mem_total: Option<i64>,
6726 #[serde(rename = "MemoryLimit")]
6727 #[serde(skip_serializing_if = "Option::is_none")]
6728 pub memory_limit: Option<bool>,
6730 #[serde(rename = "NCPU")]
6731 #[serde(skip_serializing_if = "Option::is_none")]
6732 pub ncpu: Option<isize>,
6738 #[serde(rename = "NEventsListener")]
6739 #[serde(skip_serializing_if = "Option::is_none")]
6740 pub n_events_listener: Option<isize>,
6742 #[serde(rename = "NFd")]
6743 #[serde(skip_serializing_if = "Option::is_none")]
6744 pub n_fd: Option<isize>,
6748 #[serde(rename = "NGoroutines")]
6749 #[serde(skip_serializing_if = "Option::is_none")]
6750 pub n_goroutines: Option<isize>,
6754 #[serde(rename = "Name")]
6755 #[serde(skip_serializing_if = "Option::is_none")]
6756 pub name: Option<String>,
6758 #[serde(rename = "NoProxy")]
6759 #[serde(skip_serializing_if = "Option::is_none")]
6760 pub no_proxy: Option<String>,
6766 #[serde(rename = "OSType")]
6767 #[serde(skip_serializing_if = "Option::is_none")]
6768 pub os_type: Option<String>,
6774 #[serde(rename = "OSVersion")]
6775 #[serde(skip_serializing_if = "Option::is_none")]
6776 pub os_version: Option<String>,
6784 #[serde(rename = "OomKillDisable")]
6785 #[serde(skip_serializing_if = "Option::is_none")]
6786 pub oom_kill_disable: Option<bool>,
6788 #[serde(rename = "OperatingSystem")]
6789 #[serde(skip_serializing_if = "Option::is_none")]
6790 pub operating_system: Option<String>,
6793 #[serde(rename = "PidsLimit")]
6794 #[serde(skip_serializing_if = "Option::is_none")]
6795 pub pids_limit: Option<bool>,
6797 #[serde(rename = "Plugins")]
6798 pub plugins: Option<PluginsInfo>,
6799 #[serde(rename = "ProductLicense")]
6800 #[serde(skip_serializing_if = "Option::is_none")]
6801 pub product_license: Option<String>,
6806 #[serde(rename = "RegistryConfig")]
6807 pub registry_config: Option<RegistryServiceConfig>,
6808 #[serde(rename = "RuncCommit")]
6809 pub runc_commit: Option<Commit>,
6810 #[serde(rename = "Runtimes")]
6811 #[serde(skip_serializing_if = "Option::is_none")]
6812 pub runtimes: Option<HashMap<String, Runtime>>,
6823 #[serde(rename = "SecurityOptions")]
6824 #[serde(skip_serializing_if = "Option::is_none")]
6825 pub security_options: Option<Vec<String>>,
6833 #[serde(rename = "ServerVersion")]
6834 #[serde(skip_serializing_if = "Option::is_none")]
6835 pub server_version: Option<String>,
6841 #[serde(rename = "SwapLimit")]
6842 #[serde(skip_serializing_if = "Option::is_none")]
6843 pub swap_limit: Option<bool>,
6845 #[serde(rename = "Swarm")]
6846 pub swarm: Option<SwarmInfo>,
6847 #[serde(rename = "SystemTime")]
6848 #[serde(skip_serializing_if = "Option::is_none")]
6849 pub system_time: Option<String>,
6852 #[serde(rename = "Warnings")]
6853 #[serde(skip_serializing_if = "Option::is_none")]
6854 pub warnings: Option<Vec<String>>,
6859}
6860
6861#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6862pub enum SystemInfoCgroupDriverInlineItem {
6864 #[serde(rename = "cgroupfs")]
6865 Cgroupfs,
6866 #[serde(rename = "systemd")]
6867 Systemd,
6868 #[serde(rename = "none")]
6869 None,
6870}
6871
6872impl AsRef<str> for SystemInfoCgroupDriverInlineItem {
6873 fn as_ref(&self) -> &str {
6874 match self {
6875 SystemInfoCgroupDriverInlineItem::Cgroupfs => "cgroupfs",
6876 SystemInfoCgroupDriverInlineItem::Systemd => "systemd",
6877 SystemInfoCgroupDriverInlineItem::None => "none",
6878 }
6879 }
6880}
6881
6882impl std::fmt::Display for SystemInfoCgroupDriverInlineItem {
6883 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6884 write!(f, "{}", self.as_ref())
6885 }
6886}
6887
6888#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6889pub enum SystemInfoCgroupVersionInlineItem {
6891 #[serde(rename = "1")]
6892 Value1,
6893 #[serde(rename = "2")]
6894 Value2,
6895}
6896
6897impl AsRef<str> for SystemInfoCgroupVersionInlineItem {
6898 fn as_ref(&self) -> &str {
6899 match self {
6900 SystemInfoCgroupVersionInlineItem::Value1 => "1",
6901 SystemInfoCgroupVersionInlineItem::Value2 => "2",
6902 }
6903 }
6904}
6905
6906impl std::fmt::Display for SystemInfoCgroupVersionInlineItem {
6907 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6908 write!(f, "{}", self.as_ref())
6909 }
6910}
6911
6912#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6913pub struct SystemInfoDefaultAddressPoolsInlineItem {
6914 #[serde(rename = "Base")]
6915 #[serde(skip_serializing_if = "Option::is_none")]
6916 pub base: Option<String>,
6918 #[serde(rename = "Size")]
6919 #[serde(skip_serializing_if = "Option::is_none")]
6920 pub size: Option<isize>,
6922}
6923
6924#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6925pub enum SystemInfoIsolationInlineItem {
6933 #[serde(rename = "default")]
6934 Default,
6935 #[serde(rename = "hyperv")]
6936 Hyperv,
6937 #[serde(rename = "process")]
6938 Process,
6939}
6940
6941impl AsRef<str> for SystemInfoIsolationInlineItem {
6942 fn as_ref(&self) -> &str {
6943 match self {
6944 SystemInfoIsolationInlineItem::Default => "default",
6945 SystemInfoIsolationInlineItem::Hyperv => "hyperv",
6946 SystemInfoIsolationInlineItem::Process => "process",
6947 }
6948 }
6949}
6950
6951impl std::fmt::Display for SystemInfoIsolationInlineItem {
6952 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
6953 write!(f, "{}", self.as_ref())
6954 }
6955}
6956
6957pub type SystemPing200Response = String;
6959
6960pub type SystemPingHead200Response = String;
6962
6963#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
6964pub struct SystemVersion {
6966 #[serde(rename = "ApiVersion")]
6967 #[serde(skip_serializing_if = "Option::is_none")]
6968 pub api_version: Option<String>,
6970 #[serde(rename = "Arch")]
6971 #[serde(skip_serializing_if = "Option::is_none")]
6972 pub arch: Option<String>,
6974 #[serde(rename = "BuildTime")]
6975 #[serde(skip_serializing_if = "Option::is_none")]
6976 pub build_time: Option<String>,
6978 #[serde(rename = "Components")]
6979 #[serde(skip_serializing_if = "Option::is_none")]
6980 pub components: Option<Vec<ComponentVersion>>,
6982 #[serde(rename = "Experimental")]
6983 #[serde(skip_serializing_if = "Option::is_none")]
6984 pub experimental: Option<bool>,
6988 #[serde(rename = "GitCommit")]
6989 #[serde(skip_serializing_if = "Option::is_none")]
6990 pub git_commit: Option<String>,
6992 #[serde(rename = "GoVersion")]
6993 #[serde(skip_serializing_if = "Option::is_none")]
6994 pub go_version: Option<String>,
6997 #[serde(rename = "KernelVersion")]
6998 #[serde(skip_serializing_if = "Option::is_none")]
6999 pub kernel_version: Option<String>,
7003 #[serde(rename = "MinAPIVersion")]
7004 #[serde(skip_serializing_if = "Option::is_none")]
7005 pub min_api_version: Option<String>,
7007 #[serde(rename = "Os")]
7008 #[serde(skip_serializing_if = "Option::is_none")]
7009 pub os: Option<String>,
7011 #[serde(rename = "Platform")]
7012 #[serde(skip_serializing_if = "Option::is_none")]
7013 pub platform: Option<SystemVersionPlatformInlineItem>,
7014 #[serde(rename = "Version")]
7015 #[serde(skip_serializing_if = "Option::is_none")]
7016 pub version: Option<String>,
7018}
7019
7020#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7021pub struct SystemVersionPlatformInlineItem {
7022 #[serde(rename = "Name")]
7023 pub name: String,
7024}
7025
7026#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7027pub struct TlsInfo {
7030 #[serde(rename = "CertIssuerPublicKey")]
7031 #[serde(skip_serializing_if = "Option::is_none")]
7032 pub cert_issuer_public_key: Option<String>,
7034 #[serde(rename = "CertIssuerSubject")]
7035 #[serde(skip_serializing_if = "Option::is_none")]
7036 pub cert_issuer_subject: Option<String>,
7038 #[serde(rename = "TrustRoot")]
7039 #[serde(skip_serializing_if = "Option::is_none")]
7040 pub trust_root: Option<String>,
7043}
7044
7045#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7046pub struct Task {
7047 #[serde(rename = "AssignedGenericResources")]
7048 pub assigned_generic_resources: Option<GenericResources>,
7049 #[serde(rename = "CreatedAt")]
7050 #[serde(skip_serializing_if = "Option::is_none")]
7051 pub created_at: Option<DateTime<Utc>>,
7052 #[serde(rename = "DesiredState")]
7053 pub desired_state: Option<String>,
7054 #[serde(rename = "ID")]
7055 #[serde(skip_serializing_if = "Option::is_none")]
7056 pub id: Option<String>,
7058 #[serde(rename = "JobIteration")]
7059 pub job_iteration: Option<ObjectVersion>,
7060 #[serde(rename = "Labels")]
7061 #[serde(skip_serializing_if = "Option::is_none")]
7062 pub labels: Option<HashMap<String, String>>,
7064 #[serde(rename = "Name")]
7065 #[serde(skip_serializing_if = "Option::is_none")]
7066 pub name: Option<String>,
7068 #[serde(rename = "NodeID")]
7069 #[serde(skip_serializing_if = "Option::is_none")]
7070 pub node_id: Option<String>,
7072 #[serde(rename = "ServiceID")]
7073 #[serde(skip_serializing_if = "Option::is_none")]
7074 pub service_id: Option<String>,
7076 #[serde(rename = "Slot")]
7077 #[serde(skip_serializing_if = "Option::is_none")]
7078 pub slot: Option<isize>,
7079 #[serde(rename = "Spec")]
7080 pub spec: Option<TaskSpec>,
7081 #[serde(rename = "Status")]
7082 #[serde(skip_serializing_if = "Option::is_none")]
7083 pub status: Option<TaskStatusInlineItem>,
7084 #[serde(rename = "UpdatedAt")]
7085 #[serde(skip_serializing_if = "Option::is_none")]
7086 pub updated_at: Option<DateTime<Utc>>,
7087 #[serde(rename = "Version")]
7088 pub version: Option<ObjectVersion>,
7089}
7090
7091pub type TaskList200Response = Vec<Task>;
7093
7094pub type TaskLogs200Response = Vec<u8>;
7096
7097#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7098pub struct TaskSpec {
7100 #[serde(rename = "ContainerSpec")]
7101 #[serde(skip_serializing_if = "Option::is_none")]
7102 pub container_spec: Option<TaskSpecContainerSpecInlineItem>,
7111 #[serde(rename = "ForceUpdate")]
7112 #[serde(skip_serializing_if = "Option::is_none")]
7113 pub force_update: Option<isize>,
7116 #[serde(rename = "LogDriver")]
7117 #[serde(skip_serializing_if = "Option::is_none")]
7118 pub log_driver: Option<TaskSpecLogDriverInlineItem>,
7122 #[serde(rename = "NetworkAttachmentSpec")]
7123 #[serde(skip_serializing_if = "Option::is_none")]
7124 pub network_attachment_spec: Option<TaskSpecNetworkAttachmentSpecInlineItem>,
7134 #[serde(rename = "Networks")]
7135 #[serde(skip_serializing_if = "Option::is_none")]
7136 pub networks: Option<Vec<NetworkAttachmentConfig>>,
7138 #[serde(rename = "Placement")]
7139 #[serde(skip_serializing_if = "Option::is_none")]
7140 pub placement: Option<TaskSpecPlacementInlineItem>,
7141 #[serde(rename = "PluginSpec")]
7142 #[serde(skip_serializing_if = "Option::is_none")]
7143 pub plugin_spec: Option<TaskSpecPluginSpecInlineItem>,
7152 #[serde(rename = "Resources")]
7153 #[serde(skip_serializing_if = "Option::is_none")]
7154 pub resources: Option<TaskSpecResourcesInlineItem>,
7157 #[serde(rename = "RestartPolicy")]
7158 #[serde(skip_serializing_if = "Option::is_none")]
7159 pub restart_policy: Option<TaskSpecRestartPolicyInlineItem>,
7162 #[serde(rename = "Runtime")]
7163 #[serde(skip_serializing_if = "Option::is_none")]
7164 pub runtime: Option<String>,
7166}
7167
7168#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7169pub struct TaskSpecContainerSpecInlineItem {
7178 #[serde(rename = "Args")]
7179 #[serde(skip_serializing_if = "Option::is_none")]
7180 pub args: Option<Vec<String>>,
7182 #[serde(rename = "CapabilityAdd")]
7183 #[serde(skip_serializing_if = "Option::is_none")]
7184 pub capability_add: Option<Vec<String>>,
7187 #[serde(rename = "CapabilityDrop")]
7188 #[serde(skip_serializing_if = "Option::is_none")]
7189 pub capability_drop: Option<Vec<String>>,
7192 #[serde(rename = "Command")]
7193 #[serde(skip_serializing_if = "Option::is_none")]
7194 pub command: Option<Vec<String>>,
7196 #[serde(rename = "Configs")]
7197 #[serde(skip_serializing_if = "Option::is_none")]
7198 pub configs: Option<Vec<TaskSpecContainerSpecInlineItemConfigsInlineItem>>,
7201 #[serde(rename = "DNSConfig")]
7202 #[serde(skip_serializing_if = "Option::is_none")]
7203 pub dns_config: Option<TaskSpecContainerSpecInlineItemDnsConfigInlineItem>,
7206 #[serde(rename = "Dir")]
7207 #[serde(skip_serializing_if = "Option::is_none")]
7208 pub dir: Option<String>,
7210 #[serde(rename = "Env")]
7211 #[serde(skip_serializing_if = "Option::is_none")]
7212 pub env: Option<Vec<String>>,
7214 #[serde(rename = "Groups")]
7215 #[serde(skip_serializing_if = "Option::is_none")]
7216 pub groups: Option<Vec<String>>,
7218 #[serde(rename = "HealthCheck")]
7219 pub health_check: Option<HealthConfig>,
7220 #[serde(rename = "Hostname")]
7221 #[serde(skip_serializing_if = "Option::is_none")]
7222 pub hostname: Option<String>,
7225 #[serde(rename = "Hosts")]
7226 #[serde(skip_serializing_if = "Option::is_none")]
7227 pub hosts: Option<Vec<String>>,
7234 #[serde(rename = "Image")]
7235 #[serde(skip_serializing_if = "Option::is_none")]
7236 pub image: Option<String>,
7238 #[serde(rename = "Init")]
7239 #[serde(skip_serializing_if = "Option::is_none")]
7240 pub init: Option<bool>,
7244 #[serde(rename = "Isolation")]
7245 #[serde(skip_serializing_if = "Option::is_none")]
7246 pub isolation: Option<String>,
7249 #[serde(rename = "Labels")]
7250 #[serde(skip_serializing_if = "Option::is_none")]
7251 pub labels: Option<HashMap<String, String>>,
7253 #[serde(rename = "Mounts")]
7254 #[serde(skip_serializing_if = "Option::is_none")]
7255 pub mounts: Option<Vec<Mount>>,
7258 #[serde(rename = "OpenStdin")]
7259 #[serde(skip_serializing_if = "Option::is_none")]
7260 pub open_stdin: Option<bool>,
7262 #[serde(rename = "Privileges")]
7263 #[serde(skip_serializing_if = "Option::is_none")]
7264 pub privileges: Option<TaskSpecContainerSpecInlineItemPrivilegesInlineItem>,
7266 #[serde(rename = "ReadOnly")]
7267 #[serde(skip_serializing_if = "Option::is_none")]
7268 pub read_only: Option<bool>,
7270 #[serde(rename = "Secrets")]
7271 #[serde(skip_serializing_if = "Option::is_none")]
7272 pub secrets: Option<Vec<TaskSpecContainerSpecInlineItemSecretsInlineItem>>,
7275 #[serde(rename = "StopGracePeriod")]
7276 #[serde(skip_serializing_if = "Option::is_none")]
7277 pub stop_grace_period: Option<i64>,
7280 #[serde(rename = "StopSignal")]
7281 #[serde(skip_serializing_if = "Option::is_none")]
7282 pub stop_signal: Option<String>,
7284 #[serde(rename = "Sysctls")]
7285 #[serde(skip_serializing_if = "Option::is_none")]
7286 pub sysctls: Option<HashMap<String, String>>,
7294 #[serde(rename = "TTY")]
7295 #[serde(skip_serializing_if = "Option::is_none")]
7296 pub tty: Option<bool>,
7298 #[serde(rename = "Ulimits")]
7299 #[serde(skip_serializing_if = "Option::is_none")]
7300 pub ulimits: Option<Vec<TaskSpecContainerSpecInlineItemUlimitsInlineItem>>,
7302 #[serde(rename = "User")]
7303 #[serde(skip_serializing_if = "Option::is_none")]
7304 pub user: Option<String>,
7306}
7307
7308#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7309pub struct TaskSpecContainerSpecInlineItemConfigsInlineItem {
7310 #[serde(rename = "ConfigID")]
7311 #[serde(skip_serializing_if = "Option::is_none")]
7312 pub config_id: Option<String>,
7315 #[serde(rename = "ConfigName")]
7316 #[serde(skip_serializing_if = "Option::is_none")]
7317 pub config_name: Option<String>,
7321 #[serde(rename = "File")]
7322 #[serde(skip_serializing_if = "Option::is_none")]
7323 pub file: Option<TaskSpecContainerSpecInlineItemConfigsInlineItemFileInlineItem>,
7329 #[serde(rename = "Runtime")]
7330 #[serde(skip_serializing_if = "Option::is_none")]
7331 pub runtime: Option<Value>,
7339}
7340
7341#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7342pub struct TaskSpecContainerSpecInlineItemConfigsInlineItemFileInlineItem {
7348 #[serde(rename = "GID")]
7349 #[serde(skip_serializing_if = "Option::is_none")]
7350 pub gid: Option<String>,
7352 #[serde(rename = "Mode")]
7353 #[serde(skip_serializing_if = "Option::is_none")]
7354 pub mode: Option<u32>,
7356 #[serde(rename = "Name")]
7357 #[serde(skip_serializing_if = "Option::is_none")]
7358 pub name: Option<String>,
7360 #[serde(rename = "UID")]
7361 #[serde(skip_serializing_if = "Option::is_none")]
7362 pub uid: Option<String>,
7364}
7365
7366#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7367pub struct TaskSpecContainerSpecInlineItemDnsConfigInlineItem {
7370 #[serde(rename = "Nameservers")]
7371 #[serde(skip_serializing_if = "Option::is_none")]
7372 pub nameservers: Option<Vec<String>>,
7374 #[serde(rename = "Options")]
7375 #[serde(skip_serializing_if = "Option::is_none")]
7376 pub options: Option<Vec<String>>,
7379 #[serde(rename = "Search")]
7380 #[serde(skip_serializing_if = "Option::is_none")]
7381 pub search: Option<Vec<String>>,
7383}
7384
7385#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7386pub enum TaskSpecContainerSpecInlineItemIsolationInlineItem {
7389 #[serde(rename = "default")]
7390 Default,
7391 #[serde(rename = "process")]
7392 Process,
7393 #[serde(rename = "hyperv")]
7394 Hyperv,
7395}
7396
7397impl AsRef<str> for TaskSpecContainerSpecInlineItemIsolationInlineItem {
7398 fn as_ref(&self) -> &str {
7399 match self {
7400 TaskSpecContainerSpecInlineItemIsolationInlineItem::Default => "default",
7401 TaskSpecContainerSpecInlineItemIsolationInlineItem::Process => "process",
7402 TaskSpecContainerSpecInlineItemIsolationInlineItem::Hyperv => "hyperv",
7403 }
7404 }
7405}
7406
7407impl std::fmt::Display for TaskSpecContainerSpecInlineItemIsolationInlineItem {
7408 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
7409 write!(f, "{}", self.as_ref())
7410 }
7411}
7412
7413#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7414pub struct TaskSpecContainerSpecInlineItemPrivilegesInlineItem {
7416 #[serde(rename = "CredentialSpec")]
7417 #[serde(skip_serializing_if = "Option::is_none")]
7418 pub credential_spec:
7420 Option<TaskSpecContainerSpecInlineItemPrivilegesInlineItemCredentialSpecInlineItem>,
7421 #[serde(rename = "SELinuxContext")]
7422 #[serde(skip_serializing_if = "Option::is_none")]
7423 pub se_linux_context:
7425 Option<TaskSpecContainerSpecInlineItemPrivilegesInlineItemSeLinuxContextInlineItem>,
7426}
7427
7428#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7429pub struct TaskSpecContainerSpecInlineItemPrivilegesInlineItemCredentialSpecInlineItem {
7431 #[serde(rename = "Config")]
7432 #[serde(skip_serializing_if = "Option::is_none")]
7433 pub config: Option<String>,
7443 #[serde(rename = "File")]
7444 #[serde(skip_serializing_if = "Option::is_none")]
7445 pub file: Option<String>,
7458 #[serde(rename = "Registry")]
7459 #[serde(skip_serializing_if = "Option::is_none")]
7460 pub registry: Option<String>,
7471}
7472
7473#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7474pub struct TaskSpecContainerSpecInlineItemPrivilegesInlineItemSeLinuxContextInlineItem {
7476 #[serde(rename = "Disable")]
7477 #[serde(skip_serializing_if = "Option::is_none")]
7478 pub disable: Option<bool>,
7480 #[serde(rename = "Level")]
7481 #[serde(skip_serializing_if = "Option::is_none")]
7482 pub level: Option<String>,
7484 #[serde(rename = "Role")]
7485 #[serde(skip_serializing_if = "Option::is_none")]
7486 pub role: Option<String>,
7488 #[serde(rename = "Type")]
7489 #[serde(skip_serializing_if = "Option::is_none")]
7490 pub type_: Option<String>,
7492 #[serde(rename = "User")]
7493 #[serde(skip_serializing_if = "Option::is_none")]
7494 pub user: Option<String>,
7496}
7497
7498#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7499pub struct TaskSpecContainerSpecInlineItemSecretsInlineItem {
7500 #[serde(rename = "File")]
7501 #[serde(skip_serializing_if = "Option::is_none")]
7502 pub file: Option<TaskSpecContainerSpecInlineItemSecretsInlineItemFileInlineItem>,
7504 #[serde(rename = "SecretID")]
7505 #[serde(skip_serializing_if = "Option::is_none")]
7506 pub secret_id: Option<String>,
7509 #[serde(rename = "SecretName")]
7510 #[serde(skip_serializing_if = "Option::is_none")]
7511 pub secret_name: Option<String>,
7515}
7516
7517#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7518pub struct TaskSpecContainerSpecInlineItemSecretsInlineItemFileInlineItem {
7520 #[serde(rename = "GID")]
7521 #[serde(skip_serializing_if = "Option::is_none")]
7522 pub gid: Option<String>,
7524 #[serde(rename = "Mode")]
7525 #[serde(skip_serializing_if = "Option::is_none")]
7526 pub mode: Option<u32>,
7528 #[serde(rename = "Name")]
7529 #[serde(skip_serializing_if = "Option::is_none")]
7530 pub name: Option<String>,
7532 #[serde(rename = "UID")]
7533 #[serde(skip_serializing_if = "Option::is_none")]
7534 pub uid: Option<String>,
7536}
7537
7538#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7539pub struct TaskSpecContainerSpecInlineItemUlimitsInlineItem {
7540 #[serde(rename = "Hard")]
7541 #[serde(skip_serializing_if = "Option::is_none")]
7542 pub hard: Option<isize>,
7544 #[serde(rename = "Name")]
7545 #[serde(skip_serializing_if = "Option::is_none")]
7546 pub name: Option<String>,
7548 #[serde(rename = "Soft")]
7549 #[serde(skip_serializing_if = "Option::is_none")]
7550 pub soft: Option<isize>,
7552}
7553
7554#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7555pub struct TaskSpecLogDriverInlineItem {
7559 #[serde(rename = "Name")]
7560 #[serde(skip_serializing_if = "Option::is_none")]
7561 pub name: Option<String>,
7562 #[serde(rename = "Options")]
7563 #[serde(skip_serializing_if = "Option::is_none")]
7564 pub options: Option<HashMap<String, String>>,
7565}
7566
7567#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7568pub struct TaskSpecNetworkAttachmentSpecInlineItem {
7578 #[serde(rename = "ContainerID")]
7579 #[serde(skip_serializing_if = "Option::is_none")]
7580 pub container_id: Option<String>,
7582}
7583
7584#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7585pub struct TaskSpecPlacementInlineItem {
7586 #[serde(rename = "Constraints")]
7587 #[serde(skip_serializing_if = "Option::is_none")]
7588 pub constraints: Option<Vec<String>>,
7608 #[serde(rename = "MaxReplicas")]
7609 #[serde(skip_serializing_if = "Option::is_none")]
7610 pub max_replicas: Option<i64>,
7613 #[serde(rename = "Platforms")]
7614 #[serde(skip_serializing_if = "Option::is_none")]
7615 pub platforms: Option<Vec<Platform>>,
7620 #[serde(rename = "Preferences")]
7621 #[serde(skip_serializing_if = "Option::is_none")]
7622 pub preferences: Option<Vec<TaskSpecPlacementInlineItemPreferencesInlineItem>>,
7626}
7627
7628#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7629pub struct TaskSpecPlacementInlineItemPreferencesInlineItem {
7630 #[serde(rename = "Spread")]
7631 #[serde(skip_serializing_if = "Option::is_none")]
7632 pub spread: Option<TaskSpecPlacementInlineItemPreferencesInlineItemSpreadInlineItem>,
7633}
7634
7635#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7636pub struct TaskSpecPlacementInlineItemPreferencesInlineItemSpreadInlineItem {
7637 #[serde(rename = "SpreadDescriptor")]
7638 #[serde(skip_serializing_if = "Option::is_none")]
7639 pub spread_descriptor: Option<String>,
7641}
7642
7643#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7644pub struct TaskSpecPluginSpecInlineItem {
7653 #[serde(rename = "Disabled")]
7654 #[serde(skip_serializing_if = "Option::is_none")]
7655 pub disabled: Option<bool>,
7657 #[serde(rename = "Name")]
7658 #[serde(skip_serializing_if = "Option::is_none")]
7659 pub name: Option<String>,
7661 #[serde(rename = "PluginPrivilege")]
7662 #[serde(skip_serializing_if = "Option::is_none")]
7663 pub plugin_privilege: Option<Vec<PluginPrivilege>>,
7664 #[serde(rename = "Remote")]
7665 #[serde(skip_serializing_if = "Option::is_none")]
7666 pub remote: Option<String>,
7668}
7669
7670#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7671pub struct TaskSpecResourcesInlineItem {
7674 #[serde(rename = "Limits")]
7675 pub limits: Option<Limit>,
7676 #[serde(rename = "Reservations")]
7677 pub reservations: Option<ResourceObject>,
7678}
7679
7680#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7681pub struct TaskSpecRestartPolicyInlineItem {
7684 #[serde(rename = "Condition")]
7685 #[serde(skip_serializing_if = "Option::is_none")]
7686 pub condition: Option<String>,
7688 #[serde(rename = "Delay")]
7689 #[serde(skip_serializing_if = "Option::is_none")]
7690 pub delay: Option<i64>,
7692 #[serde(rename = "MaxAttempts")]
7693 #[serde(skip_serializing_if = "Option::is_none")]
7694 pub max_attempts: Option<i64>,
7697 #[serde(rename = "Window")]
7698 #[serde(skip_serializing_if = "Option::is_none")]
7699 pub window: Option<i64>,
7702}
7703
7704#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7705pub enum TaskSpecRestartPolicyInlineItemConditionInlineItem {
7707 #[serde(rename = "none")]
7708 None,
7709 #[serde(rename = "on-failure")]
7710 OnFailure,
7711 #[serde(rename = "any")]
7712 Any,
7713}
7714
7715impl AsRef<str> for TaskSpecRestartPolicyInlineItemConditionInlineItem {
7716 fn as_ref(&self) -> &str {
7717 match self {
7718 TaskSpecRestartPolicyInlineItemConditionInlineItem::None => "none",
7719 TaskSpecRestartPolicyInlineItemConditionInlineItem::OnFailure => "on-failure",
7720 TaskSpecRestartPolicyInlineItemConditionInlineItem::Any => "any",
7721 }
7722 }
7723}
7724
7725impl std::fmt::Display for TaskSpecRestartPolicyInlineItemConditionInlineItem {
7726 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
7727 write!(f, "{}", self.as_ref())
7728 }
7729}
7730
7731#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7732pub enum TaskState {
7733 #[serde(rename = "new")]
7734 New,
7735 #[serde(rename = "allocated")]
7736 Allocated,
7737 #[serde(rename = "pending")]
7738 Pending,
7739 #[serde(rename = "assigned")]
7740 Assigned,
7741 #[serde(rename = "accepted")]
7742 Accepted,
7743 #[serde(rename = "preparing")]
7744 Preparing,
7745 #[serde(rename = "ready")]
7746 Ready,
7747 #[serde(rename = "starting")]
7748 Starting,
7749 #[serde(rename = "running")]
7750 Running,
7751 #[serde(rename = "complete")]
7752 Complete,
7753 #[serde(rename = "shutdown")]
7754 Shutdown,
7755 #[serde(rename = "failed")]
7756 Failed,
7757 #[serde(rename = "rejected")]
7758 Rejected,
7759 #[serde(rename = "remove")]
7760 Remove,
7761 #[serde(rename = "orphaned")]
7762 Orphaned,
7763}
7764
7765impl AsRef<str> for TaskState {
7766 fn as_ref(&self) -> &str {
7767 match self {
7768 TaskState::New => "new",
7769 TaskState::Allocated => "allocated",
7770 TaskState::Pending => "pending",
7771 TaskState::Assigned => "assigned",
7772 TaskState::Accepted => "accepted",
7773 TaskState::Preparing => "preparing",
7774 TaskState::Ready => "ready",
7775 TaskState::Starting => "starting",
7776 TaskState::Running => "running",
7777 TaskState::Complete => "complete",
7778 TaskState::Shutdown => "shutdown",
7779 TaskState::Failed => "failed",
7780 TaskState::Rejected => "rejected",
7781 TaskState::Remove => "remove",
7782 TaskState::Orphaned => "orphaned",
7783 }
7784 }
7785}
7786
7787impl std::fmt::Display for TaskState {
7788 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
7789 write!(f, "{}", self.as_ref())
7790 }
7791}
7792
7793#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7794pub struct TaskStatusInlineItem {
7795 #[serde(rename = "ContainerStatus")]
7796 #[serde(skip_serializing_if = "Option::is_none")]
7797 pub container_status: Option<TaskStatusInlineItemContainerStatusInlineItem>,
7798 #[serde(rename = "Err")]
7799 #[serde(skip_serializing_if = "Option::is_none")]
7800 pub err: Option<String>,
7801 #[serde(rename = "Message")]
7802 #[serde(skip_serializing_if = "Option::is_none")]
7803 pub message: Option<String>,
7804 #[serde(rename = "State")]
7805 pub state: Option<String>,
7806 #[serde(rename = "Timestamp")]
7807 #[serde(skip_serializing_if = "Option::is_none")]
7808 pub timestamp: Option<DateTime<Utc>>,
7809}
7810
7811#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7812pub struct TaskStatusInlineItemContainerStatusInlineItem {
7813 #[serde(rename = "ContainerID")]
7814 #[serde(skip_serializing_if = "Option::is_none")]
7815 pub container_id: Option<String>,
7816 #[serde(rename = "ExitCode")]
7817 #[serde(skip_serializing_if = "Option::is_none")]
7818 pub exit_code: Option<isize>,
7819 #[serde(rename = "PID")]
7820 #[serde(skip_serializing_if = "Option::is_none")]
7821 pub pid: Option<isize>,
7822}
7823
7824#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7825pub struct ThrottleDevice {
7826 #[serde(rename = "Path")]
7827 #[serde(skip_serializing_if = "Option::is_none")]
7828 pub path: Option<String>,
7830 #[serde(rename = "Rate")]
7831 #[serde(skip_serializing_if = "Option::is_none")]
7832 pub rate: Option<i64>,
7834}
7835
7836pub type Topology = HashMap<String, String>;
7840
7841#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7842pub struct UsageData {
7845 #[serde(rename = "RefCount")]
7846 pub ref_count: i64,
7849 #[serde(rename = "Size")]
7850 pub size: i64,
7855}
7856
7857#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7858pub struct Volume {
7859 #[serde(rename = "ClusterVolume")]
7860 pub cluster_volume: Option<ClusterVolume>,
7861 #[serde(rename = "CreatedAt")]
7862 #[serde(skip_serializing_if = "Option::is_none")]
7863 pub created_at: Option<DateTime<Utc>>,
7865 #[serde(rename = "Driver")]
7866 pub driver: String,
7868 #[serde(rename = "Labels")]
7869 #[serde(default)]
7870 #[serde(deserialize_with = "deserialize_nonoptional_map")]
7871 pub labels: HashMap<String, String>,
7873 #[serde(rename = "Mountpoint")]
7874 pub mountpoint: String,
7876 #[serde(rename = "Name")]
7877 pub name: String,
7879 #[serde(rename = "Options")]
7880 #[serde(default)]
7881 #[serde(deserialize_with = "deserialize_nonoptional_map")]
7882 pub options: HashMap<String, String>,
7884 #[serde(rename = "Scope")]
7885 pub scope: String,
7888 #[serde(rename = "Status")]
7889 #[serde(skip_serializing_if = "Option::is_none")]
7890 pub status: Option<HashMap<String, Value>>,
7897 #[serde(rename = "UsageData")]
7898 #[serde(skip_serializing_if = "Option::is_none")]
7899 pub usage_data: Option<UsageData>,
7902}
7903
7904#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7905pub struct VolumeCreateOptions {
7907 #[serde(rename = "ClusterVolumeSpec")]
7908 pub cluster_volume_spec: Option<ClusterVolumeSpec>,
7909 #[serde(rename = "Driver")]
7910 #[serde(skip_serializing_if = "Option::is_none")]
7911 pub driver: Option<String>,
7913 #[serde(rename = "DriverOpts")]
7914 #[serde(skip_serializing_if = "Option::is_none")]
7915 pub driver_opts: Option<HashMap<String, String>>,
7918 #[serde(rename = "Labels")]
7919 #[serde(skip_serializing_if = "Option::is_none")]
7920 pub labels: Option<HashMap<String, String>>,
7922 #[serde(rename = "Name")]
7923 #[serde(skip_serializing_if = "Option::is_none")]
7924 pub name: Option<String>,
7926}
7927
7928#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7929pub struct VolumeListResponse {
7931 #[serde(rename = "Volumes")]
7932 #[serde(skip_serializing_if = "Option::is_none")]
7933 pub volumes: Option<Vec<Volume>>,
7935 #[serde(rename = "Warnings")]
7936 #[serde(skip_serializing_if = "Option::is_none")]
7937 pub warnings: Option<Vec<String>>,
7939}
7940
7941#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7942pub struct VolumePrune200Response {
7944 #[serde(rename = "SpaceReclaimed")]
7945 #[serde(skip_serializing_if = "Option::is_none")]
7946 pub space_reclaimed: Option<i64>,
7948 #[serde(rename = "VolumesDeleted")]
7949 #[serde(skip_serializing_if = "Option::is_none")]
7950 pub volumes_deleted: Option<Vec<String>>,
7952}
7953
7954#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7955pub enum VolumeScopeInlineItem {
7958 #[serde(rename = "local")]
7959 Local,
7960 #[serde(rename = "global")]
7961 Global,
7962}
7963
7964impl AsRef<str> for VolumeScopeInlineItem {
7965 fn as_ref(&self) -> &str {
7966 match self {
7967 VolumeScopeInlineItem::Local => "local",
7968 VolumeScopeInlineItem::Global => "global",
7969 }
7970 }
7971}
7972
7973impl std::fmt::Display for VolumeScopeInlineItem {
7974 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
7975 write!(f, "{}", self.as_ref())
7976 }
7977}
7978
7979#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
7980pub struct VolumeUpdateBodyParam {
7982 #[serde(rename = "Spec")]
7983 pub spec: Option<ClusterVolumeSpec>,
7984}
7985
7986pub type ConfigUpdateBodyParam = ConfigSpec;
7987
7988pub type ImageCommitContainerConfigParam = ContainerConfig;
7997
7998pub type NodeUpdateBodyParam = NodeSpec;
7999
8000pub type SecretUpdateBodyParam = SecretSpec;
8001
8002pub type SwarmUpdateBodyParam = SwarmSpec;
8004
8005pub type SystemAuthAuthConfigParam = AuthConfig;
8006
8007pub type VolumeCreateVolumeConfigParam = VolumeCreateOptions;