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(
303 rename = "organizationKeyId",
304 alias = "OrganizationKeyId",
305 skip_serializing_if = "Option::is_none"
306 )]
307 pub organization_key_id: Option<String>,
308 #[serde(
314 rename = "twoFactorProviders",
315 alias = "TwoFactorProviders",
316 skip_serializing_if = "Option::is_none"
317 )]
318 pub two_factor_providers: Option<String>,
319 #[serde(
321 rename = "expirationDate",
322 alias = "ExpirationDate",
323 skip_serializing_if = "Option::is_none"
324 )]
325 pub expiration_date: Option<String>,
326 #[serde(
328 rename = "creationDate",
329 alias = "CreationDate",
330 skip_serializing_if = "Option::is_none"
331 )]
332 pub creation_date: Option<String>,
333 #[serde(
335 rename = "revisionDate",
336 alias = "RevisionDate",
337 skip_serializing_if = "Option::is_none"
338 )]
339 pub revision_date: Option<String>,
340 #[serde(
343 rename = "maxAutoscaleSeats",
344 alias = "MaxAutoscaleSeats",
345 skip_serializing_if = "Option::is_none"
346 )]
347 pub max_autoscale_seats: Option<i32>,
348 #[serde(
351 rename = "ownersNotifiedOfAutoscaling",
352 alias = "OwnersNotifiedOfAutoscaling",
353 skip_serializing_if = "Option::is_none"
354 )]
355 pub owners_notified_of_autoscaling: Option<String>,
356 #[serde(
357 rename = "status",
358 alias = "Status",
359 skip_serializing_if = "Option::is_none"
360 )]
361 pub status: Option<models::OrganizationStatusType>,
362 #[serde(
366 rename = "usePasswordManager",
367 alias = "UsePasswordManager",
368 skip_serializing_if = "Option::is_none"
369 )]
370 pub use_password_manager: Option<bool>,
371 #[serde(
374 rename = "smSeats",
375 alias = "SmSeats",
376 skip_serializing_if = "Option::is_none"
377 )]
378 pub sm_seats: Option<i32>,
379 #[serde(
383 rename = "smServiceAccounts",
384 alias = "SmServiceAccounts",
385 skip_serializing_if = "Option::is_none"
386 )]
387 pub sm_service_accounts: Option<i32>,
388 #[serde(
391 rename = "maxAutoscaleSmSeats",
392 alias = "MaxAutoscaleSmSeats",
393 skip_serializing_if = "Option::is_none"
394 )]
395 pub max_autoscale_sm_seats: Option<i32>,
396 #[serde(
399 rename = "maxAutoscaleSmServiceAccounts",
400 alias = "MaxAutoscaleSmServiceAccounts",
401 skip_serializing_if = "Option::is_none"
402 )]
403 pub max_autoscale_sm_service_accounts: Option<i32>,
404 #[serde(
409 rename = "pamSeats",
410 alias = "PamSeats",
411 skip_serializing_if = "Option::is_none"
412 )]
413 pub pam_seats: Option<i32>,
414 #[serde(
417 rename = "maxAutoscalePamSeats",
418 alias = "MaxAutoscalePamSeats",
419 skip_serializing_if = "Option::is_none"
420 )]
421 pub max_autoscale_pam_seats: Option<i32>,
422 #[serde(
425 rename = "pamSeatMinimum",
426 alias = "PamSeatMinimum",
427 skip_serializing_if = "Option::is_none"
428 )]
429 pub pam_seat_minimum: Option<i32>,
430 #[serde(
434 rename = "limitCollectionCreation",
435 alias = "LimitCollectionCreation",
436 skip_serializing_if = "Option::is_none"
437 )]
438 pub limit_collection_creation: Option<bool>,
439 #[serde(
442 rename = "limitCollectionDeletion",
443 alias = "LimitCollectionDeletion",
444 skip_serializing_if = "Option::is_none"
445 )]
446 pub limit_collection_deletion: Option<bool>,
447 #[serde(
451 rename = "allowAdminAccessToAllCollectionItems",
452 alias = "AllowAdminAccessToAllCollectionItems",
453 skip_serializing_if = "Option::is_none"
454 )]
455 pub allow_admin_access_to_all_collection_items: Option<bool>,
456 #[serde(
460 rename = "limitItemDeletion",
461 alias = "LimitItemDeletion",
462 skip_serializing_if = "Option::is_none"
463 )]
464 pub limit_item_deletion: Option<bool>,
465 #[serde(
468 rename = "useRiskInsights",
469 alias = "UseRiskInsights",
470 skip_serializing_if = "Option::is_none"
471 )]
472 pub use_risk_insights: Option<bool>,
473 #[serde(
475 rename = "useOrganizationDomains",
476 alias = "UseOrganizationDomains",
477 skip_serializing_if = "Option::is_none"
478 )]
479 pub use_organization_domains: Option<bool>,
480 #[serde(
482 rename = "useAdminSponsoredFamilies",
483 alias = "UseAdminSponsoredFamilies",
484 skip_serializing_if = "Option::is_none"
485 )]
486 pub use_admin_sponsored_families: Option<bool>,
487 #[serde(
489 rename = "syncSeats",
490 alias = "SyncSeats",
491 skip_serializing_if = "Option::is_none"
492 )]
493 pub sync_seats: Option<bool>,
494 #[serde(
499 rename = "useAutomaticUserConfirmation",
500 alias = "UseAutomaticUserConfirmation",
501 skip_serializing_if = "Option::is_none"
502 )]
503 pub use_automatic_user_confirmation: Option<bool>,
504 #[serde(
506 rename = "useDisableSmAdsForUsers",
507 alias = "UseDisableSmAdsForUsers",
508 skip_serializing_if = "Option::is_none"
509 )]
510 pub use_disable_sm_ads_for_users: Option<bool>,
511 #[serde(
513 rename = "usePhishingBlocker",
514 alias = "UsePhishingBlocker",
515 skip_serializing_if = "Option::is_none"
516 )]
517 pub use_phishing_blocker: Option<bool>,
518 #[serde(
521 rename = "useMyItems",
522 alias = "UseMyItems",
523 skip_serializing_if = "Option::is_none"
524 )]
525 pub use_my_items: Option<bool>,
526 #[serde(
529 rename = "useInviteLinks",
530 alias = "UseInviteLinks",
531 skip_serializing_if = "Option::is_none"
532 )]
533 pub use_invite_links: Option<bool>,
534 #[serde(
536 rename = "usePam",
537 alias = "UsePam",
538 skip_serializing_if = "Option::is_none"
539 )]
540 pub use_pam: Option<bool>,
541 #[serde(
544 rename = "exemptFromBillingAutomation",
545 alias = "ExemptFromBillingAutomation",
546 skip_serializing_if = "Option::is_none"
547 )]
548 pub exempt_from_billing_automation: Option<bool>,
549}
550
551impl Organization {
552 pub fn new() -> Organization {
555 Organization {
556 id: None,
557 identifier: None,
558 name: None,
559 business_name: None,
560 business_address1: None,
561 business_address2: None,
562 business_address3: None,
563 business_country: None,
564 business_tax_number: None,
565 billing_email: None,
566 plan: None,
567 plan_type: None,
568 seats: None,
569 max_collections: None,
570 use_policies: None,
571 use_sso: None,
572 use_key_connector: None,
573 use_scim: None,
574 use_groups: None,
575 use_directory: None,
576 use_events: None,
577 use_totp: None,
578 use2fa: None,
579 use_api: None,
580 use_reset_password: None,
581 use_secrets_manager: None,
582 self_host: None,
583 users_get_premium: None,
584 use_custom_permissions: None,
585 storage: None,
586 max_storage_gb: None,
587 gateway: None,
588 gateway_customer_id: None,
589 gateway_subscription_id: None,
590 reference_data: None,
591 enabled: None,
592 license_key: None,
593 public_key: None,
594 private_key: None,
595 organization_key_id: None,
596 two_factor_providers: None,
597 expiration_date: None,
598 creation_date: None,
599 revision_date: None,
600 max_autoscale_seats: None,
601 owners_notified_of_autoscaling: None,
602 status: None,
603 use_password_manager: None,
604 sm_seats: None,
605 sm_service_accounts: None,
606 max_autoscale_sm_seats: None,
607 max_autoscale_sm_service_accounts: None,
608 pam_seats: None,
609 max_autoscale_pam_seats: None,
610 pam_seat_minimum: None,
611 limit_collection_creation: None,
612 limit_collection_deletion: None,
613 allow_admin_access_to_all_collection_items: None,
614 limit_item_deletion: None,
615 use_risk_insights: None,
616 use_organization_domains: None,
617 use_admin_sponsored_families: None,
618 sync_seats: None,
619 use_automatic_user_confirmation: None,
620 use_disable_sm_ads_for_users: None,
621 use_phishing_blocker: None,
622 use_my_items: None,
623 use_invite_links: None,
624 use_pam: None,
625 exempt_from_billing_automation: None,
626 }
627 }
628}