hanzo-client 8.5.156

Generated client for the Hanzo API — every service, one crate.
Documentation
/*
 * Hanzo Cloud API
 *
 * The Hanzo Cloud API as a customer calls it: every operation under /v1/ except the operator's admin product, relay routes, legacy spellings and capabilities still reached by flag. Tagged by product: the first path segment after /v1/.
 *
 * The version of the OpenAPI document: v1
 * 
 * Generated by: https://openapi-generator.tech
 */

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

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct LicensingPeriodDeviceSignals {
    #[serde(rename = "arch", skip_serializing_if = "Option::is_none")]
    pub arch: Option<String>,
    /// CPUID is a CPU/board identifier string.
    #[serde(rename = "cpuid", skip_serializing_if = "Option::is_none")]
    pub cpuid: Option<String>,
    /// DiskSerial of the boot/root volume.
    #[serde(rename = "disk_serial", skip_serializing_if = "Option::is_none")]
    pub disk_serial: Option<String>,
    /// Hostname is a weak signal, used only as a tiebreaker.
    #[serde(rename = "hostname", skip_serializing_if = "Option::is_none")]
    pub hostname: Option<String>,
    /// InstallID is a per-install random the agent persists locally on first run.
    #[serde(rename = "install_id", skip_serializing_if = "Option::is_none")]
    pub install_id: Option<String>,
    /// MachineID is a stable per-host id (e.g. /etc/machine-id, IOPlatformUUID, MachineGuid). Strongest single signal where present.
    #[serde(rename = "machine_id", skip_serializing_if = "Option::is_none")]
    pub machine_id: Option<String>,
    /// MAC addresses of stable interfaces (order-insensitive; we sort).
    #[serde(rename = "macs", skip_serializing_if = "Option::is_none")]
    pub macs: Option<Vec<String>>,
    /// OS / Arch coarse platform tags.
    #[serde(rename = "os", skip_serializing_if = "Option::is_none")]
    pub os: Option<String>,
}

impl LicensingPeriodDeviceSignals {
    pub fn new() -> LicensingPeriodDeviceSignals {
        LicensingPeriodDeviceSignals {
            arch: None,
            cpuid: None,
            disk_serial: None,
            hostname: None,
            install_id: None,
            machine_id: None,
            macs: None,
            os: None,
        }
    }
}