Skip to main content

incus_client/models/
server_environment.rs

1/*
2 * Incus external REST API
3 *
4 * This is the REST API used by all Incus clients. Internal endpoints aren't included in this documentation.  The Incus API is available over both a local unix+http and remote https API. Authentication for local users relies on group membership and access to the unix socket. For remote users, the default authentication method is TLS client certificates.
5 *
6 * The version of the OpenAPI document: 1.0
7 * Contact: lxc-devel@lists.linuxcontainers.org
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct ServerEnvironment {
16    /// List of addresses the server is listening on
17    #[serde(rename = "addresses", skip_serializing_if = "Option::is_none")]
18    pub addresses: Option<Vec<String>>,
19    /// List of architectures supported by the server
20    #[serde(rename = "architectures", skip_serializing_if = "Option::is_none")]
21    pub architectures: Option<Vec<String>>,
22    /// Server certificate as PEM encoded X509
23    #[serde(rename = "certificate", skip_serializing_if = "Option::is_none")]
24    pub certificate: Option<String>,
25    /// Server certificate fingerprint as SHA256
26    #[serde(rename = "certificate_fingerprint", skip_serializing_if = "Option::is_none")]
27    pub certificate_fingerprint: Option<String>,
28    /// List of supported instance drivers (separate by \" | \")
29    #[serde(rename = "driver", skip_serializing_if = "Option::is_none")]
30    pub driver: Option<String>,
31    /// List of supported instance driver versions (separate by \" | \")
32    #[serde(rename = "driver_version", skip_serializing_if = "Option::is_none")]
33    pub driver_version: Option<String>,
34    /// Current firewall driver
35    #[serde(rename = "firewall", skip_serializing_if = "Option::is_none")]
36    pub firewall: Option<String>,
37    /// OS kernel name
38    #[serde(rename = "kernel", skip_serializing_if = "Option::is_none")]
39    pub kernel: Option<String>,
40    /// OS kernel architecture
41    #[serde(rename = "kernel_architecture", skip_serializing_if = "Option::is_none")]
42    pub kernel_architecture: Option<String>,
43    /// Map of kernel features that were tested on startup
44    #[serde(rename = "kernel_features", skip_serializing_if = "Option::is_none")]
45    pub kernel_features: Option<std::collections::HashMap<String, String>>,
46    /// Kernel version
47    #[serde(rename = "kernel_version", skip_serializing_if = "Option::is_none")]
48    pub kernel_version: Option<String>,
49    /// Map of LXC features that were tested on startup
50    #[serde(rename = "lxc_features", skip_serializing_if = "Option::is_none")]
51    pub lxc_features: Option<std::collections::HashMap<String, String>>,
52    /// Name of the operating system (Linux distribution)
53    #[serde(rename = "os_name", skip_serializing_if = "Option::is_none")]
54    pub os_name: Option<String>,
55    /// Version of the operating system (Linux distribution)
56    #[serde(rename = "os_version", skip_serializing_if = "Option::is_none")]
57    pub os_version: Option<String>,
58    /// Current project name
59    #[serde(rename = "project", skip_serializing_if = "Option::is_none")]
60    pub project: Option<String>,
61    /// Server implementation name
62    #[serde(rename = "server", skip_serializing_if = "Option::is_none")]
63    pub server: Option<String>,
64    /// Whether the server is part of a cluster
65    #[serde(rename = "server_clustered", skip_serializing_if = "Option::is_none")]
66    pub server_clustered: Option<bool>,
67    /// Mode that the event distribution subsystem is operating in on this server. Either \"full-mesh\", \"hub-server\" or \"hub-client\".
68    #[serde(rename = "server_event_mode", skip_serializing_if = "Option::is_none")]
69    pub server_event_mode: Option<String>,
70    /// Server hostname
71    #[serde(rename = "server_name", skip_serializing_if = "Option::is_none")]
72    pub server_name: Option<String>,
73    /// PID of the daemon
74    #[serde(rename = "server_pid", skip_serializing_if = "Option::is_none")]
75    pub server_pid: Option<i64>,
76    /// Server version
77    #[serde(rename = "server_version", skip_serializing_if = "Option::is_none")]
78    pub server_version: Option<String>,
79    /// List of active storage drivers (separate by \" | \")
80    #[serde(rename = "storage", skip_serializing_if = "Option::is_none")]
81    pub storage: Option<String>,
82    /// List of supported storage drivers
83    #[serde(rename = "storage_supported_drivers", skip_serializing_if = "Option::is_none")]
84    pub storage_supported_drivers: Option<Vec<models::ServerStorageDriverInfo>>,
85    /// List of active storage driver versions (separate by \" | \")
86    #[serde(rename = "storage_version", skip_serializing_if = "Option::is_none")]
87    pub storage_version: Option<String>,
88}
89
90impl ServerEnvironment {
91    pub fn new() -> ServerEnvironment {
92        ServerEnvironment {
93            addresses: None,
94            architectures: None,
95            certificate: None,
96            certificate_fingerprint: None,
97            driver: None,
98            driver_version: None,
99            firewall: None,
100            kernel: None,
101            kernel_architecture: None,
102            kernel_features: None,
103            kernel_version: None,
104            lxc_features: None,
105            os_name: None,
106            os_version: None,
107            project: None,
108            server: None,
109            server_clustered: None,
110            server_event_mode: None,
111            server_name: None,
112            server_pid: None,
113            server_version: None,
114            storage: None,
115            storage_supported_drivers: None,
116            storage_version: None,
117        }
118    }
119}
120