use serde::{Deserialize, Serialize};
use crate::models;
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct PlanResponseModel {
#[serde(
rename = "object",
alias = "Object",
skip_serializing_if = "Option::is_none"
)]
pub object: Option<String>,
#[serde(
rename = "type",
alias = "R#type",
skip_serializing_if = "Option::is_none"
)]
pub r#type: Option<models::PlanType>,
#[serde(
rename = "productTier",
alias = "ProductTier",
skip_serializing_if = "Option::is_none"
)]
pub product_tier: Option<models::ProductTierType>,
#[serde(
rename = "name",
alias = "Name",
skip_serializing_if = "Option::is_none"
)]
pub name: Option<String>,
#[serde(
rename = "isAnnual",
alias = "IsAnnual",
skip_serializing_if = "Option::is_none"
)]
pub is_annual: Option<bool>,
#[serde(
rename = "nameLocalizationKey",
alias = "NameLocalizationKey",
skip_serializing_if = "Option::is_none"
)]
pub name_localization_key: Option<String>,
#[serde(
rename = "descriptionLocalizationKey",
alias = "DescriptionLocalizationKey",
skip_serializing_if = "Option::is_none"
)]
pub description_localization_key: Option<String>,
#[serde(
rename = "canBeUsedByBusiness",
alias = "CanBeUsedByBusiness",
skip_serializing_if = "Option::is_none"
)]
pub can_be_used_by_business: Option<bool>,
#[serde(
rename = "trialPeriodDays",
alias = "TrialPeriodDays",
skip_serializing_if = "Option::is_none"
)]
pub trial_period_days: Option<i32>,
#[serde(
rename = "hasSelfHost",
alias = "HasSelfHost",
skip_serializing_if = "Option::is_none"
)]
pub has_self_host: Option<bool>,
#[serde(
rename = "hasPolicies",
alias = "HasPolicies",
skip_serializing_if = "Option::is_none"
)]
pub has_policies: Option<bool>,
#[serde(
rename = "hasGroups",
alias = "HasGroups",
skip_serializing_if = "Option::is_none"
)]
pub has_groups: Option<bool>,
#[serde(
rename = "hasDirectory",
alias = "HasDirectory",
skip_serializing_if = "Option::is_none"
)]
pub has_directory: Option<bool>,
#[serde(
rename = "hasEvents",
alias = "HasEvents",
skip_serializing_if = "Option::is_none"
)]
pub has_events: Option<bool>,
#[serde(
rename = "hasTotp",
alias = "HasTotp",
skip_serializing_if = "Option::is_none"
)]
pub has_totp: Option<bool>,
#[serde(
rename = "has2fa",
alias = "Has2fa",
skip_serializing_if = "Option::is_none"
)]
pub has2fa: Option<bool>,
#[serde(
rename = "hasApi",
alias = "HasApi",
skip_serializing_if = "Option::is_none"
)]
pub has_api: Option<bool>,
#[serde(
rename = "hasSso",
alias = "HasSso",
skip_serializing_if = "Option::is_none"
)]
pub has_sso: Option<bool>,
#[serde(
rename = "hasOrganizationDomains",
alias = "HasOrganizationDomains",
skip_serializing_if = "Option::is_none"
)]
pub has_organization_domains: Option<bool>,
#[serde(
rename = "hasResetPassword",
alias = "HasResetPassword",
skip_serializing_if = "Option::is_none"
)]
pub has_reset_password: Option<bool>,
#[serde(
rename = "usersGetPremium",
alias = "UsersGetPremium",
skip_serializing_if = "Option::is_none"
)]
pub users_get_premium: Option<bool>,
#[serde(
rename = "hasMyItems",
alias = "HasMyItems",
skip_serializing_if = "Option::is_none"
)]
pub has_my_items: Option<bool>,
#[serde(
rename = "hasInviteLinks",
alias = "HasInviteLinks",
skip_serializing_if = "Option::is_none"
)]
pub has_invite_links: Option<bool>,
#[serde(
rename = "upgradeSortOrder",
alias = "UpgradeSortOrder",
skip_serializing_if = "Option::is_none"
)]
pub upgrade_sort_order: Option<i32>,
#[serde(
rename = "displaySortOrder",
alias = "DisplaySortOrder",
skip_serializing_if = "Option::is_none"
)]
pub display_sort_order: Option<i32>,
#[serde(
rename = "legacyYear",
alias = "LegacyYear",
skip_serializing_if = "Option::is_none"
)]
pub legacy_year: Option<i32>,
#[serde(
rename = "disabled",
alias = "Disabled",
skip_serializing_if = "Option::is_none"
)]
pub disabled: Option<bool>,
#[serde(
rename = "secretsManager",
alias = "SecretsManager",
skip_serializing_if = "Option::is_none"
)]
pub secrets_manager: Option<Box<models::SecretsManagerPlanFeaturesResponseModel>>,
#[serde(
rename = "passwordManager",
alias = "PasswordManager",
skip_serializing_if = "Option::is_none"
)]
pub password_manager: Option<Box<models::PasswordManagerPlanFeaturesResponseModel>>,
}
impl PlanResponseModel {
pub fn new() -> PlanResponseModel {
PlanResponseModel {
object: None,
r#type: None,
product_tier: None,
name: None,
is_annual: None,
name_localization_key: None,
description_localization_key: None,
can_be_used_by_business: None,
trial_period_days: None,
has_self_host: None,
has_policies: None,
has_groups: None,
has_directory: None,
has_events: None,
has_totp: None,
has2fa: None,
has_api: None,
has_sso: None,
has_organization_domains: None,
has_reset_password: None,
users_get_premium: None,
has_my_items: None,
has_invite_links: None,
upgrade_sort_order: None,
display_sort_order: None,
legacy_year: None,
disabled: None,
secrets_manager: None,
password_manager: None,
}
}
}