bitwarden_api_api/models/
organization_create_request_model.rs1use 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 = "trialLength",
155 alias = "TrialLength",
156 skip_serializing_if = "Option::is_none"
157 )]
158 pub trial_length: Option<i32>,
159 #[serde(
160 rename = "coupons",
161 alias = "Coupons",
162 skip_serializing_if = "Option::is_none"
163 )]
164 pub coupons: Option<Vec<String>>,
165}
166
167impl OrganizationCreateRequestModel {
168 pub fn new(
169 name: String,
170 billing_email: String,
171 key: String,
172 keys: models::OrganizationKeysRequestModel,
173 use_secrets_manager: bool,
174 ) -> OrganizationCreateRequestModel {
175 OrganizationCreateRequestModel {
176 name,
177 business_name: None,
178 billing_email,
179 plan_type: None,
180 key,
181 keys: Box::new(keys),
182 payment_method_type: None,
183 payment_token: None,
184 additional_seats: None,
185 additional_storage_gb: None,
186 premium_access_addon: None,
187 collection_name: None,
188 tax_id_number: None,
189 billing_address_line1: None,
190 billing_address_line2: None,
191 billing_address_city: None,
192 billing_address_state: None,
193 billing_address_postal_code: None,
194 billing_address_country: None,
195 max_autoscale_seats: None,
196 additional_sm_seats: None,
197 additional_service_accounts: None,
198 use_secrets_manager,
199 is_from_secrets_manager_trial: None,
200 initiation_path: None,
201 skip_trial: None,
202 trial_length: None,
203 coupons: None,
204 }
205 }
206}