docker_sync/
system.rs

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, // bool
15    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,    // bool
22    pub SwapLimit: u64,      // bool
23    pub IPv4Forwarding: u64, // bool
24    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}