1use serde::{Deserialize, Serialize};
12
13use crate::models;
14
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct OrganizationSubscriptionResponseModel {
17 #[serde(
18 rename = "object",
19 alias = "Object",
20 skip_serializing_if = "Option::is_none"
21 )]
22 pub object: Option<String>,
23 #[serde(rename = "id", alias = "Id", skip_serializing_if = "Option::is_none")]
24 pub id: Option<uuid::Uuid>,
25 #[serde(
26 rename = "name",
27 alias = "Name",
28 skip_serializing_if = "Option::is_none"
29 )]
30 pub name: Option<String>,
31 #[serde(
32 rename = "businessName",
33 alias = "BusinessName",
34 skip_serializing_if = "Option::is_none"
35 )]
36 pub business_name: Option<String>,
37 #[serde(
38 rename = "businessAddress1",
39 alias = "BusinessAddress1",
40 skip_serializing_if = "Option::is_none"
41 )]
42 pub business_address1: Option<String>,
43 #[serde(
44 rename = "businessAddress2",
45 alias = "BusinessAddress2",
46 skip_serializing_if = "Option::is_none"
47 )]
48 pub business_address2: Option<String>,
49 #[serde(
50 rename = "businessAddress3",
51 alias = "BusinessAddress3",
52 skip_serializing_if = "Option::is_none"
53 )]
54 pub business_address3: Option<String>,
55 #[serde(
56 rename = "businessCountry",
57 alias = "BusinessCountry",
58 skip_serializing_if = "Option::is_none"
59 )]
60 pub business_country: Option<String>,
61 #[serde(
62 rename = "businessTaxNumber",
63 alias = "BusinessTaxNumber",
64 skip_serializing_if = "Option::is_none"
65 )]
66 pub business_tax_number: Option<String>,
67 #[serde(
68 rename = "billingEmail",
69 alias = "BillingEmail",
70 skip_serializing_if = "Option::is_none"
71 )]
72 pub billing_email: Option<String>,
73 #[serde(
74 rename = "plan",
75 alias = "Plan",
76 skip_serializing_if = "Option::is_none"
77 )]
78 pub plan: Option<Box<models::PlanResponseModel>>,
79 #[serde(
80 rename = "secretsManagerPlan",
81 alias = "SecretsManagerPlan",
82 skip_serializing_if = "Option::is_none"
83 )]
84 pub secrets_manager_plan: Option<Box<models::PlanResponseModel>>,
85 #[serde(
86 rename = "planType",
87 alias = "PlanType",
88 skip_serializing_if = "Option::is_none"
89 )]
90 pub plan_type: Option<models::PlanType>,
91 #[serde(
92 rename = "seats",
93 alias = "Seats",
94 skip_serializing_if = "Option::is_none"
95 )]
96 pub seats: Option<i32>,
97 #[serde(
98 rename = "maxAutoscaleSeats",
99 alias = "MaxAutoscaleSeats",
100 skip_serializing_if = "Option::is_none"
101 )]
102 pub max_autoscale_seats: Option<i32>,
103 #[serde(
104 rename = "maxCollections",
105 alias = "MaxCollections",
106 skip_serializing_if = "Option::is_none"
107 )]
108 pub max_collections: Option<i32>,
109 #[serde(
110 rename = "maxStorageGb",
111 alias = "MaxStorageGb",
112 skip_serializing_if = "Option::is_none"
113 )]
114 pub max_storage_gb: Option<i32>,
115 #[serde(
116 rename = "usePolicies",
117 alias = "UsePolicies",
118 skip_serializing_if = "Option::is_none"
119 )]
120 pub use_policies: Option<bool>,
121 #[serde(
122 rename = "useSso",
123 alias = "UseSso",
124 skip_serializing_if = "Option::is_none"
125 )]
126 pub use_sso: Option<bool>,
127 #[serde(
128 rename = "useKeyConnector",
129 alias = "UseKeyConnector",
130 skip_serializing_if = "Option::is_none"
131 )]
132 pub use_key_connector: Option<bool>,
133 #[serde(
134 rename = "useScim",
135 alias = "UseScim",
136 skip_serializing_if = "Option::is_none"
137 )]
138 pub use_scim: Option<bool>,
139 #[serde(
140 rename = "useGroups",
141 alias = "UseGroups",
142 skip_serializing_if = "Option::is_none"
143 )]
144 pub use_groups: Option<bool>,
145 #[serde(
146 rename = "useDirectory",
147 alias = "UseDirectory",
148 skip_serializing_if = "Option::is_none"
149 )]
150 pub use_directory: Option<bool>,
151 #[serde(
152 rename = "useEvents",
153 alias = "UseEvents",
154 skip_serializing_if = "Option::is_none"
155 )]
156 pub use_events: Option<bool>,
157 #[serde(
158 rename = "useTotp",
159 alias = "UseTotp",
160 skip_serializing_if = "Option::is_none"
161 )]
162 pub use_totp: Option<bool>,
163 #[serde(
164 rename = "use2fa",
165 alias = "Use2fa",
166 skip_serializing_if = "Option::is_none"
167 )]
168 pub use2fa: Option<bool>,
169 #[serde(
170 rename = "useApi",
171 alias = "UseApi",
172 skip_serializing_if = "Option::is_none"
173 )]
174 pub use_api: Option<bool>,
175 #[serde(
176 rename = "useSecretsManager",
177 alias = "UseSecretsManager",
178 skip_serializing_if = "Option::is_none"
179 )]
180 pub use_secrets_manager: Option<bool>,
181 #[serde(
182 rename = "useResetPassword",
183 alias = "UseResetPassword",
184 skip_serializing_if = "Option::is_none"
185 )]
186 pub use_reset_password: Option<bool>,
187 #[serde(
188 rename = "usersGetPremium",
189 alias = "UsersGetPremium",
190 skip_serializing_if = "Option::is_none"
191 )]
192 pub users_get_premium: Option<bool>,
193 #[serde(
194 rename = "useCustomPermissions",
195 alias = "UseCustomPermissions",
196 skip_serializing_if = "Option::is_none"
197 )]
198 pub use_custom_permissions: Option<bool>,
199 #[serde(
200 rename = "selfHost",
201 alias = "SelfHost",
202 skip_serializing_if = "Option::is_none"
203 )]
204 pub self_host: Option<bool>,
205 #[serde(
206 rename = "hasPublicAndPrivateKeys",
207 alias = "HasPublicAndPrivateKeys",
208 skip_serializing_if = "Option::is_none"
209 )]
210 pub has_public_and_private_keys: Option<bool>,
211 #[serde(
212 rename = "usePasswordManager",
213 alias = "UsePasswordManager",
214 skip_serializing_if = "Option::is_none"
215 )]
216 pub use_password_manager: Option<bool>,
217 #[serde(
218 rename = "smSeats",
219 alias = "SmSeats",
220 skip_serializing_if = "Option::is_none"
221 )]
222 pub sm_seats: Option<i32>,
223 #[serde(
224 rename = "smServiceAccounts",
225 alias = "SmServiceAccounts",
226 skip_serializing_if = "Option::is_none"
227 )]
228 pub sm_service_accounts: Option<i32>,
229 #[serde(
230 rename = "maxAutoscaleSmSeats",
231 alias = "MaxAutoscaleSmSeats",
232 skip_serializing_if = "Option::is_none"
233 )]
234 pub max_autoscale_sm_seats: Option<i32>,
235 #[serde(
236 rename = "maxAutoscaleSmServiceAccounts",
237 alias = "MaxAutoscaleSmServiceAccounts",
238 skip_serializing_if = "Option::is_none"
239 )]
240 pub max_autoscale_sm_service_accounts: Option<i32>,
241 #[serde(
242 rename = "pamSeats",
243 alias = "PamSeats",
244 skip_serializing_if = "Option::is_none"
245 )]
246 pub pam_seats: Option<i32>,
247 #[serde(
248 rename = "maxAutoscalePamSeats",
249 alias = "MaxAutoscalePamSeats",
250 skip_serializing_if = "Option::is_none"
251 )]
252 pub max_autoscale_pam_seats: Option<i32>,
253 #[serde(
254 rename = "limitCollectionCreation",
255 alias = "LimitCollectionCreation",
256 skip_serializing_if = "Option::is_none"
257 )]
258 pub limit_collection_creation: Option<bool>,
259 #[serde(
260 rename = "limitCollectionDeletion",
261 alias = "LimitCollectionDeletion",
262 skip_serializing_if = "Option::is_none"
263 )]
264 pub limit_collection_deletion: Option<bool>,
265 #[serde(
266 rename = "limitItemDeletion",
267 alias = "LimitItemDeletion",
268 skip_serializing_if = "Option::is_none"
269 )]
270 pub limit_item_deletion: Option<bool>,
271 #[serde(
272 rename = "allowAdminAccessToAllCollectionItems",
273 alias = "AllowAdminAccessToAllCollectionItems",
274 skip_serializing_if = "Option::is_none"
275 )]
276 pub allow_admin_access_to_all_collection_items: Option<bool>,
277 #[serde(
278 rename = "useRiskInsights",
279 alias = "UseRiskInsights",
280 skip_serializing_if = "Option::is_none"
281 )]
282 pub use_risk_insights: Option<bool>,
283 #[serde(
284 rename = "useOrganizationDomains",
285 alias = "UseOrganizationDomains",
286 skip_serializing_if = "Option::is_none"
287 )]
288 pub use_organization_domains: Option<bool>,
289 #[serde(
290 rename = "useAdminSponsoredFamilies",
291 alias = "UseAdminSponsoredFamilies",
292 skip_serializing_if = "Option::is_none"
293 )]
294 pub use_admin_sponsored_families: Option<bool>,
295 #[serde(
296 rename = "useAutomaticUserConfirmation",
297 alias = "UseAutomaticUserConfirmation",
298 skip_serializing_if = "Option::is_none"
299 )]
300 pub use_automatic_user_confirmation: Option<bool>,
301 #[serde(
302 rename = "useDisableSmAdsForUsers",
303 alias = "UseDisableSmAdsForUsers",
304 skip_serializing_if = "Option::is_none"
305 )]
306 pub use_disable_sm_ads_for_users: Option<bool>,
307 #[serde(
308 rename = "usePhishingBlocker",
309 alias = "UsePhishingBlocker",
310 skip_serializing_if = "Option::is_none"
311 )]
312 pub use_phishing_blocker: Option<bool>,
313 #[serde(
314 rename = "useMyItems",
315 alias = "UseMyItems",
316 skip_serializing_if = "Option::is_none"
317 )]
318 pub use_my_items: Option<bool>,
319 #[serde(
320 rename = "useInviteLinks",
321 alias = "UseInviteLinks",
322 skip_serializing_if = "Option::is_none"
323 )]
324 pub use_invite_links: Option<bool>,
325 #[serde(
326 rename = "usePam",
327 alias = "UsePam",
328 skip_serializing_if = "Option::is_none"
329 )]
330 pub use_pam: Option<bool>,
331 #[serde(
332 rename = "storageName",
333 alias = "StorageName",
334 skip_serializing_if = "Option::is_none"
335 )]
336 pub storage_name: Option<String>,
337 #[serde(
338 rename = "storageGb",
339 alias = "StorageGb",
340 skip_serializing_if = "Option::is_none"
341 )]
342 pub storage_gb: Option<f64>,
343 #[serde(
344 rename = "customerDiscount",
345 alias = "CustomerDiscount",
346 skip_serializing_if = "Option::is_none"
347 )]
348 pub customer_discount: Option<Box<models::BillingCustomerDiscount>>,
349 #[serde(
350 rename = "subscription",
351 alias = "Subscription",
352 skip_serializing_if = "Option::is_none"
353 )]
354 pub subscription: Option<Box<models::BillingSubscription>>,
355 #[serde(
356 rename = "upcomingInvoice",
357 alias = "UpcomingInvoice",
358 skip_serializing_if = "Option::is_none"
359 )]
360 pub upcoming_invoice: Option<Box<models::BillingSubscriptionUpcomingInvoice>>,
361 #[serde(
362 rename = "pendingAnnualUpgrade",
363 alias = "PendingAnnualUpgrade",
364 skip_serializing_if = "Option::is_none"
365 )]
366 pub pending_annual_upgrade: Option<Box<models::PendingAnnualUpgradeResponseModel>>,
367 #[serde(
374 rename = "smServiceAccountsGrace",
375 alias = "SmServiceAccountsGrace",
376 skip_serializing_if = "Option::is_none"
377 )]
378 pub sm_service_accounts_grace: Option<i32>,
379 #[serde(
382 rename = "occupiedPamSeats",
383 alias = "OccupiedPamSeats",
384 skip_serializing_if = "Option::is_none"
385 )]
386 pub occupied_pam_seats: Option<i32>,
387 #[serde(
390 rename = "isOnPamSalesInitiatedTrial",
391 alias = "IsOnPamSalesInitiatedTrial",
392 skip_serializing_if = "Option::is_none"
393 )]
394 pub is_on_pam_sales_initiated_trial: Option<bool>,
395 #[serde(
398 rename = "pamSeatMinimum",
399 alias = "PamSeatMinimum",
400 skip_serializing_if = "Option::is_none"
401 )]
402 pub pam_seat_minimum: Option<i32>,
403 #[serde(
405 rename = "expirationWithoutGracePeriod",
406 alias = "ExpirationWithoutGracePeriod",
407 skip_serializing_if = "Option::is_none"
408 )]
409 pub expiration_without_grace_period: Option<String>,
410 #[serde(
412 rename = "expiration",
413 alias = "Expiration",
414 skip_serializing_if = "Option::is_none"
415 )]
416 pub expiration: Option<String>,
417 #[serde(
418 rename = "exemptFromBillingAutomation",
419 alias = "ExemptFromBillingAutomation",
420 skip_serializing_if = "Option::is_none"
421 )]
422 pub exempt_from_billing_automation: Option<bool>,
423}
424
425impl OrganizationSubscriptionResponseModel {
426 pub fn new() -> OrganizationSubscriptionResponseModel {
427 OrganizationSubscriptionResponseModel {
428 object: None,
429 id: None,
430 name: None,
431 business_name: None,
432 business_address1: None,
433 business_address2: None,
434 business_address3: None,
435 business_country: None,
436 business_tax_number: None,
437 billing_email: None,
438 plan: None,
439 secrets_manager_plan: None,
440 plan_type: None,
441 seats: None,
442 max_autoscale_seats: None,
443 max_collections: None,
444 max_storage_gb: None,
445 use_policies: None,
446 use_sso: None,
447 use_key_connector: None,
448 use_scim: None,
449 use_groups: None,
450 use_directory: None,
451 use_events: None,
452 use_totp: None,
453 use2fa: None,
454 use_api: None,
455 use_secrets_manager: None,
456 use_reset_password: None,
457 users_get_premium: None,
458 use_custom_permissions: None,
459 self_host: None,
460 has_public_and_private_keys: None,
461 use_password_manager: None,
462 sm_seats: None,
463 sm_service_accounts: None,
464 max_autoscale_sm_seats: None,
465 max_autoscale_sm_service_accounts: None,
466 pam_seats: None,
467 max_autoscale_pam_seats: None,
468 limit_collection_creation: None,
469 limit_collection_deletion: None,
470 limit_item_deletion: None,
471 allow_admin_access_to_all_collection_items: None,
472 use_risk_insights: None,
473 use_organization_domains: None,
474 use_admin_sponsored_families: None,
475 use_automatic_user_confirmation: None,
476 use_disable_sm_ads_for_users: None,
477 use_phishing_blocker: None,
478 use_my_items: None,
479 use_invite_links: None,
480 use_pam: None,
481 storage_name: None,
482 storage_gb: None,
483 customer_discount: None,
484 subscription: None,
485 upcoming_invoice: None,
486 pending_annual_upgrade: None,
487 sm_service_accounts_grace: None,
488 occupied_pam_seats: None,
489 is_on_pam_sales_initiated_trial: None,
490 pam_seat_minimum: None,
491 expiration_without_grace_period: None,
492 expiration: None,
493 exempt_from_billing_automation: None,
494 }
495 }
496}