incus-client 0.1.1

Auto-generated Rust client for the Incus container and VM manager REST API
Documentation
/*
 * Incus external REST API
 *
 * 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.
 *
 * The version of the OpenAPI document: 1.0
 * Contact: lxc-devel@lists.linuxcontainers.org
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ServerEnvironment {
    /// List of addresses the server is listening on
    #[serde(rename = "addresses", skip_serializing_if = "Option::is_none")]
    pub addresses: Option<Vec<String>>,
    /// List of architectures supported by the server
    #[serde(rename = "architectures", skip_serializing_if = "Option::is_none")]
    pub architectures: Option<Vec<String>>,
    /// Server certificate as PEM encoded X509
    #[serde(rename = "certificate", skip_serializing_if = "Option::is_none")]
    pub certificate: Option<String>,
    /// Server certificate fingerprint as SHA256
    #[serde(rename = "certificate_fingerprint", skip_serializing_if = "Option::is_none")]
    pub certificate_fingerprint: Option<String>,
    /// List of supported instance drivers (separate by \" | \")
    #[serde(rename = "driver", skip_serializing_if = "Option::is_none")]
    pub driver: Option<String>,
    /// List of supported instance driver versions (separate by \" | \")
    #[serde(rename = "driver_version", skip_serializing_if = "Option::is_none")]
    pub driver_version: Option<String>,
    /// Current firewall driver
    #[serde(rename = "firewall", skip_serializing_if = "Option::is_none")]
    pub firewall: Option<String>,
    /// OS kernel name
    #[serde(rename = "kernel", skip_serializing_if = "Option::is_none")]
    pub kernel: Option<String>,
    /// OS kernel architecture
    #[serde(rename = "kernel_architecture", skip_serializing_if = "Option::is_none")]
    pub kernel_architecture: Option<String>,
    /// Map of kernel features that were tested on startup
    #[serde(rename = "kernel_features", skip_serializing_if = "Option::is_none")]
    pub kernel_features: Option<std::collections::HashMap<String, String>>,
    /// Kernel version
    #[serde(rename = "kernel_version", skip_serializing_if = "Option::is_none")]
    pub kernel_version: Option<String>,
    /// Map of LXC features that were tested on startup
    #[serde(rename = "lxc_features", skip_serializing_if = "Option::is_none")]
    pub lxc_features: Option<std::collections::HashMap<String, String>>,
    /// Name of the operating system (Linux distribution)
    #[serde(rename = "os_name", skip_serializing_if = "Option::is_none")]
    pub os_name: Option<String>,
    /// Version of the operating system (Linux distribution)
    #[serde(rename = "os_version", skip_serializing_if = "Option::is_none")]
    pub os_version: Option<String>,
    /// Current project name
    #[serde(rename = "project", skip_serializing_if = "Option::is_none")]
    pub project: Option<String>,
    /// Server implementation name
    #[serde(rename = "server", skip_serializing_if = "Option::is_none")]
    pub server: Option<String>,
    /// Whether the server is part of a cluster
    #[serde(rename = "server_clustered", skip_serializing_if = "Option::is_none")]
    pub server_clustered: Option<bool>,
    /// Mode that the event distribution subsystem is operating in on this server. Either \"full-mesh\", \"hub-server\" or \"hub-client\".
    #[serde(rename = "server_event_mode", skip_serializing_if = "Option::is_none")]
    pub server_event_mode: Option<String>,
    /// Server hostname
    #[serde(rename = "server_name", skip_serializing_if = "Option::is_none")]
    pub server_name: Option<String>,
    /// PID of the daemon
    #[serde(rename = "server_pid", skip_serializing_if = "Option::is_none")]
    pub server_pid: Option<i64>,
    /// Server version
    #[serde(rename = "server_version", skip_serializing_if = "Option::is_none")]
    pub server_version: Option<String>,
    /// List of active storage drivers (separate by \" | \")
    #[serde(rename = "storage", skip_serializing_if = "Option::is_none")]
    pub storage: Option<String>,
    /// List of supported storage drivers
    #[serde(rename = "storage_supported_drivers", skip_serializing_if = "Option::is_none")]
    pub storage_supported_drivers: Option<Vec<models::ServerStorageDriverInfo>>,
    /// List of active storage driver versions (separate by \" | \")
    #[serde(rename = "storage_version", skip_serializing_if = "Option::is_none")]
    pub storage_version: Option<String>,
}

impl ServerEnvironment {
    pub fn new() -> ServerEnvironment {
        ServerEnvironment {
            addresses: None,
            architectures: None,
            certificate: None,
            certificate_fingerprint: None,
            driver: None,
            driver_version: None,
            firewall: None,
            kernel: None,
            kernel_architecture: None,
            kernel_features: None,
            kernel_version: None,
            lxc_features: None,
            os_name: None,
            os_version: None,
            project: None,
            server: None,
            server_clustered: None,
            server_event_mode: None,
            server_name: None,
            server_pid: None,
            server_version: None,
            storage: None,
            storage_supported_drivers: None,
            storage_version: None,
        }
    }
}