Skip to main content

hanzo_client/models/
plan_resolution.rs

1/*
2 * Hanzo Cloud API
3 *
4 * 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/.
5 *
6 * The version of the OpenAPI document: v1
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct PlanResolution {
16    #[serde(rename = "entitlements", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
17    pub entitlements: Option<Option<serde_json::Value>>,
18    /// ID is the plan's catalog id.
19    #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
20    pub id: Option<String>,
21    /// LicenseFeatures is the flat, sorted feature list a signed license carries, derived from the entitlements — \"ai.premium\", \"licensing.product:team\".
22    #[serde(rename = "license_features", skip_serializing_if = "Option::is_none")]
23    pub license_features: Option<Vec<String>>,
24    #[serde(rename = "price_ref", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
25    pub price_ref: Option<Option<serde_json::Value>>,
26    /// TenantID is the catalog the record came from: \"hanzo\" for the canonical catalog, a reseller org for that reseller's override.
27    #[serde(rename = "tenant_id", skip_serializing_if = "Option::is_none")]
28    pub tenant_id: Option<String>,
29}
30
31impl PlanResolution {
32    pub fn new() -> PlanResolution {
33        PlanResolution {
34            entitlements: None,
35            id: None,
36            license_features: None,
37            price_ref: None,
38            tenant_id: None,
39        }
40    }
41}
42