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 RiskResolveOut {
    /// Horizon is the maturity horizon this answer was computed under, IN DAYS — the caller's, or 120 when it stated none. Each event's as-of is its own `at` plus this many days, and that as-of is what decides which assertions were visible to it; an event whose as-of falls after Now is not resolved at all and is counted in Unmatured instead.
    #[serde(rename = "horizon", skip_serializing_if = "Option::is_none")]
    pub horizon: Option<i32>,
    /// Labels is one entry per named event that BOTH matured and had at least one assertion knowable by its own as-of, in the order the events were named. The three outcomes partition the ask: len(labels) + Unmatured + Unlabelled is the number of DISTINCT events named, an event named twice having been answered once.
    #[serde(rename = "labels", skip_serializing_if = "Option::is_none")]
    pub labels: Option<Vec<models::RiskResolved>>,
    /// Now and Horizon echo the observation this answer was computed under. A resolved label without them is a claim nobody can check.
    #[serde(rename = "now", skip_serializing_if = "Option::is_none")]
    pub now: Option<String>,
    /// Unlabelled is how many matured events had no assertion knowable by their own as-of. That is the ordinary state of most traffic and it is reported rather than answered as unproductive: manufacturing negatives is how a fraud model comes to describe the incumbent block list.
    #[serde(rename = "unlabelled", skip_serializing_if = "Option::is_none")]
    pub unlabelled: Option<i32>,
    /// Unmatured is how many named events had not aged past the horizon. They are not unlabelled — they are not yet ASKABLE, and a supervised training set must exclude them rather than treat them as negatives.
    #[serde(rename = "unmatured", skip_serializing_if = "Option::is_none")]
    pub unmatured: Option<i32>,
}

impl RiskResolveOut {
    pub fn new() -> RiskResolveOut {
        RiskResolveOut {
            horizon: None,
            labels: None,
            now: None,
            unlabelled: None,
            unmatured: None,
        }
    }
}