use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct FeatureCatalogResponseFeaturesInner {
#[serde(rename = "key")]
pub key: String,
#[serde(rename = "label")]
pub label: String,
#[serde(rename = "group")]
pub group: String,
#[serde(rename = "built")]
pub built: bool,
#[serde(rename = "min_tier")]
pub min_tier: MinTier,
#[serde(rename = "entitled")]
pub entitled: bool,
#[serde(rename = "available")]
pub available: bool,
}
impl FeatureCatalogResponseFeaturesInner {
pub fn new(key: String, label: String, group: String, built: bool, min_tier: MinTier, entitled: bool, available: bool) -> FeatureCatalogResponseFeaturesInner {
FeatureCatalogResponseFeaturesInner {
key,
label,
group,
built,
min_tier,
entitled,
available,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum MinTier {
#[serde(rename = "trial")]
Trial,
#[serde(rename = "solo")]
Solo,
#[serde(rename = "teams")]
Teams,
#[serde(rename = "business")]
Business,
#[serde(rename = "enterprise")]
Enterprise,
}
impl Default for MinTier {
fn default() -> MinTier {
Self::Trial
}
}