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 = "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}