bitwarden_api_api/models/
organization_create_request_model.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 OrganizationCreateRequestModel {
17    #[serde(rename = "name", alias = "Name")]
18    pub name: String,
19    #[serde(
20        rename = "businessName",
21        alias = "BusinessName",
22        skip_serializing_if = "Option::is_none"
23    )]
24    pub business_name: Option<String>,
25    #[serde(rename = "billingEmail", alias = "BillingEmail")]
26    pub billing_email: String,
27    #[serde(
28        rename = "planType",
29        alias = "PlanType",
30        skip_serializing_if = "Option::is_none"
31    )]
32    pub plan_type: Option<models::PlanType>,
33    #[serde(rename = "key", alias = "Key")]
34    pub key: String,
35    #[serde(
36        rename = "keys",
37        alias = "Keys",
38        skip_serializing_if = "Option::is_none"
39    )]
40    pub keys: Option<Box<models::OrganizationKeysRequestModel>>,
41    #[serde(
42        rename = "paymentMethodType",
43        alias = "PaymentMethodType",
44        skip_serializing_if = "Option::is_none"
45    )]
46    pub payment_method_type: Option<models::PaymentMethodType>,
47    #[serde(
48        rename = "paymentToken",
49        alias = "PaymentToken",
50        skip_serializing_if = "Option::is_none"
51    )]
52    pub payment_token: Option<String>,
53    #[serde(
54        rename = "additionalSeats",
55        alias = "AdditionalSeats",
56        skip_serializing_if = "Option::is_none"
57    )]
58    pub additional_seats: Option<i32>,
59    #[serde(
60        rename = "additionalStorageGb",
61        alias = "AdditionalStorageGb",
62        skip_serializing_if = "Option::is_none"
63    )]
64    pub additional_storage_gb: Option<i32>,
65    #[serde(
66        rename = "premiumAccessAddon",
67        alias = "PremiumAccessAddon",
68        skip_serializing_if = "Option::is_none"
69    )]
70    pub premium_access_addon: Option<bool>,
71    #[serde(
72        rename = "collectionName",
73        alias = "CollectionName",
74        skip_serializing_if = "Option::is_none"
75    )]
76    pub collection_name: Option<String>,
77    #[serde(
78        rename = "taxIdNumber",
79        alias = "TaxIdNumber",
80        skip_serializing_if = "Option::is_none"
81    )]
82    pub tax_id_number: Option<String>,
83    #[serde(
84        rename = "billingAddressLine1",
85        alias = "BillingAddressLine1",
86        skip_serializing_if = "Option::is_none"
87    )]
88    pub billing_address_line1: Option<String>,
89    #[serde(
90        rename = "billingAddressLine2",
91        alias = "BillingAddressLine2",
92        skip_serializing_if = "Option::is_none"
93    )]
94    pub billing_address_line2: Option<String>,
95    #[serde(
96        rename = "billingAddressCity",
97        alias = "BillingAddressCity",
98        skip_serializing_if = "Option::is_none"
99    )]
100    pub billing_address_city: Option<String>,
101    #[serde(
102        rename = "billingAddressState",
103        alias = "BillingAddressState",
104        skip_serializing_if = "Option::is_none"
105    )]
106    pub billing_address_state: Option<String>,
107    #[serde(
108        rename = "billingAddressPostalCode",
109        alias = "BillingAddressPostalCode",
110        skip_serializing_if = "Option::is_none"
111    )]
112    pub billing_address_postal_code: Option<String>,
113    #[serde(
114        rename = "billingAddressCountry",
115        alias = "BillingAddressCountry",
116        skip_serializing_if = "Option::is_none"
117    )]
118    pub billing_address_country: Option<String>,
119    #[serde(
120        rename = "maxAutoscaleSeats",
121        alias = "MaxAutoscaleSeats",
122        skip_serializing_if = "Option::is_none"
123    )]
124    pub max_autoscale_seats: Option<i32>,
125    #[serde(
126        rename = "additionalSmSeats",
127        alias = "AdditionalSmSeats",
128        skip_serializing_if = "Option::is_none"
129    )]
130    pub additional_sm_seats: Option<i32>,
131    #[serde(
132        rename = "additionalServiceAccounts",
133        alias = "AdditionalServiceAccounts",
134        skip_serializing_if = "Option::is_none"
135    )]
136    pub additional_service_accounts: Option<i32>,
137    #[serde(rename = "useSecretsManager", alias = "UseSecretsManager")]
138    pub use_secrets_manager: bool,
139    #[serde(
140        rename = "isFromSecretsManagerTrial",
141        alias = "IsFromSecretsManagerTrial",
142        skip_serializing_if = "Option::is_none"
143    )]
144    pub is_from_secrets_manager_trial: Option<bool>,
145    #[serde(
146        rename = "initiationPath",
147        alias = "InitiationPath",
148        skip_serializing_if = "Option::is_none"
149    )]
150    pub initiation_path: Option<String>,
151    #[serde(
152        rename = "skipTrial",
153        alias = "SkipTrial",
154        skip_serializing_if = "Option::is_none"
155    )]
156    pub skip_trial: Option<bool>,
157}
158
159impl OrganizationCreateRequestModel {
160    pub fn new(
161        name: String,
162        billing_email: String,
163        key: String,
164        use_secrets_manager: bool,
165    ) -> OrganizationCreateRequestModel {
166        OrganizationCreateRequestModel {
167            name,
168            business_name: None,
169            billing_email,
170            plan_type: None,
171            key,
172            keys: None,
173            payment_method_type: None,
174            payment_token: None,
175            additional_seats: None,
176            additional_storage_gb: None,
177            premium_access_addon: None,
178            collection_name: None,
179            tax_id_number: None,
180            billing_address_line1: None,
181            billing_address_line2: None,
182            billing_address_city: None,
183            billing_address_state: None,
184            billing_address_postal_code: None,
185            billing_address_country: None,
186            max_autoscale_seats: None,
187            additional_sm_seats: None,
188            additional_service_accounts: None,
189            use_secrets_manager,
190            is_from_secrets_manager_trial: None,
191            initiation_path: None,
192            skip_trial: None,
193        }
194    }
195}