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 = "teams")]
42 Teams,
43 #[serde(rename = "enterprise")]
44 Enterprise,
45}
46
47impl Default for Tier {
48 fn default() -> Tier {
49 Self::Trial
50 }
51}
52#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
54pub enum Edition {
55 #[serde(rename = "ote")]
56 Ote,
57 #[serde(rename = "oee")]
58 Oee,
59}
60
61impl Default for Edition {
62 fn default() -> Edition {
63 Self::Ote
64 }
65}
66