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 EnrollReq {
    /// Account is the provider-side account identifier.
    #[serde(rename = "account", skip_serializing_if = "Option::is_none")]
    pub account: Option<String>,
    /// Host is the machine's human hostname label.
    #[serde(rename = "host", skip_serializing_if = "Option::is_none")]
    pub host: Option<String>,
    /// Kind decides how the account's inference BILLS and defaults to subscription: a subscription account bills the user's own monthly plan and is metered here for visibility only, while an apikey account bills through commerce on the gateway path.
    #[serde(rename = "kind", skip_serializing_if = "Option::is_none")]
    pub kind: Option<String>,
    /// Machine is the stable machine identifier. Required, length-bounded.
    #[serde(rename = "machine", skip_serializing_if = "Option::is_none")]
    pub machine: Option<String>,
    /// OS is the machine's operating system label.
    #[serde(rename = "os", skip_serializing_if = "Option::is_none")]
    pub os: Option<String>,
    /// Plan is the provider plan label (e.g. \"Claude Max\").
    #[serde(rename = "plan", skip_serializing_if = "Option::is_none")]
    pub plan: Option<String>,
    /// Provider is the AI provider the account belongs to. Required, length-bounded.
    #[serde(rename = "provider", skip_serializing_if = "Option::is_none")]
    pub provider: Option<String>,
    #[serde(rename = "usage", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub usage: Option<Option<serde_json::Value>>,
}

impl EnrollReq {
    pub fn new() -> EnrollReq {
        EnrollReq {
            account: None,
            host: None,
            kind: None,
            machine: None,
            os: None,
            plan: None,
            provider: None,
            usage: None,
        }
    }
}