Skip to main content

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(rename = "keys", alias = "Keys")]
36    pub keys: Box<models::OrganizationKeysRequestModel>,
37    #[serde(
38        rename = "paymentMethodType",
39        alias = "PaymentMethodType",
40        skip_serializing_if = "Option::is_none"
41    )]
42    pub payment_method_type: Option<models::PaymentMethodType>,
43    #[serde(
44        rename = "paymentToken",
45        alias = "PaymentToken",
46        skip_serializing_if = "Option::is_none"
47    )]
48    pub payment_token: Option<String>,
49    #[serde(
50        rename = "additionalSeats",
51        alias = "AdditionalSeats",
52        skip_serializing_if = "Option::is_none"
53    )]
54    pub additional_seats: Option<i32>,
55    #[serde(
56        rename = "additionalStorageGb",
57        alias = "AdditionalStorageGb",
58        skip_serializing_if = "Option::is_none"
59    )]
60    pub additional_storage_gb: Option<i32>,
61    #[serde(
62        rename = "premiumAccessAddon",
63        alias = "PremiumAccessAddon",
64        skip_serializing_if = "Option::is_none"
65    )]
66    pub premium_access_addon: Option<bool>,
67    #[serde(
68        rename = "collectionName",
69        alias = "CollectionName",
70        skip_serializing_if = "Option::is_none"
71    )]
72    pub collection_name: Option<String>,
73    #[serde(
74        rename = "taxIdNumber",
75        alias = "TaxIdNumber",
76        skip_serializing_if = "Option::is_none"
77    )]
78    pub tax_id_number: Option<String>,
79    #[serde(
80        rename = "billingAddressLine1",
81        alias = "BillingAddressLine1",
82        skip_serializing_if = "Option::is_none"
83    )]
84    pub billing_address_line1: Option<String>,
85    #[serde(
86        rename = "billingAddressLine2",
87        alias = "BillingAddressLine2",
88        skip_serializing_if = "Option::is_none"
89    )]
90    pub billing_address_line2: Option<String>,
91    #[serde(
92        rename = "billingAddressCity",
93        alias = "BillingAddressCity",
94        skip_serializing_if = "Option::is_none"
95    )]
96    pub billing_address_city: Option<String>,
97    #[serde(
98        rename = "billingAddressState",
99        alias = "BillingAddressState",
100        skip_serializing_if = "Option::is_none"
101    )]
102    pub billing_address_state: Option<String>,
103    #[serde(
104        rename = "billingAddressPostalCode",
105        alias = "BillingAddressPostalCode",
106        skip_serializing_if = "Option::is_none"
107    )]
108    pub billing_address_postal_code: Option<String>,
109    #[serde(
110        rename = "billingAddressCountry",
111        alias = "BillingAddressCountry",
112        skip_serializing_if = "Option::is_none"
113    )]
114    pub billing_address_country: Option<String>,
115    #[serde(
116        rename = "maxAutoscaleSeats",
117        alias = "MaxAutoscaleSeats",
118        skip_serializing_if = "Option::is_none"
119    )]
120    pub max_autoscale_seats: Option<i32>,
121    #[serde(
122        rename = "additionalSmSeats",
123        alias = "AdditionalSmSeats",
124        skip_serializing_if = "Option::is_none"
125    )]
126    pub additional_sm_seats: Option<i32>,
127    #[serde(
128        rename = "additionalServiceAccounts",
129        alias = "AdditionalServiceAccounts",
130        skip_serializing_if = "Option::is_none"
131    )]
132    pub additional_service_accounts: Option<i32>,
133    #[serde(rename = "useSecretsManager", alias = "UseSecretsManager")]
134    pub use_secrets_manager: bool,
135    #[serde(
136        rename = "usePrivilegedControls",
137        alias = "UsePrivilegedControls",
138        skip_serializing_if = "Option::is_none"
139    )]
140    pub use_privileged_controls: Option<bool>,
141    #[serde(
142        rename = "pamSeatMinimum",
143        alias = "PamSeatMinimum",
144        skip_serializing_if = "Option::is_none"
145    )]
146    pub pam_seat_minimum: Option<i32>,
147    #[serde(
148        rename = "isFromSecretsManagerTrial",
149        alias = "IsFromSecretsManagerTrial",
150        skip_serializing_if = "Option::is_none"
151    )]
152    pub is_from_secrets_manager_trial: Option<bool>,
153    #[serde(
154        rename = "initiationPath",
155        alias = "InitiationPath",
156        skip_serializing_if = "Option::is_none"
157    )]
158    pub initiation_path: Option<String>,
159    #[serde(
160        rename = "skipTrial",
161        alias = "SkipTrial",
162        skip_serializing_if = "Option::is_none"
163    )]
164    pub skip_trial: Option<bool>,
165    #[serde(
166        rename = "trialLength",
167        alias = "TrialLength",
168        skip_serializing_if = "Option::is_none"
169    )]
170    pub trial_length: Option<i32>,
171    #[serde(
172        rename = "coupons",
173        alias = "Coupons",
174        skip_serializing_if = "Option::is_none"
175    )]
176    pub coupons: Option<Vec<String>>,
177}
178
179impl OrganizationCreateRequestModel {
180    pub fn new(
181        name: String,
182        billing_email: String,
183        key: String,
184        keys: models::OrganizationKeysRequestModel,
185        use_secrets_manager: bool,
186    ) -> OrganizationCreateRequestModel {
187        OrganizationCreateRequestModel {
188            name,
189            business_name: None,
190            billing_email,
191            plan_type: None,
192            key,
193            keys: Box::new(keys),
194            payment_method_type: None,
195            payment_token: None,
196            additional_seats: None,
197            additional_storage_gb: None,
198            premium_access_addon: None,
199            collection_name: None,
200            tax_id_number: None,
201            billing_address_line1: None,
202            billing_address_line2: None,
203            billing_address_city: None,
204            billing_address_state: None,
205            billing_address_postal_code: None,
206            billing_address_country: None,
207            max_autoscale_seats: None,
208            additional_sm_seats: None,
209            additional_service_accounts: None,
210            use_secrets_manager,
211            use_privileged_controls: None,
212            pam_seat_minimum: None,
213            is_from_secrets_manager_trial: None,
214            initiation_path: None,
215            skip_trial: None,
216            trial_length: None,
217            coupons: None,
218        }
219    }
220}