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 = "isFromSecretsManagerTrial",
137        alias = "IsFromSecretsManagerTrial",
138        skip_serializing_if = "Option::is_none"
139    )]
140    pub is_from_secrets_manager_trial: Option<bool>,
141    #[serde(
142        rename = "initiationPath",
143        alias = "InitiationPath",
144        skip_serializing_if = "Option::is_none"
145    )]
146    pub initiation_path: Option<String>,
147    #[serde(
148        rename = "skipTrial",
149        alias = "SkipTrial",
150        skip_serializing_if = "Option::is_none"
151    )]
152    pub skip_trial: Option<bool>,
153    #[serde(
154        rename = "coupons",
155        alias = "Coupons",
156        skip_serializing_if = "Option::is_none"
157    )]
158    pub coupons: Option<Vec<String>>,
159}
160
161impl OrganizationCreateRequestModel {
162    pub fn new(
163        name: String,
164        billing_email: String,
165        key: String,
166        keys: models::OrganizationKeysRequestModel,
167        use_secrets_manager: bool,
168    ) -> OrganizationCreateRequestModel {
169        OrganizationCreateRequestModel {
170            name,
171            business_name: None,
172            billing_email,
173            plan_type: None,
174            key,
175            keys: Box::new(keys),
176            payment_method_type: None,
177            payment_token: None,
178            additional_seats: None,
179            additional_storage_gb: None,
180            premium_access_addon: None,
181            collection_name: None,
182            tax_id_number: None,
183            billing_address_line1: None,
184            billing_address_line2: None,
185            billing_address_city: None,
186            billing_address_state: None,
187            billing_address_postal_code: None,
188            billing_address_country: None,
189            max_autoscale_seats: None,
190            additional_sm_seats: None,
191            additional_service_accounts: None,
192            use_secrets_manager,
193            is_from_secrets_manager_trial: None,
194            initiation_path: None,
195            skip_trial: None,
196            coupons: None,
197        }
198    }
199}