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 Top {
    /// End is the window's exclusive upper bound, RFC3339 UTC.
    #[serde(rename = "end", skip_serializing_if = "Option::is_none")]
    pub end: Option<String>,
    /// Models ranks the window's LLM models by spend — real per-org data.
    #[serde(rename = "models", skip_serializing_if = "Option::is_none")]
    pub models: Option<Box<models::TopModels>>,
    /// Products ranks the window's products by revenue.
    #[serde(rename = "products", skip_serializing_if = "Option::is_none")]
    pub products: Option<Box<models::TopProducts>>,
    /// Range is the window that was actually applied: 24h, 7d, 30d or custom.
    #[serde(rename = "range", skip_serializing_if = "Option::is_none")]
    pub range: Option<String>,
    /// Scope names the tenant these rankings belong to.
    #[serde(rename = "scope", skip_serializing_if = "Option::is_none")]
    pub scope: Option<Box<models::Scope>>,
    /// Start is the window's inclusive lower bound, RFC3339 UTC.
    #[serde(rename = "start", skip_serializing_if = "Option::is_none")]
    pub start: Option<String>,
    /// Pages ranks the paths visitors requested, by pageviews.
    #[serde(rename = "topPages", skip_serializing_if = "Option::is_none")]
    pub top_pages: Option<Box<models::Breakdown>>,
    /// Referrers ranks the external domains visitors arrived from, by pageviews.
    #[serde(rename = "topReferrers", skip_serializing_if = "Option::is_none")]
    pub top_referrers: Option<Box<models::Breakdown>>,
    /// Sources ranks the utm_source campaigns visitors arrived on, by pageviews.
    #[serde(rename = "topSources", skip_serializing_if = "Option::is_none")]
    pub top_sources: Option<Box<models::Breakdown>>,
}

impl Top {
    pub fn new() -> Top {
        Top {
            end: None,
            models: None,
            products: None,
            range: None,
            scope: None,
            start: None,
            top_pages: None,
            top_referrers: None,
            top_sources: None,
        }
    }
}