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 ReferenceSource {
    /// AsOf is when this publisher was current, RFC 3339.
    #[serde(rename = "asOf", skip_serializing_if = "Option::is_none")]
    pub as_of: Option<String>,
    /// Basis is the KIND of permission this publisher's data reaches you under: licence (an explicit grant), registry (the registry of record publishing for anyone to consult), operator (an operator's own machine-readable statement about its own network, published for third parties to filter by — not a licence, and not claimed as one), own (computed here), or none (nothing reaches you: the membership is held by the component that screens against it). It is on the wire so the licence position is an audit you can run.
    #[serde(rename = "basis", skip_serializing_if = "Option::is_none")]
    pub basis: Option<String>,
    /// Keys is how many members this publisher contributed.
    #[serde(rename = "keys", skip_serializing_if = "Option::is_none")]
    pub keys: Option<i32>,
    /// Origin is exactly where it was taken from, so it can be taken again.
    #[serde(rename = "origin", skip_serializing_if = "Option::is_none")]
    pub origin: Option<String>,
    /// Refusal is why this publisher's last take failed, if it did. The set keeps its previous version of this source and ages out visibly rather than silently shrinking.
    #[serde(rename = "refusal", skip_serializing_if = "Option::is_none")]
    pub refusal: Option<String>,
    /// Source is the publisher.
    #[serde(rename = "source", skip_serializing_if = "Option::is_none")]
    pub source: Option<String>,
    /// Terms is the CITATION that basis points at — the licence identifier, the registry, or the operator publication. A source with no stated terms is not in the catalog.
    #[serde(rename = "terms", skip_serializing_if = "Option::is_none")]
    pub terms: Option<String>,
    /// Version is the content digest of what this publisher last supplied. Two refreshes that agree on it took the same data.
    #[serde(rename = "version", skip_serializing_if = "Option::is_none")]
    pub version: Option<String>,
}

impl ReferenceSource {
    pub fn new() -> ReferenceSource {
        ReferenceSource {
            as_of: None,
            basis: None,
            keys: None,
            origin: None,
            refusal: None,
            source: None,
            terms: None,
            version: None,
        }
    }
}