/*
* 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 RiskLabelVocabulary {
/// Dispositions is the closed set a write's `disposition` must be drawn from, published in full so a caller can validate a batch before filing it instead of discovering a refusal per member: \"productive\", \"unproductive\", and \"\" — the EMPTY STRING is a member and means an explicit unjudged, so a client that filters empties out of this list drops a third of the vocabulary and can never file \"we looked and could not say\". They are the AML engine's own spelling, verbatim, which is what lets a replay there report against these values.
#[serde(rename = "dispositions", skip_serializing_if = "Option::is_none")]
pub dispositions: Option<Vec<String>>,
/// Kinds, Dispositions and Sources are the closed vocabularies. A value outside them is refused at the endpoint.
#[serde(rename = "kinds", skip_serializing_if = "Option::is_none")]
pub kinds: Option<Vec<String>>,
/// Precedence is the sources in the order that resolves a conflict, strongest first. It is DERIVED from the same declaration the resolver reads, so the published order is the enforced order and cannot drift from it.
#[serde(rename = "precedence", skip_serializing_if = "Option::is_none")]
pub precedence: Option<Vec<String>>,
/// Retention is the platform floor in days: no tenant may dispose of a label younger than this, because a label can be the input to an adverse action.
#[serde(rename = "retention", skip_serializing_if = "Option::is_none")]
pub retention: Option<i32>,
/// Rule states the tie-breaks below rank, in order, so a caller reading a contested resolution can reproduce it.
#[serde(rename = "rule", skip_serializing_if = "Option::is_none")]
pub rule: Option<Vec<String>>,
}
impl RiskLabelVocabulary {
pub fn new() -> RiskLabelVocabulary {
RiskLabelVocabulary {
dispositions: None,
kinds: None,
precedence: None,
retention: None,
rule: None,
}
}
}