use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct GetEntitlements200Response {
#[serde(rename = "tier", skip_serializing_if = "Option::is_none")]
pub tier: Option<Tier>,
#[serde(rename = "expires_at", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub expires_at: Option<Option<String>>,
#[serde(rename = "limits", skip_serializing_if = "Option::is_none")]
pub limits: Option<serde_json::Value>,
#[serde(rename = "licence_mode", skip_serializing_if = "Option::is_none")]
pub licence_mode: Option<models::LicenceMode>,
#[serde(rename = "scope", skip_serializing_if = "Option::is_none")]
pub scope: Option<Scope>,
}
impl GetEntitlements200Response {
pub fn new() -> GetEntitlements200Response {
GetEntitlements200Response {
tier: None,
expires_at: None,
limits: None,
licence_mode: None,
scope: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Tier {
#[serde(rename = "trial")]
Trial,
#[serde(rename = "solo")]
Solo,
#[serde(rename = "teams")]
Teams,
#[serde(rename = "business")]
Business,
#[serde(rename = "enterprise")]
Enterprise,
}
impl Default for Tier {
fn default() -> Tier {
Self::Trial
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Scope {
#[serde(rename = "instance")]
Instance,
#[serde(rename = "workspace")]
Workspace,
}
impl Default for Scope {
fn default() -> Scope {
Self::Instance
}
}