bitwarden_api_api/models/
organization_no_payment_create_request.rs

1/*
2 * Bitwarden Internal API
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: latest
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use serde::{Deserialize, Serialize};
12
13use crate::models;
14
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct OrganizationNoPaymentCreateRequest {
17    #[serde(rename = "name")]
18    pub name: String,
19    #[serde(rename = "businessName", skip_serializing_if = "Option::is_none")]
20    pub business_name: Option<String>,
21    #[serde(rename = "billingEmail")]
22    pub billing_email: String,
23    #[serde(rename = "planType", skip_serializing_if = "Option::is_none")]
24    pub plan_type: Option<models::PlanType>,
25    #[serde(rename = "key")]
26    pub key: String,
27    #[serde(rename = "keys", skip_serializing_if = "Option::is_none")]
28    pub keys: Option<Box<models::OrganizationKeysRequestModel>>,
29    #[serde(rename = "paymentMethodType", skip_serializing_if = "Option::is_none")]
30    pub payment_method_type: Option<models::PaymentMethodType>,
31    #[serde(rename = "paymentToken", skip_serializing_if = "Option::is_none")]
32    pub payment_token: Option<String>,
33    #[serde(rename = "additionalSeats", skip_serializing_if = "Option::is_none")]
34    pub additional_seats: Option<i32>,
35    #[serde(
36        rename = "additionalStorageGb",
37        skip_serializing_if = "Option::is_none"
38    )]
39    pub additional_storage_gb: Option<i32>,
40    #[serde(rename = "premiumAccessAddon", skip_serializing_if = "Option::is_none")]
41    pub premium_access_addon: Option<bool>,
42    #[serde(rename = "collectionName", skip_serializing_if = "Option::is_none")]
43    pub collection_name: Option<String>,
44    #[serde(rename = "taxIdNumber", skip_serializing_if = "Option::is_none")]
45    pub tax_id_number: Option<String>,
46    #[serde(
47        rename = "billingAddressLine1",
48        skip_serializing_if = "Option::is_none"
49    )]
50    pub billing_address_line1: Option<String>,
51    #[serde(
52        rename = "billingAddressLine2",
53        skip_serializing_if = "Option::is_none"
54    )]
55    pub billing_address_line2: Option<String>,
56    #[serde(rename = "billingAddressCity", skip_serializing_if = "Option::is_none")]
57    pub billing_address_city: Option<String>,
58    #[serde(
59        rename = "billingAddressState",
60        skip_serializing_if = "Option::is_none"
61    )]
62    pub billing_address_state: Option<String>,
63    #[serde(
64        rename = "billingAddressPostalCode",
65        skip_serializing_if = "Option::is_none"
66    )]
67    pub billing_address_postal_code: Option<String>,
68    #[serde(
69        rename = "billingAddressCountry",
70        skip_serializing_if = "Option::is_none"
71    )]
72    pub billing_address_country: Option<String>,
73    #[serde(rename = "maxAutoscaleSeats", skip_serializing_if = "Option::is_none")]
74    pub max_autoscale_seats: Option<i32>,
75    #[serde(rename = "additionalSmSeats", skip_serializing_if = "Option::is_none")]
76    pub additional_sm_seats: Option<i32>,
77    #[serde(
78        rename = "additionalServiceAccounts",
79        skip_serializing_if = "Option::is_none"
80    )]
81    pub additional_service_accounts: Option<i32>,
82    #[serde(rename = "useSecretsManager")]
83    pub use_secrets_manager: bool,
84    #[serde(
85        rename = "isFromSecretsManagerTrial",
86        skip_serializing_if = "Option::is_none"
87    )]
88    pub is_from_secrets_manager_trial: Option<bool>,
89    #[serde(rename = "initiationPath", skip_serializing_if = "Option::is_none")]
90    pub initiation_path: Option<String>,
91}
92
93impl OrganizationNoPaymentCreateRequest {
94    pub fn new(
95        name: String,
96        billing_email: String,
97        key: String,
98        use_secrets_manager: bool,
99    ) -> OrganizationNoPaymentCreateRequest {
100        OrganizationNoPaymentCreateRequest {
101            name,
102            business_name: None,
103            billing_email,
104            plan_type: None,
105            key,
106            keys: None,
107            payment_method_type: None,
108            payment_token: None,
109            additional_seats: None,
110            additional_storage_gb: None,
111            premium_access_addon: None,
112            collection_name: None,
113            tax_id_number: None,
114            billing_address_line1: None,
115            billing_address_line2: None,
116            billing_address_city: None,
117            billing_address_state: None,
118            billing_address_postal_code: None,
119            billing_address_country: None,
120            max_autoscale_seats: None,
121            additional_sm_seats: None,
122            additional_service_accounts: None,
123            use_secrets_manager,
124            is_from_secrets_manager_trial: None,
125            initiation_path: None,
126        }
127    }
128}