orvanta_api/models/
get_entitlements_200_response.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct GetEntitlements200Response {
16 #[serde(rename = "tier")]
17 pub tier: Tier,
18 #[serde(rename = "edition")]
19 pub edition: Edition,
20 #[serde(rename = "expires_at", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
21 pub expires_at: Option<Option<String>>,
22 #[serde(rename = "limits", skip_serializing_if = "Option::is_none")]
23 pub limits: Option<serde_json::Value>,
24}
25
26impl GetEntitlements200Response {
27 pub fn new(tier: Tier, edition: Edition) -> GetEntitlements200Response {
28 GetEntitlements200Response {
29 tier,
30 edition,
31 expires_at: None,
32 limits: None,
33 }
34 }
35}
36#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
38pub enum Tier {
39 #[serde(rename = "trial")]
40 Trial,
41 #[serde(rename = "solo")]
42 Solo,
43 #[serde(rename = "teams")]
44 Teams,
45 #[serde(rename = "business")]
46 Business,
47 #[serde(rename = "enterprise")]
48 Enterprise,
49}
50
51impl Default for Tier {
52 fn default() -> Tier {
53 Self::Trial
54 }
55}
56#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
58pub enum Edition {
59 #[serde(rename = "ote")]
60 Ote,
61 #[serde(rename = "oee")]
62 Oee,
63}
64
65impl Default for Edition {
66 fn default() -> Edition {
67 Self::Ote
68 }
69}
70