/*
* 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 PlanVocab {
/// EngineFeatures are the inference-engine capabilities a license can grant: inference, embeddings, rerank, training, vision, audio, tools.
#[serde(rename = "engine_features", skip_serializing_if = "Option::is_none")]
pub engine_features: Option<Vec<String>>,
/// Keys maps every entitlement key to its descriptor — key, namespace, JSON type(s), nullability, unit, enum and title, as the schema declares them.
#[serde(rename = "keys", skip_serializing_if = "Option::is_none")]
pub keys: Option<std::collections::HashMap<String, serde_json::Value>>,
/// Namespaces are the entitlement key namespaces: the prefix before the dot in \"ai.tokens_per_min\".
#[serde(rename = "namespaces", skip_serializing_if = "Option::is_none")]
pub namespaces: Option<Vec<String>>,
}
impl PlanVocab {
pub fn new() -> PlanVocab {
PlanVocab {
engine_features: None,
keys: None,
namespaces: None,
}
}
}