1use serde::{Deserialize, Serialize};
12
13use crate::models;
14
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
18pub struct Organization {
19 #[serde(rename = "id", alias = "Id", skip_serializing_if = "Option::is_none")]
21 pub id: Option<uuid::Uuid>,
22 #[serde(
24 rename = "identifier",
25 alias = "Identifier",
26 skip_serializing_if = "Option::is_none"
27 )]
28 pub identifier: Option<String>,
29 #[serde(
31 rename = "name",
32 alias = "Name",
33 skip_serializing_if = "Option::is_none"
34 )]
35 pub name: Option<String>,
36 #[serde(
39 rename = "businessName",
40 alias = "BusinessName",
41 skip_serializing_if = "Option::is_none"
42 )]
43 pub business_name: Option<String>,
44 #[serde(
46 rename = "businessAddress1",
47 alias = "BusinessAddress1",
48 skip_serializing_if = "Option::is_none"
49 )]
50 pub business_address1: Option<String>,
51 #[serde(
53 rename = "businessAddress2",
54 alias = "BusinessAddress2",
55 skip_serializing_if = "Option::is_none"
56 )]
57 pub business_address2: Option<String>,
58 #[serde(
60 rename = "businessAddress3",
61 alias = "BusinessAddress3",
62 skip_serializing_if = "Option::is_none"
63 )]
64 pub business_address3: Option<String>,
65 #[serde(
67 rename = "businessCountry",
68 alias = "BusinessCountry",
69 skip_serializing_if = "Option::is_none"
70 )]
71 pub business_country: Option<String>,
72 #[serde(
74 rename = "businessTaxNumber",
75 alias = "BusinessTaxNumber",
76 skip_serializing_if = "Option::is_none"
77 )]
78 pub business_tax_number: Option<String>,
79 #[serde(
81 rename = "billingEmail",
82 alias = "BillingEmail",
83 skip_serializing_if = "Option::is_none"
84 )]
85 pub billing_email: Option<String>,
86 #[serde(
90 rename = "plan",
91 alias = "Plan",
92 skip_serializing_if = "Option::is_none"
93 )]
94 pub plan: Option<String>,
95 #[serde(
96 rename = "planType",
97 alias = "PlanType",
98 skip_serializing_if = "Option::is_none"
99 )]
100 pub plan_type: Option<models::PlanType>,
101 #[serde(
104 rename = "seats",
105 alias = "Seats",
106 skip_serializing_if = "Option::is_none"
107 )]
108 pub seats: Option<i32>,
109 #[serde(
112 rename = "maxCollections",
113 alias = "MaxCollections",
114 skip_serializing_if = "Option::is_none"
115 )]
116 pub max_collections: Option<i32>,
117 #[serde(
119 rename = "usePolicies",
120 alias = "UsePolicies",
121 skip_serializing_if = "Option::is_none"
122 )]
123 pub use_policies: Option<bool>,
124 #[serde(
126 rename = "useSso",
127 alias = "UseSso",
128 skip_serializing_if = "Option::is_none"
129 )]
130 pub use_sso: Option<bool>,
131 #[serde(
134 rename = "useKeyConnector",
135 alias = "UseKeyConnector",
136 skip_serializing_if = "Option::is_none"
137 )]
138 pub use_key_connector: Option<bool>,
139 #[serde(
142 rename = "useScim",
143 alias = "UseScim",
144 skip_serializing_if = "Option::is_none"
145 )]
146 pub use_scim: Option<bool>,
147 #[serde(
149 rename = "useGroups",
150 alias = "UseGroups",
151 skip_serializing_if = "Option::is_none"
152 )]
153 pub use_groups: Option<bool>,
154 #[serde(
157 rename = "useDirectory",
158 alias = "UseDirectory",
159 skip_serializing_if = "Option::is_none"
160 )]
161 pub use_directory: Option<bool>,
162 #[serde(
164 rename = "useEvents",
165 alias = "UseEvents",
166 skip_serializing_if = "Option::is_none"
167 )]
168 pub use_events: Option<bool>,
169 #[serde(
171 rename = "useTotp",
172 alias = "UseTotp",
173 skip_serializing_if = "Option::is_none"
174 )]
175 pub use_totp: Option<bool>,
176 #[serde(
178 rename = "use2fa",
179 alias = "Use2fa",
180 skip_serializing_if = "Option::is_none"
181 )]
182 pub use2fa: Option<bool>,
183 #[serde(
185 rename = "useApi",
186 alias = "UseApi",
187 skip_serializing_if = "Option::is_none"
188 )]
189 pub use_api: Option<bool>,
190 #[serde(
193 rename = "useResetPassword",
194 alias = "UseResetPassword",
195 skip_serializing_if = "Option::is_none"
196 )]
197 pub use_reset_password: Option<bool>,
198 #[serde(
200 rename = "useSecretsManager",
201 alias = "UseSecretsManager",
202 skip_serializing_if = "Option::is_none"
203 )]
204 pub use_secrets_manager: Option<bool>,
205 #[serde(
209 rename = "selfHost",
210 alias = "SelfHost",
211 skip_serializing_if = "Option::is_none"
212 )]
213 pub self_host: Option<bool>,
214 #[serde(
216 rename = "usersGetPremium",
217 alias = "UsersGetPremium",
218 skip_serializing_if = "Option::is_none"
219 )]
220 pub users_get_premium: Option<bool>,
221 #[serde(
223 rename = "useCustomPermissions",
224 alias = "UseCustomPermissions",
225 skip_serializing_if = "Option::is_none"
226 )]
227 pub use_custom_permissions: Option<bool>,
228 #[serde(
230 rename = "storage",
231 alias = "Storage",
232 skip_serializing_if = "Option::is_none"
233 )]
234 pub storage: Option<i64>,
235 #[serde(
237 rename = "maxStorageGb",
238 alias = "MaxStorageGb",
239 skip_serializing_if = "Option::is_none"
240 )]
241 pub max_storage_gb: Option<i32>,
242 #[serde(
243 rename = "gateway",
244 alias = "Gateway",
245 skip_serializing_if = "Option::is_none"
246 )]
247 pub gateway: Option<models::GatewayType>,
248 #[serde(
250 rename = "gatewayCustomerId",
251 alias = "GatewayCustomerId",
252 skip_serializing_if = "Option::is_none"
253 )]
254 pub gateway_customer_id: Option<String>,
255 #[serde(
257 rename = "gatewaySubscriptionId",
258 alias = "GatewaySubscriptionId",
259 skip_serializing_if = "Option::is_none"
260 )]
261 pub gateway_subscription_id: Option<String>,
262 #[serde(
264 rename = "referenceData",
265 alias = "ReferenceData",
266 skip_serializing_if = "Option::is_none"
267 )]
268 pub reference_data: Option<String>,
269 #[serde(
272 rename = "enabled",
273 alias = "Enabled",
274 skip_serializing_if = "Option::is_none"
275 )]
276 pub enabled: Option<bool>,
277 #[serde(
280 rename = "licenseKey",
281 alias = "LicenseKey",
282 skip_serializing_if = "Option::is_none"
283 )]
284 pub license_key: Option<String>,
285 #[serde(
287 rename = "publicKey",
288 alias = "PublicKey",
289 skip_serializing_if = "Option::is_none"
290 )]
291 pub public_key: Option<String>,
292 #[serde(
294 rename = "privateKey",
295 alias = "PrivateKey",
296 skip_serializing_if = "Option::is_none"
297 )]
298 pub private_key: Option<String>,
299 #[serde(
305 rename = "twoFactorProviders",
306 alias = "TwoFactorProviders",
307 skip_serializing_if = "Option::is_none"
308 )]
309 pub two_factor_providers: Option<String>,
310 #[serde(
312 rename = "expirationDate",
313 alias = "ExpirationDate",
314 skip_serializing_if = "Option::is_none"
315 )]
316 pub expiration_date: Option<String>,
317 #[serde(
319 rename = "creationDate",
320 alias = "CreationDate",
321 skip_serializing_if = "Option::is_none"
322 )]
323 pub creation_date: Option<String>,
324 #[serde(
326 rename = "revisionDate",
327 alias = "RevisionDate",
328 skip_serializing_if = "Option::is_none"
329 )]
330 pub revision_date: Option<String>,
331 #[serde(
334 rename = "maxAutoscaleSeats",
335 alias = "MaxAutoscaleSeats",
336 skip_serializing_if = "Option::is_none"
337 )]
338 pub max_autoscale_seats: Option<i32>,
339 #[serde(
342 rename = "ownersNotifiedOfAutoscaling",
343 alias = "OwnersNotifiedOfAutoscaling",
344 skip_serializing_if = "Option::is_none"
345 )]
346 pub owners_notified_of_autoscaling: Option<String>,
347 #[serde(
348 rename = "status",
349 alias = "Status",
350 skip_serializing_if = "Option::is_none"
351 )]
352 pub status: Option<models::OrganizationStatusType>,
353 #[serde(
357 rename = "usePasswordManager",
358 alias = "UsePasswordManager",
359 skip_serializing_if = "Option::is_none"
360 )]
361 pub use_password_manager: Option<bool>,
362 #[serde(
365 rename = "smSeats",
366 alias = "SmSeats",
367 skip_serializing_if = "Option::is_none"
368 )]
369 pub sm_seats: Option<i32>,
370 #[serde(
374 rename = "smServiceAccounts",
375 alias = "SmServiceAccounts",
376 skip_serializing_if = "Option::is_none"
377 )]
378 pub sm_service_accounts: Option<i32>,
379 #[serde(
382 rename = "maxAutoscaleSmSeats",
383 alias = "MaxAutoscaleSmSeats",
384 skip_serializing_if = "Option::is_none"
385 )]
386 pub max_autoscale_sm_seats: Option<i32>,
387 #[serde(
390 rename = "maxAutoscaleSmServiceAccounts",
391 alias = "MaxAutoscaleSmServiceAccounts",
392 skip_serializing_if = "Option::is_none"
393 )]
394 pub max_autoscale_sm_service_accounts: Option<i32>,
395 #[serde(
399 rename = "pamSeats",
400 alias = "PamSeats",
401 skip_serializing_if = "Option::is_none"
402 )]
403 pub pam_seats: Option<i32>,
404 #[serde(
407 rename = "maxAutoscalePamSeats",
408 alias = "MaxAutoscalePamSeats",
409 skip_serializing_if = "Option::is_none"
410 )]
411 pub max_autoscale_pam_seats: Option<i32>,
412 #[serde(
416 rename = "limitCollectionCreation",
417 alias = "LimitCollectionCreation",
418 skip_serializing_if = "Option::is_none"
419 )]
420 pub limit_collection_creation: Option<bool>,
421 #[serde(
424 rename = "limitCollectionDeletion",
425 alias = "LimitCollectionDeletion",
426 skip_serializing_if = "Option::is_none"
427 )]
428 pub limit_collection_deletion: Option<bool>,
429 #[serde(
433 rename = "allowAdminAccessToAllCollectionItems",
434 alias = "AllowAdminAccessToAllCollectionItems",
435 skip_serializing_if = "Option::is_none"
436 )]
437 pub allow_admin_access_to_all_collection_items: Option<bool>,
438 #[serde(
442 rename = "limitItemDeletion",
443 alias = "LimitItemDeletion",
444 skip_serializing_if = "Option::is_none"
445 )]
446 pub limit_item_deletion: Option<bool>,
447 #[serde(
450 rename = "useRiskInsights",
451 alias = "UseRiskInsights",
452 skip_serializing_if = "Option::is_none"
453 )]
454 pub use_risk_insights: Option<bool>,
455 #[serde(
457 rename = "useOrganizationDomains",
458 alias = "UseOrganizationDomains",
459 skip_serializing_if = "Option::is_none"
460 )]
461 pub use_organization_domains: Option<bool>,
462 #[serde(
464 rename = "useAdminSponsoredFamilies",
465 alias = "UseAdminSponsoredFamilies",
466 skip_serializing_if = "Option::is_none"
467 )]
468 pub use_admin_sponsored_families: Option<bool>,
469 #[serde(
471 rename = "syncSeats",
472 alias = "SyncSeats",
473 skip_serializing_if = "Option::is_none"
474 )]
475 pub sync_seats: Option<bool>,
476 #[serde(
481 rename = "useAutomaticUserConfirmation",
482 alias = "UseAutomaticUserConfirmation",
483 skip_serializing_if = "Option::is_none"
484 )]
485 pub use_automatic_user_confirmation: Option<bool>,
486 #[serde(
488 rename = "useDisableSmAdsForUsers",
489 alias = "UseDisableSmAdsForUsers",
490 skip_serializing_if = "Option::is_none"
491 )]
492 pub use_disable_sm_ads_for_users: Option<bool>,
493 #[serde(
495 rename = "usePhishingBlocker",
496 alias = "UsePhishingBlocker",
497 skip_serializing_if = "Option::is_none"
498 )]
499 pub use_phishing_blocker: Option<bool>,
500 #[serde(
503 rename = "useMyItems",
504 alias = "UseMyItems",
505 skip_serializing_if = "Option::is_none"
506 )]
507 pub use_my_items: Option<bool>,
508 #[serde(
511 rename = "useInviteLinks",
512 alias = "UseInviteLinks",
513 skip_serializing_if = "Option::is_none"
514 )]
515 pub use_invite_links: Option<bool>,
516 #[serde(
518 rename = "usePam",
519 alias = "UsePam",
520 skip_serializing_if = "Option::is_none"
521 )]
522 pub use_pam: Option<bool>,
523 #[serde(
526 rename = "exemptFromBillingAutomation",
527 alias = "ExemptFromBillingAutomation",
528 skip_serializing_if = "Option::is_none"
529 )]
530 pub exempt_from_billing_automation: Option<bool>,
531}
532
533impl Organization {
534 pub fn new() -> Organization {
537 Organization {
538 id: None,
539 identifier: None,
540 name: None,
541 business_name: None,
542 business_address1: None,
543 business_address2: None,
544 business_address3: None,
545 business_country: None,
546 business_tax_number: None,
547 billing_email: None,
548 plan: None,
549 plan_type: None,
550 seats: None,
551 max_collections: None,
552 use_policies: None,
553 use_sso: None,
554 use_key_connector: None,
555 use_scim: None,
556 use_groups: None,
557 use_directory: None,
558 use_events: None,
559 use_totp: None,
560 use2fa: None,
561 use_api: None,
562 use_reset_password: None,
563 use_secrets_manager: None,
564 self_host: None,
565 users_get_premium: None,
566 use_custom_permissions: None,
567 storage: None,
568 max_storage_gb: None,
569 gateway: None,
570 gateway_customer_id: None,
571 gateway_subscription_id: None,
572 reference_data: None,
573 enabled: None,
574 license_key: None,
575 public_key: None,
576 private_key: None,
577 two_factor_providers: None,
578 expiration_date: None,
579 creation_date: None,
580 revision_date: None,
581 max_autoscale_seats: None,
582 owners_notified_of_autoscaling: None,
583 status: None,
584 use_password_manager: None,
585 sm_seats: None,
586 sm_service_accounts: None,
587 max_autoscale_sm_seats: None,
588 max_autoscale_sm_service_accounts: None,
589 pam_seats: None,
590 max_autoscale_pam_seats: None,
591 limit_collection_creation: None,
592 limit_collection_deletion: None,
593 allow_admin_access_to_all_collection_items: None,
594 limit_item_deletion: None,
595 use_risk_insights: None,
596 use_organization_domains: None,
597 use_admin_sponsored_families: None,
598 sync_seats: None,
599 use_automatic_user_confirmation: None,
600 use_disable_sm_ads_for_users: None,
601 use_phishing_blocker: None,
602 use_my_items: None,
603 use_invite_links: None,
604 use_pam: None,
605 exempt_from_billing_automation: None,
606 }
607 }
608}