1#[derive(Serialize, Deserialize, Debug)]
2#[allow(non_snake_case)]
3pub struct SystemInfo {
4 pub Containers: u64,
5 pub Images: u64,
6 pub Driver: String,
7 pub DriverStatus: Vec<(String, String)>,
8 pub ExecutionDriver: String,
9 pub KernelVersion: String,
10 pub NCPU: u64,
11 pub MemTotal: u64,
12 pub Name: String,
13 pub ID: String,
14 pub Debug: u64, pub NFd: u64,
16 pub NGoroutines: u64,
17 pub NEventsListener: u64,
18 pub InitPath: String,
19 pub InitSha1: String,
20 pub IndexServerAddress: String,
21 pub MemoryLimit: u64, pub SwapLimit: u64, pub IPv4Forwarding: u64, pub Labels: Option<Vec<String>>,
25 pub DockerRootDir: String,
26 pub OperatingSystem: String,
27}
28
29impl Clone for SystemInfo {
30 fn clone(&self) -> Self {
31 SystemInfo {
32 Containers: self.Containers,
33 Images: self.Images,
34 Driver: self.Driver.clone(),
35 DriverStatus: self.DriverStatus.clone(),
36 ExecutionDriver: self.ExecutionDriver.clone(),
37 KernelVersion: self.KernelVersion.clone(),
38 NCPU: self.NCPU,
39 MemTotal: self.MemTotal,
40 Name: self.Name.clone(),
41 ID: self.ID.clone(),
42 Debug: self.Debug,
43 NFd: self.NFd,
44 NGoroutines: self.NGoroutines,
45 NEventsListener: self.NEventsListener,
46 InitPath: self.InitPath.clone(),
47 InitSha1: self.InitSha1.clone(),
48 IndexServerAddress: self.IndexServerAddress.clone(),
49 MemoryLimit: self.MemoryLimit,
50 SwapLimit: self.SwapLimit,
51 IPv4Forwarding: self.IPv4Forwarding,
52 Labels: self.Labels.clone(),
53 DockerRootDir: self.DockerRootDir.clone(),
54 OperatingSystem: self.OperatingSystem.clone(),
55 }
56 }
57}