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 Centre {
    /// Controls is the control inventory, each entry naming what it asserts, the mechanism, where it is enforced, how it is verified and the clauses it maps to.
    #[serde(rename = "controls", skip_serializing_if = "Option::is_none")]
    pub controls: Option<Vec<serde_json::Value>>,
    /// Coverage is the per-framework counts, computed from Controls against each framework's whole published clause list.
    #[serde(rename = "coverage", skip_serializing_if = "Option::is_none")]
    pub coverage: Option<Vec<models::CoverRow>>,
    /// Documents are the artifacts, each saying whether this reader may read it.
    #[serde(rename = "documents", skip_serializing_if = "Option::is_none")]
    pub documents: Option<Vec<models::DocRow>>,
    /// Faq is the knowledge base — the questions a reviewer asks, answered.
    #[serde(rename = "faq", skip_serializing_if = "Option::is_none")]
    pub faq: Option<Vec<serde_json::Value>>,
    /// Frameworks are the clause universes the coverage is computed against.
    #[serde(rename = "frameworks", skip_serializing_if = "Option::is_none")]
    pub frameworks: Option<Vec<models::FrameworkRow>>,
    /// Generated is when this answer was computed, unix milliseconds.
    #[serde(rename = "generated", skip_serializing_if = "Option::is_none")]
    pub generated: Option<i32>,
    /// Inventory is how the controls themselves stand, independent of framework.
    #[serde(rename = "inventory", skip_serializing_if = "Option::is_none")]
    pub inventory: Option<Box<models::TrustTally>>,
    /// Org is whose centre this is.
    #[serde(rename = "org", skip_serializing_if = "Option::is_none")]
    pub org: Option<String>,
    /// Policies are the published policies.
    #[serde(rename = "policies", skip_serializing_if = "Option::is_none")]
    pub policies: Option<Vec<serde_json::Value>>,
    #[serde(rename = "profile", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub profile: Option<Option<serde_json::Value>>,
    #[serde(rename = "risk", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub risk: Option<Option<serde_json::Value>>,
    /// Subprocessors are the third parties this organization sends data to.
    #[serde(rename = "subprocessors", skip_serializing_if = "Option::is_none")]
    pub subprocessors: Option<Vec<serde_json::Value>>,
    /// Updates is the changelog, newest as the organization ordered it.
    #[serde(rename = "updates", skip_serializing_if = "Option::is_none")]
    pub updates: Option<Vec<serde_json::Value>>,
    /// Version is the embedded inventory's version.
    #[serde(rename = "version", skip_serializing_if = "Option::is_none")]
    pub version: Option<String>,
}

impl Centre {
    pub fn new() -> Centre {
        Centre {
            controls: None,
            coverage: None,
            documents: None,
            faq: None,
            frameworks: None,
            generated: None,
            inventory: None,
            org: None,
            policies: None,
            profile: None,
            risk: None,
            subprocessors: None,
            updates: None,
            version: None,
        }
    }
}