graph_rs_types/
entitytypes.rs

1use crate::complextypes::*;
2use crate::enumtypes::*;
3
4#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
5pub struct Entity {}
6
7#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
8pub struct DirectoryObject {
9    #[serde(rename = "deletedDateTime")]
10    pub deleted_date_time: String,
11}
12
13#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
14pub struct AdministrativeUnit {}
15
16#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
17pub struct Directory {
18    #[serde(rename = "deletedItems")]
19    pub deleted_items: Vec<DirectoryObject>,
20}
21
22#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
23pub struct Device {
24    #[serde(rename = "accountEnabled")]
25    pub account_enabled: bool,
26    #[serde(rename = "alternativeSecurityIds")]
27    pub alternative_security_ids: Vec<AlternativeSecurityId>,
28    #[serde(rename = "approximateLastSignInDateTime")]
29    pub approximate_last_sign_in_date_time: String,
30    #[serde(rename = "complianceExpirationDateTime")]
31    pub compliance_expiration_date_time: String,
32    #[serde(rename = "deviceId")]
33    pub device_id: String,
34    #[serde(rename = "deviceMetadata")]
35    pub device_metadata: String,
36    #[serde(rename = "deviceVersion")]
37    pub device_version: i32,
38    #[serde(rename = "displayName")]
39    pub display_name: String,
40    #[serde(rename = "isCompliant")]
41    pub is_compliant: bool,
42    #[serde(rename = "isManaged")]
43    pub is_managed: bool,
44    #[serde(rename = "onPremisesLastSyncDateTime")]
45    pub on_premises_last_sync_date_time: String,
46    #[serde(rename = "onPremisesSyncEnabled")]
47    pub on_premises_sync_enabled: bool,
48    #[serde(rename = "operatingSystem")]
49    pub operating_system: String,
50    #[serde(rename = "operatingSystemVersion")]
51    pub operating_system_version: String,
52    #[serde(rename = "physicalIds")]
53    pub physical_ids: Vec<String>,
54    #[serde(rename = "profileType")]
55    pub profile_type: String,
56    #[serde(rename = "systemLabels")]
57    pub system_labels: Vec<String>,
58    #[serde(rename = "trustType")]
59    pub trust_type: String,
60    #[serde(rename = "memberOf")]
61    pub member_of: Vec<DirectoryObject>,
62    #[serde(rename = "registeredOwners")]
63    pub registered_owners: Vec<DirectoryObject>,
64    #[serde(rename = "registeredUsers")]
65    pub registered_users: Vec<DirectoryObject>,
66    #[serde(rename = "transitiveMemberOf")]
67    pub transitive_member_of: Vec<DirectoryObject>,
68    #[serde(rename = "extensions")]
69    pub extensions: Vec<Extension>,
70}
71
72#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
73pub struct Extension {}
74
75#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
76pub struct DirectoryObjectPartnerReference {
77    #[serde(rename = "description")]
78    pub description: String,
79    #[serde(rename = "displayName")]
80    pub display_name: String,
81    #[serde(rename = "externalPartnerTenantId")]
82    pub external_partner_tenant_id: String,
83    #[serde(rename = "objectType")]
84    pub object_type: String,
85}
86
87#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
88pub struct DirectoryRole {
89    #[serde(rename = "description")]
90    pub description: String,
91    #[serde(rename = "displayName")]
92    pub display_name: String,
93    #[serde(rename = "roleTemplateId")]
94    pub role_template_id: String,
95    #[serde(rename = "members")]
96    pub members: Vec<DirectoryObject>,
97}
98
99#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
100pub struct DirectoryRoleTemplate {
101    #[serde(rename = "description")]
102    pub description: String,
103    #[serde(rename = "displayName")]
104    pub display_name: String,
105}
106
107#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
108pub struct Domain {
109    #[serde(rename = "authenticationType")]
110    pub authentication_type: String,
111    #[serde(rename = "availabilityStatus")]
112    pub availability_status: String,
113    #[serde(rename = "isAdminManaged")]
114    pub is_admin_managed: bool,
115    #[serde(rename = "isDefault")]
116    pub is_default: bool,
117    #[serde(rename = "isInitial")]
118    pub is_initial: bool,
119    #[serde(rename = "isRoot")]
120    pub is_root: bool,
121    #[serde(rename = "isVerified")]
122    pub is_verified: bool,
123    #[serde(rename = "passwordNotificationWindowInDays")]
124    pub password_notification_window_in_days: i32,
125    #[serde(rename = "passwordValidityPeriodInDays")]
126    pub password_validity_period_in_days: i32,
127    #[serde(rename = "supportedServices")]
128    pub supported_services: Vec<String>,
129    #[serde(rename = "state")]
130    pub state: DomainState,
131    #[serde(rename = "serviceConfigurationRecords")]
132    pub service_configuration_records: Vec<DomainDnsRecord>,
133    #[serde(rename = "verificationDnsRecords")]
134    pub verification_dns_records: Vec<DomainDnsRecord>,
135    #[serde(rename = "domainNameReferences")]
136    pub domain_name_references: Vec<DirectoryObject>,
137}
138
139#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
140pub struct DomainDnsRecord {
141    #[serde(rename = "isOptional")]
142    pub is_optional: bool,
143    #[serde(rename = "label")]
144    pub label: String,
145    #[serde(rename = "recordType")]
146    pub record_type: String,
147    #[serde(rename = "supportedService")]
148    pub supported_service: String,
149    #[serde(rename = "ttl")]
150    pub ttl: i32,
151}
152
153#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
154pub struct DomainDnsCnameRecord {
155    #[serde(rename = "canonicalName")]
156    pub canonical_name: String,
157}
158
159#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
160pub struct DomainDnsMxRecord {
161    #[serde(rename = "mailExchange")]
162    pub mail_exchange: String,
163    #[serde(rename = "preference")]
164    pub preference: i32,
165}
166
167#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
168pub struct DomainDnsSrvRecord {
169    #[serde(rename = "nameTarget")]
170    pub name_target: String,
171    #[serde(rename = "port")]
172    pub port: i32,
173    #[serde(rename = "priority")]
174    pub priority: i32,
175    #[serde(rename = "protocol")]
176    pub protocol: String,
177    #[serde(rename = "service")]
178    pub service: String,
179    #[serde(rename = "weight")]
180    pub weight: i32,
181}
182
183#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
184pub struct DomainDnsTxtRecord {
185    #[serde(rename = "text")]
186    pub text: String,
187}
188
189#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
190pub struct DomainDnsUnavailableRecord {
191    #[serde(rename = "description")]
192    pub description: String,
193}
194
195#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
196pub struct LicenseDetails {
197    #[serde(rename = "servicePlans")]
198    pub service_plans: Vec<ServicePlanInfo>,
199    #[serde(rename = "skuId")]
200    pub sku_id: String,
201    #[serde(rename = "skuPartNumber")]
202    pub sku_part_number: String,
203}
204
205#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
206pub struct Group {
207    #[serde(rename = "assignedLicenses")]
208    pub assigned_licenses: Vec<AssignedLicense>,
209    #[serde(rename = "classification")]
210    pub classification: String,
211    #[serde(rename = "createdDateTime")]
212    pub created_date_time: String,
213    #[serde(rename = "description")]
214    pub description: String,
215    #[serde(rename = "displayName")]
216    pub display_name: String,
217    #[serde(rename = "hasMembersWithLicenseErrors")]
218    pub has_members_with_license_errors: bool,
219    #[serde(rename = "groupTypes")]
220    pub group_types: Vec<String>,
221    #[serde(rename = "licenseProcessingState")]
222    pub license_processing_state: LicenseProcessingState,
223    #[serde(rename = "mail")]
224    pub mail: String,
225    #[serde(rename = "mailEnabled")]
226    pub mail_enabled: bool,
227    #[serde(rename = "mailNickname")]
228    pub mail_nickname: String,
229    #[serde(rename = "onPremisesLastSyncDateTime")]
230    pub on_premises_last_sync_date_time: String,
231    #[serde(rename = "onPremisesProvisioningErrors")]
232    pub on_premises_provisioning_errors: Vec<OnPremisesProvisioningError>,
233    #[serde(rename = "onPremisesSecurityIdentifier")]
234    pub on_premises_security_identifier: String,
235    #[serde(rename = "onPremisesSyncEnabled")]
236    pub on_premises_sync_enabled: bool,
237    #[serde(rename = "preferredDataLocation")]
238    pub preferred_data_location: String,
239    #[serde(rename = "proxyAddresses")]
240    pub proxy_addresses: Vec<String>,
241    #[serde(rename = "renewedDateTime")]
242    pub renewed_date_time: String,
243    #[serde(rename = "securityEnabled")]
244    pub security_enabled: bool,
245    #[serde(rename = "visibility")]
246    pub visibility: String,
247    #[serde(rename = "allowExternalSenders")]
248    pub allow_external_senders: bool,
249    #[serde(rename = "autoSubscribeNewMembers")]
250    pub auto_subscribe_new_members: bool,
251    #[serde(rename = "isSubscribedByMail")]
252    pub is_subscribed_by_mail: bool,
253    #[serde(rename = "unseenCount")]
254    pub unseen_count: i32,
255    #[serde(rename = "isArchived")]
256    pub is_archived: bool,
257    #[serde(rename = "members")]
258    pub members: Vec<DirectoryObject>,
259    #[serde(rename = "memberOf")]
260    pub member_of: Vec<DirectoryObject>,
261    #[serde(rename = "membersWithLicenseErrors")]
262    pub members_with_license_errors: Vec<DirectoryObject>,
263    #[serde(rename = "transitiveMembers")]
264    pub transitive_members: Vec<DirectoryObject>,
265    #[serde(rename = "transitiveMemberOf")]
266    pub transitive_member_of: Vec<DirectoryObject>,
267    #[serde(rename = "createdOnBehalfOf")]
268    pub created_on_behalf_of: DirectoryObject,
269    #[serde(rename = "owners")]
270    pub owners: Vec<DirectoryObject>,
271    #[serde(rename = "settings")]
272    pub settings: Vec<GroupSetting>,
273    #[serde(rename = "extensions")]
274    pub extensions: Vec<Extension>,
275    #[serde(rename = "threads")]
276    pub threads: Vec<ConversationThread>,
277    #[serde(rename = "calendar")]
278    pub calendar: Calendar,
279    #[serde(rename = "calendarView")]
280    pub calendar_view: Vec<Event>,
281    #[serde(rename = "events")]
282    pub events: Vec<Event>,
283    #[serde(rename = "conversations")]
284    pub conversations: Vec<Conversation>,
285    #[serde(rename = "photo")]
286    pub photo: ProfilePhoto,
287    #[serde(rename = "photos")]
288    pub photos: Vec<ProfilePhoto>,
289    #[serde(rename = "acceptedSenders")]
290    pub accepted_senders: Vec<DirectoryObject>,
291    #[serde(rename = "rejectedSenders")]
292    pub rejected_senders: Vec<DirectoryObject>,
293    #[serde(rename = "drive")]
294    pub drive: Drive,
295    #[serde(rename = "drives")]
296    pub drives: Vec<Drive>,
297    #[serde(rename = "sites")]
298    pub sites: Vec<Site>,
299    #[serde(rename = "planner")]
300    pub planner: PlannerGroup,
301    #[serde(rename = "onenote")]
302    pub onenote: Onenote,
303    #[serde(rename = "groupLifecyclePolicies")]
304    pub group_lifecycle_policies: Vec<GroupLifecyclePolicy>,
305    #[serde(rename = "team")]
306    pub team: Team,
307}
308
309#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
310pub struct GroupSetting {
311    #[serde(rename = "displayName")]
312    pub display_name: String,
313    #[serde(rename = "templateId")]
314    pub template_id: String,
315    #[serde(rename = "values")]
316    pub values: Vec<SettingValue>,
317}
318
319#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
320pub struct ConversationThread {
321    #[serde(rename = "toRecipients")]
322    pub to_recipients: Vec<Recipient>,
323    #[serde(rename = "topic")]
324    pub topic: String,
325    #[serde(rename = "hasAttachments")]
326    pub has_attachments: bool,
327    #[serde(rename = "lastDeliveredDateTime")]
328    pub last_delivered_date_time: String,
329    #[serde(rename = "uniqueSenders")]
330    pub unique_senders: Vec<String>,
331    #[serde(rename = "ccRecipients")]
332    pub cc_recipients: Vec<Recipient>,
333    #[serde(rename = "preview")]
334    pub preview: String,
335    #[serde(rename = "isLocked")]
336    pub is_locked: bool,
337    #[serde(rename = "posts")]
338    pub posts: Vec<Post>,
339}
340
341#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
342pub struct Calendar {
343    #[serde(rename = "name")]
344    pub name: String,
345    #[serde(rename = "color")]
346    pub color: CalendarColor,
347    #[serde(rename = "changeKey")]
348    pub change_key: String,
349    #[serde(rename = "canShare")]
350    pub can_share: bool,
351    #[serde(rename = "canViewPrivateItems")]
352    pub can_view_private_items: bool,
353    #[serde(rename = "canEdit")]
354    pub can_edit: bool,
355    #[serde(rename = "owner")]
356    pub owner: EmailAddress,
357    #[serde(rename = "events")]
358    pub events: Vec<Event>,
359    #[serde(rename = "calendarView")]
360    pub calendar_view: Vec<Event>,
361    #[serde(rename = "singleValueExtendedProperties")]
362    pub single_value_extended_properties: Vec<SingleValueLegacyExtendedProperty>,
363    #[serde(rename = "multiValueExtendedProperties")]
364    pub multi_value_extended_properties: Vec<MultiValueLegacyExtendedProperty>,
365}
366
367#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
368pub struct OutlookItem {
369    #[serde(rename = "createdDateTime")]
370    pub created_date_time: String,
371    #[serde(rename = "lastModifiedDateTime")]
372    pub last_modified_date_time: String,
373    #[serde(rename = "changeKey")]
374    pub change_key: String,
375    #[serde(rename = "categories")]
376    pub categories: Vec<String>,
377}
378
379#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
380pub struct Event {
381    #[serde(rename = "originalStartTimeZone")]
382    pub original_start_time_zone: String,
383    #[serde(rename = "originalEndTimeZone")]
384    pub original_end_time_zone: String,
385    #[serde(rename = "responseStatus")]
386    pub response_status: ResponseStatus,
387    #[serde(rename = "iCalUId")]
388    pub i_cal_u_id: String,
389    #[serde(rename = "reminderMinutesBeforeStart")]
390    pub reminder_minutes_before_start: i32,
391    #[serde(rename = "isReminderOn")]
392    pub is_reminder_on: bool,
393    #[serde(rename = "hasAttachments")]
394    pub has_attachments: bool,
395    #[serde(rename = "subject")]
396    pub subject: String,
397    #[serde(rename = "body")]
398    pub body: ItemBody,
399    #[serde(rename = "bodyPreview")]
400    pub body_preview: String,
401    #[serde(rename = "importance")]
402    pub importance: Importance,
403    #[serde(rename = "sensitivity")]
404    pub sensitivity: Sensitivity,
405    #[serde(rename = "start")]
406    pub start: String,
407    #[serde(rename = "originalStart")]
408    pub original_start: String,
409    #[serde(rename = "end")]
410    pub end: String,
411    #[serde(rename = "location")]
412    pub location: Location,
413    #[serde(rename = "locations")]
414    pub locations: Vec<Location>,
415    #[serde(rename = "isAllDay")]
416    pub is_all_day: bool,
417    #[serde(rename = "isCancelled")]
418    pub is_cancelled: bool,
419    #[serde(rename = "isOrganizer")]
420    pub is_organizer: bool,
421    #[serde(rename = "recurrence")]
422    pub recurrence: PatternedRecurrence,
423    #[serde(rename = "responseRequested")]
424    pub response_requested: bool,
425    #[serde(rename = "seriesMasterId")]
426    pub series_master_id: String,
427    #[serde(rename = "showAs")]
428    pub show_as: FreeBusyStatus,
429    #[serde(rename = "type")]
430    pub _type: EventType,
431    #[serde(rename = "attendees")]
432    pub attendees: Vec<Attendee>,
433    #[serde(rename = "organizer")]
434    pub organizer: Recipient,
435    #[serde(rename = "webLink")]
436    pub web_link: String,
437    #[serde(rename = "onlineMeetingUrl")]
438    pub online_meeting_url: String,
439    #[serde(rename = "calendar")]
440    pub calendar: Calendar,
441    #[serde(rename = "instances")]
442    pub instances: Vec<Event>,
443    #[serde(rename = "extensions")]
444    pub extensions: Vec<Extension>,
445    #[serde(rename = "attachments")]
446    pub attachments: Vec<Attachment>,
447    #[serde(rename = "singleValueExtendedProperties")]
448    pub single_value_extended_properties: Vec<SingleValueLegacyExtendedProperty>,
449    #[serde(rename = "multiValueExtendedProperties")]
450    pub multi_value_extended_properties: Vec<MultiValueLegacyExtendedProperty>,
451}
452
453#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
454pub struct Conversation {
455    #[serde(rename = "topic")]
456    pub topic: String,
457    #[serde(rename = "hasAttachments")]
458    pub has_attachments: bool,
459    #[serde(rename = "lastDeliveredDateTime")]
460    pub last_delivered_date_time: String,
461    #[serde(rename = "uniqueSenders")]
462    pub unique_senders: Vec<String>,
463    #[serde(rename = "preview")]
464    pub preview: String,
465    #[serde(rename = "threads")]
466    pub threads: Vec<ConversationThread>,
467}
468
469#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
470pub struct ProfilePhoto {
471    #[serde(rename = "height")]
472    pub height: i32,
473    #[serde(rename = "width")]
474    pub width: i32,
475}
476
477#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
478pub struct BaseItem {
479    #[serde(rename = "createdBy")]
480    pub created_by: IdentitySet,
481    #[serde(rename = "createdDateTime")]
482    pub created_date_time: String,
483    #[serde(rename = "description")]
484    pub description: String,
485    #[serde(rename = "eTag")]
486    pub e_tag: String,
487    #[serde(rename = "lastModifiedBy")]
488    pub last_modified_by: IdentitySet,
489    #[serde(rename = "lastModifiedDateTime")]
490    pub last_modified_date_time: String,
491    #[serde(rename = "name")]
492    pub name: String,
493    #[serde(rename = "parentReference")]
494    pub parent_reference: ItemReference,
495    #[serde(rename = "webUrl")]
496    pub web_url: String,
497    #[serde(rename = "createdByUser")]
498    pub created_by_user: User,
499    #[serde(rename = "lastModifiedByUser")]
500    pub last_modified_by_user: User,
501}
502
503#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
504pub struct Drive {
505    #[serde(rename = "driveType")]
506    pub drive_type: String,
507    #[serde(rename = "owner")]
508    pub owner: IdentitySet,
509    #[serde(rename = "quota")]
510    pub quota: Quota,
511    #[serde(rename = "sharePointIds")]
512    pub share_point_ids: SharepointIds,
513    #[serde(rename = "system")]
514    pub system: SystemFacet,
515    #[serde(rename = "items")]
516    pub items: Vec<DriveItem>,
517    #[serde(rename = "list")]
518    pub list: Box<List>,
519    #[serde(rename = "root")]
520    pub root: DriveItem,
521    #[serde(rename = "special")]
522    pub special: Vec<DriveItem>,
523}
524
525#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
526pub struct Site {
527    #[serde(rename = "displayName")]
528    pub display_name: String,
529    #[serde(rename = "root")]
530    pub root: Root,
531    #[serde(rename = "sharepointIds")]
532    pub sharepoint_ids: SharepointIds,
533    #[serde(rename = "siteCollection")]
534    pub site_collection: SiteCollection,
535    #[serde(rename = "analytics")]
536    pub analytics: ItemAnalytics,
537    #[serde(rename = "columns")]
538    pub columns: Vec<ColumnDefinition>,
539    #[serde(rename = "contentTypes")]
540    pub content_types: Vec<ContentType>,
541    #[serde(rename = "drive")]
542    pub drive: Drive,
543    #[serde(rename = "drives")]
544    pub drives: Vec<Drive>,
545    #[serde(rename = "items")]
546    pub items: Vec<BaseItem>,
547    #[serde(rename = "lists")]
548    pub lists: Vec<List>,
549    #[serde(rename = "sites")]
550    pub sites: Vec<Site>,
551    #[serde(rename = "onenote")]
552    pub onenote: Onenote,
553}
554
555#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
556pub struct PlannerGroup {
557    #[serde(rename = "plans")]
558    pub plans: Vec<PlannerPlan>,
559}
560
561#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
562pub struct Onenote {
563    #[serde(rename = "notebooks")]
564    pub notebooks: Vec<Notebook>,
565    #[serde(rename = "sections")]
566    pub sections: Vec<OnenoteSection>,
567    #[serde(rename = "sectionGroups")]
568    pub section_groups: Vec<SectionGroup>,
569    #[serde(rename = "pages")]
570    pub pages: Vec<OnenotePage>,
571    #[serde(rename = "resources")]
572    pub resources: Vec<OnenoteResource>,
573    #[serde(rename = "operations")]
574    pub operations: Vec<OnenoteOperation>,
575}
576
577#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
578pub struct GroupLifecyclePolicy {
579    #[serde(rename = "groupLifetimeInDays")]
580    pub group_lifetime_in_days: i32,
581    #[serde(rename = "managedGroupTypes")]
582    pub managed_group_types: String,
583    #[serde(rename = "alternateNotificationEmails")]
584    pub alternate_notification_emails: String,
585}
586
587#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
588pub struct Team {
589    #[serde(rename = "webUrl")]
590    pub web_url: String,
591    #[serde(rename = "memberSettings")]
592    pub member_settings: TeamMemberSettings,
593    #[serde(rename = "guestSettings")]
594    pub guest_settings: TeamGuestSettings,
595    #[serde(rename = "messagingSettings")]
596    pub messaging_settings: TeamMessagingSettings,
597    #[serde(rename = "funSettings")]
598    pub fun_settings: TeamFunSettings,
599    #[serde(rename = "isArchived")]
600    pub is_archived: bool,
601    #[serde(rename = "channels")]
602    pub channels: Vec<Channel>,
603    #[serde(rename = "installedApps")]
604    pub installed_apps: Vec<TeamsAppInstallation>,
605    #[serde(rename = "operations")]
606    pub operations: Vec<TeamsAsyncOperation>,
607}
608
609#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
610pub struct Contract {
611    #[serde(rename = "contractType")]
612    pub contract_type: String,
613    #[serde(rename = "customerId")]
614    pub customer_id: String,
615    #[serde(rename = "defaultDomainName")]
616    pub default_domain_name: String,
617    #[serde(rename = "displayName")]
618    pub display_name: String,
619}
620
621#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
622pub struct SubscribedSku {
623    #[serde(rename = "capabilityStatus")]
624    pub capability_status: String,
625    #[serde(rename = "consumedUnits")]
626    pub consumed_units: i32,
627    #[serde(rename = "prepaidUnits")]
628    pub prepaid_units: LicenseUnitsDetail,
629    #[serde(rename = "servicePlans")]
630    pub service_plans: Vec<ServicePlanInfo>,
631    #[serde(rename = "skuId")]
632    pub sku_id: String,
633    #[serde(rename = "skuPartNumber")]
634    pub sku_part_number: String,
635    #[serde(rename = "appliesTo")]
636    pub applies_to: String,
637}
638
639#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
640pub struct Organization {
641    #[serde(rename = "assignedPlans")]
642    pub assigned_plans: Vec<AssignedPlan>,
643    #[serde(rename = "businessPhones")]
644    pub business_phones: Vec<String>,
645    #[serde(rename = "city")]
646    pub city: String,
647    #[serde(rename = "country")]
648    pub country: String,
649    #[serde(rename = "countryLetterCode")]
650    pub country_letter_code: String,
651    #[serde(rename = "createdDateTime")]
652    pub created_date_time: String,
653    #[serde(rename = "displayName")]
654    pub display_name: String,
655    #[serde(rename = "marketingNotificationEmails")]
656    pub marketing_notification_emails: Vec<String>,
657    #[serde(rename = "onPremisesLastSyncDateTime")]
658    pub on_premises_last_sync_date_time: String,
659    #[serde(rename = "onPremisesSyncEnabled")]
660    pub on_premises_sync_enabled: bool,
661    #[serde(rename = "postalCode")]
662    pub postal_code: String,
663    #[serde(rename = "preferredLanguage")]
664    pub preferred_language: String,
665    #[serde(rename = "privacyProfile")]
666    pub privacy_profile: PrivacyProfile,
667    #[serde(rename = "provisionedPlans")]
668    pub provisioned_plans: Vec<ProvisionedPlan>,
669    #[serde(rename = "securityComplianceNotificationMails")]
670    pub security_compliance_notification_mails: Vec<String>,
671    #[serde(rename = "securityComplianceNotificationPhones")]
672    pub security_compliance_notification_phones: Vec<String>,
673    #[serde(rename = "state")]
674    pub state: String,
675    #[serde(rename = "street")]
676    pub street: String,
677    #[serde(rename = "technicalNotificationMails")]
678    pub technical_notification_mails: Vec<String>,
679    #[serde(rename = "verifiedDomains")]
680    pub verified_domains: Vec<VerifiedDomain>,
681    #[serde(rename = "mobileDeviceManagementAuthority")]
682    pub mobile_device_management_authority: MdmAuthority,
683    #[serde(rename = "extensions")]
684    pub extensions: Vec<Extension>,
685}
686
687#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
688pub struct User {
689    #[serde(rename = "accountEnabled")]
690    pub account_enabled: bool,
691    #[serde(rename = "ageGroup")]
692    pub age_group: String,
693    #[serde(rename = "assignedLicenses")]
694    pub assigned_licenses: Vec<AssignedLicense>,
695    #[serde(rename = "assignedPlans")]
696    pub assigned_plans: Vec<AssignedPlan>,
697    #[serde(rename = "businessPhones")]
698    pub business_phones: Vec<String>,
699    #[serde(rename = "city")]
700    pub city: String,
701    #[serde(rename = "companyName")]
702    pub company_name: String,
703    #[serde(rename = "consentProvidedForMinor")]
704    pub consent_provided_for_minor: String,
705    #[serde(rename = "country")]
706    pub country: String,
707    #[serde(rename = "department")]
708    pub department: String,
709    #[serde(rename = "displayName")]
710    pub display_name: String,
711    #[serde(rename = "employeeId")]
712    pub employee_id: String,
713    #[serde(rename = "faxNumber")]
714    pub fax_number: String,
715    #[serde(rename = "givenName")]
716    pub given_name: String,
717    #[serde(rename = "imAddresses")]
718    pub im_addresses: Vec<String>,
719    #[serde(rename = "isResourceAccount")]
720    pub is_resource_account: bool,
721    #[serde(rename = "jobTitle")]
722    pub job_title: String,
723    #[serde(rename = "legalAgeGroupClassification")]
724    pub legal_age_group_classification: String,
725    #[serde(rename = "licenseAssignmentStates")]
726    pub license_assignment_states: Vec<LicenseAssignmentState>,
727    #[serde(rename = "mail")]
728    pub mail: String,
729    #[serde(rename = "mailNickname")]
730    pub mail_nickname: String,
731    #[serde(rename = "mobilePhone")]
732    pub mobile_phone: String,
733    #[serde(rename = "onPremisesDistinguishedName")]
734    pub on_premises_distinguished_name: String,
735    #[serde(rename = "onPremisesExtensionAttributes")]
736    pub on_premises_extension_attributes: OnPremisesExtensionAttributes,
737    #[serde(rename = "onPremisesImmutableId")]
738    pub on_premises_immutable_id: String,
739    #[serde(rename = "onPremisesLastSyncDateTime")]
740    pub on_premises_last_sync_date_time: String,
741    #[serde(rename = "onPremisesProvisioningErrors")]
742    pub on_premises_provisioning_errors: Vec<OnPremisesProvisioningError>,
743    #[serde(rename = "onPremisesSecurityIdentifier")]
744    pub on_premises_security_identifier: String,
745    #[serde(rename = "onPremisesSyncEnabled")]
746    pub on_premises_sync_enabled: bool,
747    #[serde(rename = "onPremisesDomainName")]
748    pub on_premises_domain_name: String,
749    #[serde(rename = "onPremisesSamAccountName")]
750    pub on_premises_sam_account_name: String,
751    #[serde(rename = "onPremisesUserPrincipalName")]
752    pub on_premises_user_principal_name: String,
753    #[serde(rename = "otherMails")]
754    pub other_mails: Vec<String>,
755    #[serde(rename = "passwordPolicies")]
756    pub password_policies: String,
757    #[serde(rename = "passwordProfile")]
758    pub password_profile: PasswordProfile,
759    #[serde(rename = "officeLocation")]
760    pub office_location: String,
761    #[serde(rename = "postalCode")]
762    pub postal_code: String,
763    #[serde(rename = "preferredLanguage")]
764    pub preferred_language: String,
765    #[serde(rename = "provisionedPlans")]
766    pub provisioned_plans: Vec<ProvisionedPlan>,
767    #[serde(rename = "proxyAddresses")]
768    pub proxy_addresses: Vec<String>,
769    #[serde(rename = "showInAddressList")]
770    pub show_in_address_list: bool,
771    #[serde(rename = "signInSessionsValidFromDateTime")]
772    pub sign_in_sessions_valid_from_date_time: String,
773    #[serde(rename = "state")]
774    pub state: String,
775    #[serde(rename = "streetAddress")]
776    pub street_address: String,
777    #[serde(rename = "surname")]
778    pub surname: String,
779    #[serde(rename = "usageLocation")]
780    pub usage_location: String,
781    #[serde(rename = "userPrincipalName")]
782    pub user_principal_name: String,
783    #[serde(rename = "userType")]
784    pub user_type: String,
785    #[serde(rename = "mailboxSettings")]
786    pub mailbox_settings: MailboxSettings,
787    #[serde(rename = "aboutMe")]
788    pub about_me: String,
789    #[serde(rename = "birthday")]
790    pub birthday: String,
791    #[serde(rename = "hireDate")]
792    pub hire_date: String,
793    #[serde(rename = "interests")]
794    pub interests: Vec<String>,
795    #[serde(rename = "mySite")]
796    pub my_site: String,
797    #[serde(rename = "pastProjects")]
798    pub past_projects: Vec<String>,
799    #[serde(rename = "preferredName")]
800    pub preferred_name: String,
801    #[serde(rename = "responsibilities")]
802    pub responsibilities: Vec<String>,
803    #[serde(rename = "schools")]
804    pub schools: Vec<String>,
805    #[serde(rename = "skills")]
806    pub skills: Vec<String>,
807    #[serde(rename = "deviceEnrollmentLimit")]
808    pub device_enrollment_limit: i32,
809    #[serde(rename = "ownedDevices")]
810    pub owned_devices: Vec<DirectoryObject>,
811    #[serde(rename = "registeredDevices")]
812    pub registered_devices: Vec<DirectoryObject>,
813    #[serde(rename = "manager")]
814    pub manager: DirectoryObject,
815    #[serde(rename = "directReports")]
816    pub direct_reports: Vec<DirectoryObject>,
817    #[serde(rename = "memberOf")]
818    pub member_of: Vec<DirectoryObject>,
819    #[serde(rename = "createdObjects")]
820    pub created_objects: Vec<DirectoryObject>,
821    #[serde(rename = "ownedObjects")]
822    pub owned_objects: Vec<DirectoryObject>,
823    #[serde(rename = "licenseDetails")]
824    pub license_details: Vec<LicenseDetails>,
825    #[serde(rename = "transitiveMemberOf")]
826    pub transitive_member_of: Vec<DirectoryObject>,
827    #[serde(rename = "extensions")]
828    pub extensions: Vec<Extension>,
829    #[serde(rename = "outlook")]
830    pub outlook: OutlookUser,
831    #[serde(rename = "messages")]
832    pub messages: Vec<Message>,
833    #[serde(rename = "mailFolders")]
834    pub mail_folders: Vec<MailFolder>,
835    #[serde(rename = "calendar")]
836    pub calendar: Calendar,
837    #[serde(rename = "calendars")]
838    pub calendars: Vec<Calendar>,
839    #[serde(rename = "calendarGroups")]
840    pub calendar_groups: Vec<CalendarGroup>,
841    #[serde(rename = "calendarView")]
842    pub calendar_view: Vec<Event>,
843    #[serde(rename = "events")]
844    pub events: Vec<Event>,
845    #[serde(rename = "people")]
846    pub people: Vec<Person>,
847    #[serde(rename = "contacts")]
848    pub contacts: Vec<Contact>,
849    #[serde(rename = "contactFolders")]
850    pub contact_folders: Vec<ContactFolder>,
851    #[serde(rename = "inferenceClassification")]
852    pub inference_classification: InferenceClassification,
853    #[serde(rename = "photo")]
854    pub photo: ProfilePhoto,
855    #[serde(rename = "photos")]
856    pub photos: Vec<ProfilePhoto>,
857    #[serde(rename = "drive")]
858    pub drive: Drive,
859    #[serde(rename = "drives")]
860    pub drives: Vec<Drive>,
861    #[serde(rename = "planner")]
862    pub planner: PlannerUser,
863    #[serde(rename = "onenote")]
864    pub onenote: Onenote,
865    #[serde(rename = "managedDevices")]
866    pub managed_devices: Vec<ManagedDevice>,
867    #[serde(rename = "managedAppRegistrations")]
868    pub managed_app_registrations: Vec<ManagedAppRegistration>,
869    #[serde(rename = "deviceManagementTroubleshootingEvents")]
870    pub device_management_troubleshooting_events: Vec<DeviceManagementTroubleshootingEvent>,
871    #[serde(rename = "activities")]
872    pub activities: Vec<UserActivity>,
873    #[serde(rename = "insights")]
874    pub insights: OfficeGraphInsights,
875    #[serde(rename = "settings")]
876    pub settings: UserSettings,
877    #[serde(rename = "joinedTeams")]
878    pub joined_teams: Vec<Group>,
879}
880
881#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
882pub struct OutlookUser {
883    #[serde(rename = "masterCategories")]
884    pub master_categories: Vec<OutlookCategory>,
885}
886
887#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
888pub struct Message {
889    #[serde(rename = "receivedDateTime")]
890    pub received_date_time: String,
891    #[serde(rename = "sentDateTime")]
892    pub sent_date_time: String,
893    #[serde(rename = "hasAttachments")]
894    pub has_attachments: bool,
895    #[serde(rename = "internetMessageId")]
896    pub internet_message_id: String,
897    #[serde(rename = "internetMessageHeaders")]
898    pub internet_message_headers: Vec<InternetMessageHeader>,
899    #[serde(rename = "subject")]
900    pub subject: String,
901    #[serde(rename = "body")]
902    pub body: ItemBody,
903    #[serde(rename = "bodyPreview")]
904    pub body_preview: String,
905    #[serde(rename = "importance")]
906    pub importance: Importance,
907    #[serde(rename = "parentFolderId")]
908    pub parent_folder_id: String,
909    #[serde(rename = "sender")]
910    pub sender: Recipient,
911    #[serde(rename = "from")]
912    pub from: Recipient,
913    #[serde(rename = "toRecipients")]
914    pub to_recipients: Vec<Recipient>,
915    #[serde(rename = "ccRecipients")]
916    pub cc_recipients: Vec<Recipient>,
917    #[serde(rename = "bccRecipients")]
918    pub bcc_recipients: Vec<Recipient>,
919    #[serde(rename = "replyTo")]
920    pub reply_to: Vec<Recipient>,
921    #[serde(rename = "conversationId")]
922    pub conversation_id: String,
923    #[serde(rename = "uniqueBody")]
924    pub unique_body: ItemBody,
925    #[serde(rename = "isDeliveryReceiptRequested")]
926    pub is_delivery_receipt_requested: bool,
927    #[serde(rename = "isReadReceiptRequested")]
928    pub is_read_receipt_requested: bool,
929    #[serde(rename = "isRead")]
930    pub is_read: bool,
931    #[serde(rename = "isDraft")]
932    pub is_draft: bool,
933    #[serde(rename = "webLink")]
934    pub web_link: String,
935    #[serde(rename = "inferenceClassification")]
936    pub inference_classification: InferenceClassificationType,
937    #[serde(rename = "flag")]
938    pub flag: FollowupFlag,
939    #[serde(rename = "attachments")]
940    pub attachments: Vec<Attachment>,
941    #[serde(rename = "extensions")]
942    pub extensions: Vec<Extension>,
943    #[serde(rename = "singleValueExtendedProperties")]
944    pub single_value_extended_properties: Vec<SingleValueLegacyExtendedProperty>,
945    #[serde(rename = "multiValueExtendedProperties")]
946    pub multi_value_extended_properties: Vec<MultiValueLegacyExtendedProperty>,
947}
948
949#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
950pub struct MailFolder {
951    #[serde(rename = "displayName")]
952    pub display_name: String,
953    #[serde(rename = "parentFolderId")]
954    pub parent_folder_id: String,
955    #[serde(rename = "childFolderCount")]
956    pub child_folder_count: i32,
957    #[serde(rename = "unreadItemCount")]
958    pub unread_item_count: i32,
959    #[serde(rename = "totalItemCount")]
960    pub total_item_count: i32,
961    #[serde(rename = "messages")]
962    pub messages: Vec<Message>,
963    #[serde(rename = "messageRules")]
964    pub message_rules: Vec<MessageRule>,
965    #[serde(rename = "childFolders")]
966    pub child_folders: Vec<MailFolder>,
967    #[serde(rename = "singleValueExtendedProperties")]
968    pub single_value_extended_properties: Vec<SingleValueLegacyExtendedProperty>,
969    #[serde(rename = "multiValueExtendedProperties")]
970    pub multi_value_extended_properties: Vec<MultiValueLegacyExtendedProperty>,
971}
972
973#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
974pub struct CalendarGroup {
975    #[serde(rename = "name")]
976    pub name: String,
977    #[serde(rename = "classId")]
978    pub class_id: String,
979    #[serde(rename = "changeKey")]
980    pub change_key: String,
981    #[serde(rename = "calendars")]
982    pub calendars: Vec<Calendar>,
983}
984
985#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
986pub struct Person {
987    #[serde(rename = "displayName")]
988    pub display_name: String,
989    #[serde(rename = "givenName")]
990    pub given_name: String,
991    #[serde(rename = "surname")]
992    pub surname: String,
993    #[serde(rename = "birthday")]
994    pub birthday: String,
995    #[serde(rename = "personNotes")]
996    pub person_notes: String,
997    #[serde(rename = "isFavorite")]
998    pub is_favorite: bool,
999    #[serde(rename = "scoredEmailAddresses")]
1000    pub scored_email_addresses: Vec<ScoredEmailAddress>,
1001    #[serde(rename = "phones")]
1002    pub phones: Vec<Phone>,
1003    #[serde(rename = "postalAddresses")]
1004    pub postal_addresses: Vec<Location>,
1005    #[serde(rename = "websites")]
1006    pub websites: Vec<Website>,
1007    #[serde(rename = "jobTitle")]
1008    pub job_title: String,
1009    #[serde(rename = "companyName")]
1010    pub company_name: String,
1011    #[serde(rename = "yomiCompany")]
1012    pub yomi_company: String,
1013    #[serde(rename = "department")]
1014    pub department: String,
1015    #[serde(rename = "officeLocation")]
1016    pub office_location: String,
1017    #[serde(rename = "profession")]
1018    pub profession: String,
1019    #[serde(rename = "personType")]
1020    pub person_type: PersonType,
1021    #[serde(rename = "userPrincipalName")]
1022    pub user_principal_name: String,
1023    #[serde(rename = "imAddress")]
1024    pub im_address: String,
1025}
1026
1027#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1028pub struct Contact {
1029    #[serde(rename = "parentFolderId")]
1030    pub parent_folder_id: String,
1031    #[serde(rename = "birthday")]
1032    pub birthday: String,
1033    #[serde(rename = "fileAs")]
1034    pub file_as: String,
1035    #[serde(rename = "displayName")]
1036    pub display_name: String,
1037    #[serde(rename = "givenName")]
1038    pub given_name: String,
1039    #[serde(rename = "initials")]
1040    pub initials: String,
1041    #[serde(rename = "middleName")]
1042    pub middle_name: String,
1043    #[serde(rename = "nickName")]
1044    pub nick_name: String,
1045    #[serde(rename = "surname")]
1046    pub surname: String,
1047    #[serde(rename = "title")]
1048    pub title: String,
1049    #[serde(rename = "yomiGivenName")]
1050    pub yomi_given_name: String,
1051    #[serde(rename = "yomiSurname")]
1052    pub yomi_surname: String,
1053    #[serde(rename = "yomiCompanyName")]
1054    pub yomi_company_name: String,
1055    #[serde(rename = "generation")]
1056    pub generation: String,
1057    #[serde(rename = "emailAddresses")]
1058    pub email_addresses: Vec<EmailAddress>,
1059    #[serde(rename = "imAddresses")]
1060    pub im_addresses: Vec<String>,
1061    #[serde(rename = "jobTitle")]
1062    pub job_title: String,
1063    #[serde(rename = "companyName")]
1064    pub company_name: String,
1065    #[serde(rename = "department")]
1066    pub department: String,
1067    #[serde(rename = "officeLocation")]
1068    pub office_location: String,
1069    #[serde(rename = "profession")]
1070    pub profession: String,
1071    #[serde(rename = "businessHomePage")]
1072    pub business_home_page: String,
1073    #[serde(rename = "assistantName")]
1074    pub assistant_name: String,
1075    #[serde(rename = "manager")]
1076    pub manager: String,
1077    #[serde(rename = "homePhones")]
1078    pub home_phones: Vec<String>,
1079    #[serde(rename = "mobilePhone")]
1080    pub mobile_phone: String,
1081    #[serde(rename = "businessPhones")]
1082    pub business_phones: Vec<String>,
1083    #[serde(rename = "homeAddress")]
1084    pub home_address: PhysicalAddress,
1085    #[serde(rename = "businessAddress")]
1086    pub business_address: PhysicalAddress,
1087    #[serde(rename = "otherAddress")]
1088    pub other_address: PhysicalAddress,
1089    #[serde(rename = "spouseName")]
1090    pub spouse_name: String,
1091    #[serde(rename = "personalNotes")]
1092    pub personal_notes: String,
1093    #[serde(rename = "children")]
1094    pub children: Vec<String>,
1095    #[serde(rename = "extensions")]
1096    pub extensions: Vec<Extension>,
1097    #[serde(rename = "singleValueExtendedProperties")]
1098    pub single_value_extended_properties: Vec<SingleValueLegacyExtendedProperty>,
1099    #[serde(rename = "multiValueExtendedProperties")]
1100    pub multi_value_extended_properties: Vec<MultiValueLegacyExtendedProperty>,
1101    #[serde(rename = "photo")]
1102    pub photo: ProfilePhoto,
1103}
1104
1105#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1106pub struct ContactFolder {
1107    #[serde(rename = "parentFolderId")]
1108    pub parent_folder_id: String,
1109    #[serde(rename = "displayName")]
1110    pub display_name: String,
1111    #[serde(rename = "contacts")]
1112    pub contacts: Vec<Contact>,
1113    #[serde(rename = "childFolders")]
1114    pub child_folders: Vec<ContactFolder>,
1115    #[serde(rename = "singleValueExtendedProperties")]
1116    pub single_value_extended_properties: Vec<SingleValueLegacyExtendedProperty>,
1117    #[serde(rename = "multiValueExtendedProperties")]
1118    pub multi_value_extended_properties: Vec<MultiValueLegacyExtendedProperty>,
1119}
1120
1121#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1122pub struct InferenceClassification {
1123    #[serde(rename = "overrides")]
1124    pub overrides: Vec<InferenceClassificationOverride>,
1125}
1126
1127#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1128pub struct PlannerUser {
1129    #[serde(rename = "tasks")]
1130    pub tasks: Vec<PlannerTask>,
1131    #[serde(rename = "plans")]
1132    pub plans: Vec<PlannerPlan>,
1133}
1134
1135#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1136pub struct ManagedDevice {
1137    #[serde(rename = "userId")]
1138    pub user_id: String,
1139    #[serde(rename = "deviceName")]
1140    pub device_name: String,
1141    #[serde(rename = "managedDeviceOwnerType")]
1142    pub managed_device_owner_type: ManagedDeviceOwnerType,
1143    #[serde(rename = "deviceActionResults")]
1144    pub device_action_results: Vec<DeviceActionResult>,
1145    #[serde(rename = "enrolledDateTime")]
1146    pub enrolled_date_time: String,
1147    #[serde(rename = "lastSyncDateTime")]
1148    pub last_sync_date_time: String,
1149    #[serde(rename = "operatingSystem")]
1150    pub operating_system: String,
1151    #[serde(rename = "complianceState")]
1152    pub compliance_state: ComplianceState,
1153    #[serde(rename = "jailBroken")]
1154    pub jail_broken: String,
1155    #[serde(rename = "managementAgent")]
1156    pub management_agent: ManagementAgentType,
1157    #[serde(rename = "osVersion")]
1158    pub os_version: String,
1159    #[serde(rename = "easActivated")]
1160    pub eas_activated: bool,
1161    #[serde(rename = "easDeviceId")]
1162    pub eas_device_id: String,
1163    #[serde(rename = "easActivationDateTime")]
1164    pub eas_activation_date_time: String,
1165    #[serde(rename = "azureADRegistered")]
1166    pub azure_a_d_registered: bool,
1167    #[serde(rename = "deviceEnrollmentType")]
1168    pub device_enrollment_type: DeviceEnrollmentType,
1169    #[serde(rename = "activationLockBypassCode")]
1170    pub activation_lock_bypass_code: String,
1171    #[serde(rename = "emailAddress")]
1172    pub email_address: String,
1173    #[serde(rename = "azureADDeviceId")]
1174    pub azure_a_d_device_id: String,
1175    #[serde(rename = "deviceRegistrationState")]
1176    pub device_registration_state: DeviceRegistrationState,
1177    #[serde(rename = "deviceCategoryDisplayName")]
1178    pub device_category_display_name: String,
1179    #[serde(rename = "isSupervised")]
1180    pub is_supervised: bool,
1181    #[serde(rename = "exchangeLastSuccessfulSyncDateTime")]
1182    pub exchange_last_successful_sync_date_time: String,
1183    #[serde(rename = "exchangeAccessState")]
1184    pub exchange_access_state: DeviceManagementExchangeAccessState,
1185    #[serde(rename = "exchangeAccessStateReason")]
1186    pub exchange_access_state_reason: DeviceManagementExchangeAccessStateReason,
1187    #[serde(rename = "remoteAssistanceSessionUrl")]
1188    pub remote_assistance_session_url: String,
1189    #[serde(rename = "remoteAssistanceSessionErrorDetails")]
1190    pub remote_assistance_session_error_details: String,
1191    #[serde(rename = "isEncrypted")]
1192    pub is_encrypted: bool,
1193    #[serde(rename = "userPrincipalName")]
1194    pub user_principal_name: String,
1195    #[serde(rename = "model")]
1196    pub model: String,
1197    #[serde(rename = "manufacturer")]
1198    pub manufacturer: String,
1199    #[serde(rename = "imei")]
1200    pub imei: String,
1201    #[serde(rename = "complianceGracePeriodExpirationDateTime")]
1202    pub compliance_grace_period_expiration_date_time: String,
1203    #[serde(rename = "serialNumber")]
1204    pub serial_number: String,
1205    #[serde(rename = "phoneNumber")]
1206    pub phone_number: String,
1207    #[serde(rename = "androidSecurityPatchLevel")]
1208    pub android_security_patch_level: String,
1209    #[serde(rename = "userDisplayName")]
1210    pub user_display_name: String,
1211    #[serde(rename = "configurationManagerClientEnabledFeatures")]
1212    pub configuration_manager_client_enabled_features: ConfigurationManagerClientEnabledFeatures,
1213    #[serde(rename = "wiFiMacAddress")]
1214    pub wi_fi_mac_address: String,
1215    #[serde(rename = "deviceHealthAttestationState")]
1216    pub device_health_attestation_state: DeviceHealthAttestationState,
1217    #[serde(rename = "subscriberCarrier")]
1218    pub subscriber_carrier: String,
1219    #[serde(rename = "meid")]
1220    pub meid: String,
1221    #[serde(rename = "totalStorageSpaceInBytes")]
1222    pub total_storage_space_in_bytes: i64,
1223    #[serde(rename = "freeStorageSpaceInBytes")]
1224    pub free_storage_space_in_bytes: i64,
1225    #[serde(rename = "managedDeviceName")]
1226    pub managed_device_name: String,
1227    #[serde(rename = "partnerReportedThreatState")]
1228    pub partner_reported_threat_state: ManagedDevicePartnerReportedHealthState,
1229    #[serde(rename = "deviceConfigurationStates")]
1230    pub device_configuration_states: Vec<DeviceConfigurationState>,
1231    #[serde(rename = "deviceCategory")]
1232    pub device_category: DeviceCategory,
1233    #[serde(rename = "deviceCompliancePolicyStates")]
1234    pub device_compliance_policy_states: Vec<DeviceCompliancePolicyState>,
1235}
1236
1237#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1238pub struct ManagedAppRegistration {
1239    #[serde(rename = "createdDateTime")]
1240    pub created_date_time: String,
1241    #[serde(rename = "lastSyncDateTime")]
1242    pub last_sync_date_time: String,
1243    #[serde(rename = "applicationVersion")]
1244    pub application_version: String,
1245    #[serde(rename = "managementSdkVersion")]
1246    pub management_sdk_version: String,
1247    #[serde(rename = "platformVersion")]
1248    pub platform_version: String,
1249    #[serde(rename = "deviceType")]
1250    pub device_type: String,
1251    #[serde(rename = "deviceTag")]
1252    pub device_tag: String,
1253    #[serde(rename = "deviceName")]
1254    pub device_name: String,
1255    #[serde(rename = "flaggedReasons")]
1256    pub flagged_reasons: Vec<ManagedAppFlaggedReason>,
1257    #[serde(rename = "userId")]
1258    pub user_id: String,
1259    #[serde(rename = "appIdentifier")]
1260    pub app_identifier: MobileAppIdentifier,
1261    #[serde(rename = "version")]
1262    pub version: String,
1263    #[serde(rename = "appliedPolicies")]
1264    pub applied_policies: Vec<ManagedAppPolicy>,
1265    #[serde(rename = "intendedPolicies")]
1266    pub intended_policies: Vec<ManagedAppPolicy>,
1267    #[serde(rename = "operations")]
1268    pub operations: Vec<ManagedAppOperation>,
1269}
1270
1271#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1272pub struct DeviceManagementTroubleshootingEvent {
1273    #[serde(rename = "eventDateTime")]
1274    pub event_date_time: String,
1275    #[serde(rename = "correlationId")]
1276    pub correlation_id: String,
1277}
1278
1279#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1280pub struct UserActivity {
1281    #[serde(rename = "visualElements")]
1282    pub visual_elements: VisualInfo,
1283    #[serde(rename = "activitySourceHost")]
1284    pub activity_source_host: String,
1285    #[serde(rename = "activationUrl")]
1286    pub activation_url: String,
1287    #[serde(rename = "appActivityId")]
1288    pub app_activity_id: String,
1289    #[serde(rename = "appDisplayName")]
1290    pub app_display_name: String,
1291    #[serde(rename = "contentUrl")]
1292    pub content_url: String,
1293    #[serde(rename = "createdDateTime")]
1294    pub created_date_time: String,
1295    #[serde(rename = "expirationDateTime")]
1296    pub expiration_date_time: String,
1297    #[serde(rename = "fallbackUrl")]
1298    pub fallback_url: String,
1299    #[serde(rename = "lastModifiedDateTime")]
1300    pub last_modified_date_time: String,
1301    #[serde(rename = "userTimezone")]
1302    pub user_timezone: String,
1303    #[serde(rename = "contentInfo")]
1304    pub content_info: Json,
1305    #[serde(rename = "status")]
1306    pub status: Status,
1307    #[serde(rename = "historyItems")]
1308    pub history_items: Vec<ActivityHistoryItem>,
1309}
1310
1311#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1312pub struct OfficeGraphInsights {
1313    #[serde(rename = "trending")]
1314    pub trending: Vec<Trending>,
1315    #[serde(rename = "shared")]
1316    pub shared: Vec<SharedInsight>,
1317    #[serde(rename = "used")]
1318    pub used: Vec<UsedInsight>,
1319}
1320
1321#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1322pub struct UserSettings {
1323    #[serde(rename = "contributionToContentDiscoveryDisabled")]
1324    pub contribution_to_content_discovery_disabled: bool,
1325    #[serde(rename = "contributionToContentDiscoveryAsOrganizationDisabled")]
1326    pub contribution_to_content_discovery_as_organization_disabled: bool,
1327}
1328
1329#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1330pub struct GroupSettingTemplate {
1331    #[serde(rename = "displayName")]
1332    pub display_name: String,
1333    #[serde(rename = "description")]
1334    pub description: String,
1335    #[serde(rename = "values")]
1336    pub values: Vec<SettingTemplateValue>,
1337}
1338
1339#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1340pub struct SchemaExtension {
1341    #[serde(rename = "description")]
1342    pub description: String,
1343    #[serde(rename = "targetTypes")]
1344    pub target_types: Vec<String>,
1345    #[serde(rename = "properties")]
1346    pub properties: Vec<ExtensionSchemaProperty>,
1347    #[serde(rename = "status")]
1348    pub status: String,
1349    #[serde(rename = "owner")]
1350    pub owner: String,
1351}
1352
1353#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1354pub struct Attachment {
1355    #[serde(rename = "lastModifiedDateTime")]
1356    pub last_modified_date_time: String,
1357    #[serde(rename = "name")]
1358    pub name: String,
1359    #[serde(rename = "contentType")]
1360    pub content_type: String,
1361    #[serde(rename = "size")]
1362    pub size: i32,
1363    #[serde(rename = "isInline")]
1364    pub is_inline: bool,
1365}
1366
1367#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1368pub struct OutlookCategory {
1369    #[serde(rename = "displayName")]
1370    pub display_name: String,
1371    #[serde(rename = "color")]
1372    pub color: CategoryColor,
1373}
1374
1375#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1376pub struct MessageRule {
1377    #[serde(rename = "displayName")]
1378    pub display_name: String,
1379    #[serde(rename = "sequence")]
1380    pub sequence: i32,
1381    #[serde(rename = "conditions")]
1382    pub conditions: MessageRulePredicates,
1383    #[serde(rename = "actions")]
1384    pub actions: MessageRuleActions,
1385    #[serde(rename = "exceptions")]
1386    pub exceptions: MessageRulePredicates,
1387    #[serde(rename = "isEnabled")]
1388    pub is_enabled: bool,
1389    #[serde(rename = "hasError")]
1390    pub has_error: bool,
1391    #[serde(rename = "isReadOnly")]
1392    pub is_read_only: bool,
1393}
1394
1395#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1396pub struct SingleValueLegacyExtendedProperty {
1397    #[serde(rename = "value")]
1398    pub value: String,
1399}
1400
1401#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1402pub struct MultiValueLegacyExtendedProperty {
1403    #[serde(rename = "value")]
1404    pub value: Vec<String>,
1405}
1406
1407#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1408pub struct MailSearchFolder {
1409    #[serde(rename = "isSupported")]
1410    pub is_supported: bool,
1411    #[serde(rename = "includeNestedFolders")]
1412    pub include_nested_folders: bool,
1413    #[serde(rename = "sourceFolderIds")]
1414    pub source_folder_ids: Vec<String>,
1415    #[serde(rename = "filterQuery")]
1416    pub filter_query: String,
1417}
1418
1419#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1420pub struct FileAttachment {
1421    #[serde(rename = "contentId")]
1422    pub content_id: String,
1423    #[serde(rename = "contentLocation")]
1424    pub content_location: String,
1425    #[serde(rename = "contentBytes")]
1426    pub content_bytes: Vec<u8>,
1427}
1428
1429#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1430pub struct ItemAttachment {
1431    #[serde(rename = "item")]
1432    pub item: OutlookItem,
1433}
1434
1435#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1436pub struct EventMessage {
1437    #[serde(rename = "meetingMessageType")]
1438    pub meeting_message_type: MeetingMessageType,
1439    #[serde(rename = "event")]
1440    pub event: Event,
1441}
1442
1443#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1444pub struct ReferenceAttachment {}
1445
1446#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1447pub struct OpenTypeExtension {
1448    #[serde(rename = "extensionName")]
1449    pub extension_name: String,
1450}
1451
1452#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1453pub struct Post {
1454    #[serde(rename = "body")]
1455    pub body: ItemBody,
1456    #[serde(rename = "receivedDateTime")]
1457    pub received_date_time: String,
1458    #[serde(rename = "hasAttachments")]
1459    pub has_attachments: bool,
1460    #[serde(rename = "from")]
1461    pub from: Recipient,
1462    #[serde(rename = "sender")]
1463    pub sender: Recipient,
1464    #[serde(rename = "conversationThreadId")]
1465    pub conversation_thread_id: String,
1466    #[serde(rename = "newParticipants")]
1467    pub new_participants: Vec<Recipient>,
1468    #[serde(rename = "conversationId")]
1469    pub conversation_id: String,
1470    #[serde(rename = "extensions")]
1471    pub extensions: Vec<Extension>,
1472    #[serde(rename = "inReplyTo")]
1473    pub in_reply_to: Box<Post>,
1474    #[serde(rename = "attachments")]
1475    pub attachments: Vec<Attachment>,
1476    #[serde(rename = "singleValueExtendedProperties")]
1477    pub single_value_extended_properties: Vec<SingleValueLegacyExtendedProperty>,
1478    #[serde(rename = "multiValueExtendedProperties")]
1479    pub multi_value_extended_properties: Vec<MultiValueLegacyExtendedProperty>,
1480}
1481
1482#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1483pub struct InferenceClassificationOverride {
1484    #[serde(rename = "classifyAs")]
1485    pub classify_as: InferenceClassificationType,
1486    #[serde(rename = "senderEmailAddress")]
1487    pub sender_email_address: EmailAddress,
1488}
1489
1490#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1491pub struct BaseItemVersion {
1492    #[serde(rename = "lastModifiedBy")]
1493    pub last_modified_by: IdentitySet,
1494    #[serde(rename = "lastModifiedDateTime")]
1495    pub last_modified_date_time: String,
1496    #[serde(rename = "publication")]
1497    pub publication: PublicationFacet,
1498}
1499
1500#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1501pub struct ColumnDefinition {
1502    #[serde(rename = "boolean")]
1503    pub boolean: BooleanColumn,
1504    #[serde(rename = "calculated")]
1505    pub calculated: CalculatedColumn,
1506    #[serde(rename = "choice")]
1507    pub choice: ChoiceColumn,
1508    #[serde(rename = "columnGroup")]
1509    pub column_group: String,
1510    #[serde(rename = "currency")]
1511    pub currency: CurrencyColumn,
1512    #[serde(rename = "dateTime")]
1513    pub date_time: String,
1514    #[serde(rename = "defaultValue")]
1515    pub default_value: DefaultColumnValue,
1516    #[serde(rename = "description")]
1517    pub description: String,
1518    #[serde(rename = "displayName")]
1519    pub display_name: String,
1520    #[serde(rename = "enforceUniqueValues")]
1521    pub enforce_unique_values: bool,
1522    #[serde(rename = "hidden")]
1523    pub hidden: bool,
1524    #[serde(rename = "indexed")]
1525    pub indexed: bool,
1526    #[serde(rename = "lookup")]
1527    pub lookup: LookupColumn,
1528    #[serde(rename = "name")]
1529    pub name: String,
1530    #[serde(rename = "number")]
1531    pub number: NumberColumn,
1532    #[serde(rename = "personOrGroup")]
1533    pub person_or_group: PersonOrGroupColumn,
1534    #[serde(rename = "readOnly")]
1535    pub read_only: bool,
1536    #[serde(rename = "required")]
1537    pub required: bool,
1538    #[serde(rename = "text")]
1539    pub text: TextColumn,
1540}
1541
1542#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1543pub struct ColumnLink {
1544    #[serde(rename = "name")]
1545    pub name: String,
1546}
1547
1548#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1549pub struct ContentType {
1550    #[serde(rename = "description")]
1551    pub description: String,
1552    #[serde(rename = "group")]
1553    pub group: String,
1554    #[serde(rename = "hidden")]
1555    pub hidden: bool,
1556    #[serde(rename = "inheritedFrom")]
1557    pub inherited_from: ItemReference,
1558    #[serde(rename = "name")]
1559    pub name: String,
1560    #[serde(rename = "order")]
1561    pub order: ContentTypeOrder,
1562    #[serde(rename = "parentId")]
1563    pub parent_id: String,
1564    #[serde(rename = "readOnly")]
1565    pub read_only: bool,
1566    #[serde(rename = "sealed")]
1567    pub sealed: bool,
1568    #[serde(rename = "columnLinks")]
1569    pub column_links: Vec<ColumnLink>,
1570}
1571
1572#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1573pub struct DriveItem {
1574    #[serde(rename = "audio")]
1575    pub audio: Audio,
1576    #[serde(rename = "content")]
1577    pub content: Vec<u8>,
1578    #[serde(rename = "cTag")]
1579    pub c_tag: String,
1580    #[serde(rename = "deleted")]
1581    pub deleted: Deleted,
1582    #[serde(rename = "file")]
1583    pub file: File,
1584    #[serde(rename = "fileSystemInfo")]
1585    pub file_system_info: FileSystemInfo,
1586    #[serde(rename = "folder")]
1587    pub folder: Folder,
1588    #[serde(rename = "image")]
1589    pub image: Image,
1590    #[serde(rename = "location")]
1591    pub location: GeoCoordinates,
1592    #[serde(rename = "package")]
1593    pub package: Package,
1594    #[serde(rename = "photo")]
1595    pub photo: Photo,
1596    #[serde(rename = "publication")]
1597    pub publication: PublicationFacet,
1598    #[serde(rename = "remoteItem")]
1599    pub remote_item: RemoteItem,
1600    #[serde(rename = "root")]
1601    pub root: Root,
1602    #[serde(rename = "searchResult")]
1603    pub search_result: SearchResult,
1604    #[serde(rename = "shared")]
1605    pub shared: Shared,
1606    #[serde(rename = "sharepointIds")]
1607    pub sharepoint_ids: SharepointIds,
1608    #[serde(rename = "size")]
1609    pub size: i64,
1610    #[serde(rename = "specialFolder")]
1611    pub special_folder: SpecialFolder,
1612    #[serde(rename = "video")]
1613    pub video: Video,
1614    #[serde(rename = "webDavUrl")]
1615    pub web_dav_url: String,
1616    #[serde(rename = "analytics")]
1617    pub analytics: ItemAnalytics,
1618    #[serde(rename = "children")]
1619    pub children: Vec<DriveItem>,
1620    #[serde(rename = "listItem")]
1621    pub list_item: Box<ListItem>,
1622    #[serde(rename = "permissions")]
1623    pub permissions: Vec<Permission>,
1624    #[serde(rename = "subscriptions")]
1625    pub subscriptions: Vec<Subscription>,
1626    #[serde(rename = "thumbnails")]
1627    pub thumbnails: Vec<ThumbnailSet>,
1628    #[serde(rename = "versions")]
1629    pub versions: Vec<DriveItemVersion>,
1630    #[serde(rename = "workbook")]
1631    pub workbook: Workbook,
1632    #[serde(rename = "microsoft.graph.driveItem")]
1633    pub changed: bool,
1634    #[serde(rename = "microsoft.graph.driveItem")]
1635    pub conflict_behavior: String,
1636    #[serde(rename = "microsoft.graph.driveItem")]
1637    pub download_url: String,
1638    #[serde(rename = "microsoft.graph.driveItem")]
1639    pub shared_changed: bool,
1640    #[serde(rename = "microsoft.graph.driveItem")]
1641    pub source_url: String,
1642}
1643
1644#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1645pub struct List {
1646    #[serde(rename = "displayName")]
1647    pub display_name: String,
1648    #[serde(rename = "list")]
1649    pub list: ListInfo,
1650    #[serde(rename = "sharepointIds")]
1651    pub sharepoint_ids: SharepointIds,
1652    #[serde(rename = "system")]
1653    pub system: SystemFacet,
1654    #[serde(rename = "columns")]
1655    pub columns: Vec<ColumnDefinition>,
1656    #[serde(rename = "contentTypes")]
1657    pub content_types: Vec<ContentType>,
1658    #[serde(rename = "drive")]
1659    pub drive: Drive,
1660    #[serde(rename = "items")]
1661    pub items: Vec<ListItem>,
1662}
1663
1664#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1665pub struct ItemAnalytics {
1666    #[serde(rename = "itemActivityStats")]
1667    pub item_activity_stats: Vec<ItemActivityStat>,
1668    #[serde(rename = "allTime")]
1669    pub all_time: ItemActivityStat,
1670    #[serde(rename = "lastSevenDays")]
1671    pub last_seven_days: ItemActivityStat,
1672}
1673
1674#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1675pub struct ListItem {
1676    #[serde(rename = "contentType")]
1677    pub content_type: ContentTypeInfo,
1678    #[serde(rename = "sharepointIds")]
1679    pub sharepoint_ids: SharepointIds,
1680    #[serde(rename = "analytics")]
1681    pub analytics: ItemAnalytics,
1682    #[serde(rename = "driveItem")]
1683    pub drive_item: DriveItem,
1684    #[serde(rename = "fields")]
1685    pub fields: FieldValueSet,
1686    #[serde(rename = "versions")]
1687    pub versions: Vec<ListItemVersion>,
1688}
1689
1690#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1691pub struct Permission {
1692    #[serde(rename = "grantedTo")]
1693    pub granted_to: IdentitySet,
1694    #[serde(rename = "inheritedFrom")]
1695    pub inherited_from: ItemReference,
1696    #[serde(rename = "invitation")]
1697    pub invitation: SharingInvitation,
1698    #[serde(rename = "link")]
1699    pub link: SharingLink,
1700    #[serde(rename = "roles")]
1701    pub roles: Vec<String>,
1702    #[serde(rename = "shareId")]
1703    pub share_id: String,
1704}
1705
1706#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1707pub struct Subscription {
1708    #[serde(rename = "resource")]
1709    pub resource: String,
1710    #[serde(rename = "changeType")]
1711    pub change_type: String,
1712    #[serde(rename = "clientState")]
1713    pub client_state: String,
1714    #[serde(rename = "notificationUrl")]
1715    pub notification_url: String,
1716    #[serde(rename = "expirationDateTime")]
1717    pub expiration_date_time: String,
1718    #[serde(rename = "applicationId")]
1719    pub application_id: String,
1720    #[serde(rename = "creatorId")]
1721    pub creator_id: String,
1722}
1723
1724#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1725pub struct ThumbnailSet {
1726    #[serde(rename = "large")]
1727    pub large: Thumbnail,
1728    #[serde(rename = "medium")]
1729    pub medium: Thumbnail,
1730    #[serde(rename = "small")]
1731    pub small: Thumbnail,
1732    #[serde(rename = "source")]
1733    pub source: Thumbnail,
1734}
1735
1736#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1737pub struct DriveItemVersion {
1738    #[serde(rename = "content")]
1739    pub content: Vec<u8>,
1740    #[serde(rename = "size")]
1741    pub size: i64,
1742}
1743
1744#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1745pub struct Workbook {
1746    #[serde(rename = "application")]
1747    pub application: WorkbookApplication,
1748    #[serde(rename = "names")]
1749    pub names: Vec<WorkbookNamedItem>,
1750    #[serde(rename = "tables")]
1751    pub tables: Vec<WorkbookTable>,
1752    #[serde(rename = "worksheets")]
1753    pub worksheets: Vec<WorkbookWorksheet>,
1754    #[serde(rename = "comments")]
1755    pub comments: Vec<WorkbookComment>,
1756    #[serde(rename = "functions")]
1757    pub functions: WorkbookFunctions,
1758}
1759
1760#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1761pub struct FieldValueSet {}
1762
1763#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1764pub struct ItemActivity {
1765    #[serde(rename = "access")]
1766    pub access: AccessAction,
1767    #[serde(rename = "activityDateTime")]
1768    pub activity_date_time: String,
1769    #[serde(rename = "actor")]
1770    pub actor: IdentitySet,
1771    #[serde(rename = "driveItem")]
1772    pub drive_item: DriveItem,
1773}
1774
1775#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1776pub struct ItemActivityStat {
1777    #[serde(rename = "startDateTime")]
1778    pub start_date_time: String,
1779    #[serde(rename = "endDateTime")]
1780    pub end_date_time: String,
1781    #[serde(rename = "access")]
1782    pub access: ItemActionStat,
1783    #[serde(rename = "create")]
1784    pub create: ItemActionStat,
1785    #[serde(rename = "delete")]
1786    pub delete: ItemActionStat,
1787    #[serde(rename = "edit")]
1788    pub edit: ItemActionStat,
1789    #[serde(rename = "move")]
1790    pub _move: ItemActionStat,
1791    #[serde(rename = "isTrending")]
1792    pub is_trending: bool,
1793    #[serde(rename = "incompleteData")]
1794    pub incomplete_data: IncompleteData,
1795    #[serde(rename = "activities")]
1796    pub activities: Vec<ItemActivity>,
1797}
1798
1799#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1800pub struct ListItemVersion {
1801    #[serde(rename = "fields")]
1802    pub fields: FieldValueSet,
1803}
1804
1805#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1806pub struct SharedDriveItem {
1807    #[serde(rename = "owner")]
1808    pub owner: IdentitySet,
1809    #[serde(rename = "driveItem")]
1810    pub drive_item: DriveItem,
1811    #[serde(rename = "items")]
1812    pub items: Vec<DriveItem>,
1813    #[serde(rename = "list")]
1814    pub list: List,
1815    #[serde(rename = "listItem")]
1816    pub list_item: ListItem,
1817    #[serde(rename = "root")]
1818    pub root: DriveItem,
1819    #[serde(rename = "site")]
1820    pub site: Site,
1821}
1822
1823#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1824pub struct WorkbookApplication {
1825    #[serde(rename = "calculationMode")]
1826    pub calculation_mode: String,
1827}
1828
1829#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1830pub struct WorkbookNamedItem {
1831    #[serde(rename = "comment")]
1832    pub comment: String,
1833    #[serde(rename = "name")]
1834    pub name: String,
1835    #[serde(rename = "scope")]
1836    pub scope: String,
1837    #[serde(rename = "type")]
1838    pub _type: String,
1839    #[serde(rename = "value")]
1840    pub value: Json,
1841    #[serde(rename = "visible")]
1842    pub visible: bool,
1843    #[serde(rename = "worksheet")]
1844    pub worksheet: WorkbookWorksheet,
1845}
1846
1847#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1848pub struct WorkbookTable {
1849    #[serde(rename = "highlightFirstColumn")]
1850    pub highlight_first_column: bool,
1851    #[serde(rename = "highlightLastColumn")]
1852    pub highlight_last_column: bool,
1853    #[serde(rename = "legacyId")]
1854    pub legacy_id: String,
1855    #[serde(rename = "name")]
1856    pub name: String,
1857    #[serde(rename = "showBandedColumns")]
1858    pub show_banded_columns: bool,
1859    #[serde(rename = "showBandedRows")]
1860    pub show_banded_rows: bool,
1861    #[serde(rename = "showFilterButton")]
1862    pub show_filter_button: bool,
1863    #[serde(rename = "showHeaders")]
1864    pub show_headers: bool,
1865    #[serde(rename = "showTotals")]
1866    pub show_totals: bool,
1867    #[serde(rename = "style")]
1868    pub style: String,
1869    #[serde(rename = "columns")]
1870    pub columns: Vec<WorkbookTableColumn>,
1871    #[serde(rename = "rows")]
1872    pub rows: Vec<WorkbookTableRow>,
1873    #[serde(rename = "sort")]
1874    pub sort: WorkbookTableSort,
1875    #[serde(rename = "worksheet")]
1876    pub worksheet: WorkbookWorksheet,
1877}
1878
1879#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1880pub struct WorkbookWorksheet {
1881    #[serde(rename = "name")]
1882    pub name: String,
1883    #[serde(rename = "position")]
1884    pub position: i32,
1885    #[serde(rename = "visibility")]
1886    pub visibility: String,
1887    #[serde(rename = "charts")]
1888    pub charts: Vec<WorkbookChart>,
1889    #[serde(rename = "names")]
1890    pub names: Vec<WorkbookNamedItem>,
1891    #[serde(rename = "pivotTables")]
1892    pub pivot_tables: Vec<WorkbookPivotTable>,
1893    #[serde(rename = "protection")]
1894    pub protection: WorkbookWorksheetProtection,
1895    #[serde(rename = "tables")]
1896    pub tables: Vec<WorkbookTable>,
1897}
1898
1899#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1900pub struct WorkbookComment {
1901    #[serde(rename = "content")]
1902    pub content: String,
1903    #[serde(rename = "contentType")]
1904    pub content_type: String,
1905    #[serde(rename = "replies")]
1906    pub replies: Vec<WorkbookCommentReply>,
1907}
1908
1909#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1910pub struct WorkbookFunctions {}
1911
1912#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1913pub struct WorkbookChart {
1914    #[serde(rename = "height")]
1915    pub height: i64,
1916    #[serde(rename = "left")]
1917    pub left: i64,
1918    #[serde(rename = "name")]
1919    pub name: String,
1920    #[serde(rename = "top")]
1921    pub top: i64,
1922    #[serde(rename = "width")]
1923    pub width: i64,
1924    #[serde(rename = "axes")]
1925    pub axes: WorkbookChartAxes,
1926    #[serde(rename = "dataLabels")]
1927    pub data_labels: WorkbookChartDataLabels,
1928    #[serde(rename = "format")]
1929    pub format: WorkbookChartAreaFormat,
1930    #[serde(rename = "legend")]
1931    pub legend: WorkbookChartLegend,
1932    #[serde(rename = "series")]
1933    pub series: Vec<WorkbookChartSeries>,
1934    #[serde(rename = "title")]
1935    pub title: WorkbookChartTitle,
1936    #[serde(rename = "worksheet")]
1937    pub worksheet: WorkbookWorksheet,
1938}
1939
1940#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1941pub struct WorkbookChartAxes {
1942    #[serde(rename = "categoryAxis")]
1943    pub category_axis: WorkbookChartAxis,
1944    #[serde(rename = "seriesAxis")]
1945    pub series_axis: WorkbookChartAxis,
1946    #[serde(rename = "valueAxis")]
1947    pub value_axis: WorkbookChartAxis,
1948}
1949
1950#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1951pub struct WorkbookChartDataLabels {
1952    #[serde(rename = "position")]
1953    pub position: String,
1954    #[serde(rename = "separator")]
1955    pub separator: String,
1956    #[serde(rename = "showBubbleSize")]
1957    pub show_bubble_size: bool,
1958    #[serde(rename = "showCategoryName")]
1959    pub show_category_name: bool,
1960    #[serde(rename = "showLegendKey")]
1961    pub show_legend_key: bool,
1962    #[serde(rename = "showPercentage")]
1963    pub show_percentage: bool,
1964    #[serde(rename = "showSeriesName")]
1965    pub show_series_name: bool,
1966    #[serde(rename = "showValue")]
1967    pub show_value: bool,
1968    #[serde(rename = "format")]
1969    pub format: WorkbookChartDataLabelFormat,
1970}
1971
1972#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1973pub struct WorkbookChartAreaFormat {
1974    #[serde(rename = "fill")]
1975    pub fill: WorkbookChartFill,
1976    #[serde(rename = "font")]
1977    pub font: WorkbookChartFont,
1978}
1979
1980#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1981pub struct WorkbookChartLegend {
1982    #[serde(rename = "overlay")]
1983    pub overlay: bool,
1984    #[serde(rename = "position")]
1985    pub position: String,
1986    #[serde(rename = "visible")]
1987    pub visible: bool,
1988    #[serde(rename = "format")]
1989    pub format: WorkbookChartLegendFormat,
1990}
1991
1992#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
1993pub struct WorkbookChartSeries {
1994    #[serde(rename = "name")]
1995    pub name: String,
1996    #[serde(rename = "format")]
1997    pub format: WorkbookChartSeriesFormat,
1998    #[serde(rename = "points")]
1999    pub points: Vec<WorkbookChartPoint>,
2000}
2001
2002#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2003pub struct WorkbookChartTitle {
2004    #[serde(rename = "overlay")]
2005    pub overlay: bool,
2006    #[serde(rename = "text")]
2007    pub text: String,
2008    #[serde(rename = "visible")]
2009    pub visible: bool,
2010    #[serde(rename = "format")]
2011    pub format: WorkbookChartTitleFormat,
2012}
2013
2014#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2015pub struct WorkbookChartFill {}
2016
2017#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2018pub struct WorkbookChartFont {
2019    #[serde(rename = "bold")]
2020    pub bold: bool,
2021    #[serde(rename = "color")]
2022    pub color: String,
2023    #[serde(rename = "italic")]
2024    pub italic: bool,
2025    #[serde(rename = "name")]
2026    pub name: String,
2027    #[serde(rename = "size")]
2028    pub size: i64,
2029    #[serde(rename = "underline")]
2030    pub underline: String,
2031}
2032
2033#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2034pub struct WorkbookChartAxis {
2035    #[serde(rename = "majorUnit")]
2036    pub major_unit: Json,
2037    #[serde(rename = "maximum")]
2038    pub maximum: Json,
2039    #[serde(rename = "minimum")]
2040    pub minimum: Json,
2041    #[serde(rename = "minorUnit")]
2042    pub minor_unit: Json,
2043    #[serde(rename = "format")]
2044    pub format: WorkbookChartAxisFormat,
2045    #[serde(rename = "majorGridlines")]
2046    pub major_gridlines: WorkbookChartGridlines,
2047    #[serde(rename = "minorGridlines")]
2048    pub minor_gridlines: WorkbookChartGridlines,
2049    #[serde(rename = "title")]
2050    pub title: WorkbookChartAxisTitle,
2051}
2052
2053#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2054pub struct WorkbookChartAxisFormat {
2055    #[serde(rename = "font")]
2056    pub font: WorkbookChartFont,
2057    #[serde(rename = "line")]
2058    pub line: WorkbookChartLineFormat,
2059}
2060
2061#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2062pub struct WorkbookChartGridlines {
2063    #[serde(rename = "visible")]
2064    pub visible: bool,
2065    #[serde(rename = "format")]
2066    pub format: WorkbookChartGridlinesFormat,
2067}
2068
2069#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2070pub struct WorkbookChartAxisTitle {
2071    #[serde(rename = "text")]
2072    pub text: String,
2073    #[serde(rename = "visible")]
2074    pub visible: bool,
2075    #[serde(rename = "format")]
2076    pub format: WorkbookChartAxisTitleFormat,
2077}
2078
2079#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2080pub struct WorkbookChartLineFormat {
2081    #[serde(rename = "color")]
2082    pub color: String,
2083}
2084
2085#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2086pub struct WorkbookChartAxisTitleFormat {
2087    #[serde(rename = "font")]
2088    pub font: WorkbookChartFont,
2089}
2090
2091#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2092pub struct WorkbookChartDataLabelFormat {
2093    #[serde(rename = "fill")]
2094    pub fill: WorkbookChartFill,
2095    #[serde(rename = "font")]
2096    pub font: WorkbookChartFont,
2097}
2098
2099#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2100pub struct WorkbookChartGridlinesFormat {
2101    #[serde(rename = "line")]
2102    pub line: WorkbookChartLineFormat,
2103}
2104
2105#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2106pub struct WorkbookChartLegendFormat {
2107    #[serde(rename = "fill")]
2108    pub fill: WorkbookChartFill,
2109    #[serde(rename = "font")]
2110    pub font: WorkbookChartFont,
2111}
2112
2113#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2114pub struct WorkbookChartPoint {
2115    #[serde(rename = "value")]
2116    pub value: Json,
2117    #[serde(rename = "format")]
2118    pub format: WorkbookChartPointFormat,
2119}
2120
2121#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2122pub struct WorkbookChartPointFormat {
2123    #[serde(rename = "fill")]
2124    pub fill: WorkbookChartFill,
2125}
2126
2127#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2128pub struct WorkbookChartSeriesFormat {
2129    #[serde(rename = "fill")]
2130    pub fill: WorkbookChartFill,
2131    #[serde(rename = "line")]
2132    pub line: WorkbookChartLineFormat,
2133}
2134
2135#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2136pub struct WorkbookChartTitleFormat {
2137    #[serde(rename = "fill")]
2138    pub fill: WorkbookChartFill,
2139    #[serde(rename = "font")]
2140    pub font: WorkbookChartFont,
2141}
2142
2143#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2144pub struct WorkbookCommentReply {
2145    #[serde(rename = "content")]
2146    pub content: String,
2147    #[serde(rename = "contentType")]
2148    pub content_type: String,
2149}
2150
2151#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2152pub struct WorkbookFilter {
2153    #[serde(rename = "criteria")]
2154    pub criteria: WorkbookFilterCriteria,
2155}
2156
2157#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2158pub struct WorkbookFormatProtection {
2159    #[serde(rename = "formulaHidden")]
2160    pub formula_hidden: bool,
2161    #[serde(rename = "locked")]
2162    pub locked: bool,
2163}
2164
2165#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2166pub struct WorkbookFunctionResult {
2167    #[serde(rename = "error")]
2168    pub error: String,
2169    #[serde(rename = "value")]
2170    pub value: Json,
2171}
2172
2173#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2174pub struct WorkbookPivotTable {
2175    #[serde(rename = "name")]
2176    pub name: String,
2177    #[serde(rename = "worksheet")]
2178    pub worksheet: WorkbookWorksheet,
2179}
2180
2181#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2182pub struct WorkbookRange {
2183    #[serde(rename = "address")]
2184    pub address: String,
2185    #[serde(rename = "addressLocal")]
2186    pub address_local: String,
2187    #[serde(rename = "cellCount")]
2188    pub cell_count: i32,
2189    #[serde(rename = "columnCount")]
2190    pub column_count: i32,
2191    #[serde(rename = "columnHidden")]
2192    pub column_hidden: bool,
2193    #[serde(rename = "columnIndex")]
2194    pub column_index: i32,
2195    #[serde(rename = "formulas")]
2196    pub formulas: Json,
2197    #[serde(rename = "formulasLocal")]
2198    pub formulas_local: Json,
2199    #[serde(rename = "formulasR1C1")]
2200    pub formulas_r1_c1: Json,
2201    #[serde(rename = "hidden")]
2202    pub hidden: bool,
2203    #[serde(rename = "numberFormat")]
2204    pub number_format: Json,
2205    #[serde(rename = "rowCount")]
2206    pub row_count: i32,
2207    #[serde(rename = "rowHidden")]
2208    pub row_hidden: bool,
2209    #[serde(rename = "rowIndex")]
2210    pub row_index: i32,
2211    #[serde(rename = "text")]
2212    pub text: Json,
2213    #[serde(rename = "valueTypes")]
2214    pub value_types: Json,
2215    #[serde(rename = "values")]
2216    pub values: Json,
2217    #[serde(rename = "format")]
2218    pub format: WorkbookRangeFormat,
2219    #[serde(rename = "sort")]
2220    pub sort: WorkbookRangeSort,
2221    #[serde(rename = "worksheet")]
2222    pub worksheet: WorkbookWorksheet,
2223}
2224
2225#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2226pub struct WorkbookRangeFormat {
2227    #[serde(rename = "columnWidth")]
2228    pub column_width: i64,
2229    #[serde(rename = "horizontalAlignment")]
2230    pub horizontal_alignment: String,
2231    #[serde(rename = "rowHeight")]
2232    pub row_height: i64,
2233    #[serde(rename = "verticalAlignment")]
2234    pub vertical_alignment: String,
2235    #[serde(rename = "wrapText")]
2236    pub wrap_text: bool,
2237    #[serde(rename = "borders")]
2238    pub borders: Vec<WorkbookRangeBorder>,
2239    #[serde(rename = "fill")]
2240    pub fill: WorkbookRangeFill,
2241    #[serde(rename = "font")]
2242    pub font: WorkbookRangeFont,
2243    #[serde(rename = "protection")]
2244    pub protection: WorkbookFormatProtection,
2245}
2246
2247#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2248pub struct WorkbookRangeSort {}
2249
2250#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2251pub struct WorkbookRangeBorder {
2252    #[serde(rename = "color")]
2253    pub color: String,
2254    #[serde(rename = "sideIndex")]
2255    pub side_index: String,
2256    #[serde(rename = "style")]
2257    pub style: String,
2258    #[serde(rename = "weight")]
2259    pub weight: String,
2260}
2261
2262#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2263pub struct WorkbookRangeFill {
2264    #[serde(rename = "color")]
2265    pub color: String,
2266}
2267
2268#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2269pub struct WorkbookRangeFont {
2270    #[serde(rename = "bold")]
2271    pub bold: bool,
2272    #[serde(rename = "color")]
2273    pub color: String,
2274    #[serde(rename = "italic")]
2275    pub italic: bool,
2276    #[serde(rename = "name")]
2277    pub name: String,
2278    #[serde(rename = "size")]
2279    pub size: i64,
2280    #[serde(rename = "underline")]
2281    pub underline: String,
2282}
2283
2284#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2285pub struct WorkbookRangeView {
2286    #[serde(rename = "cellAddresses")]
2287    pub cell_addresses: Json,
2288    #[serde(rename = "columnCount")]
2289    pub column_count: i32,
2290    #[serde(rename = "formulas")]
2291    pub formulas: Json,
2292    #[serde(rename = "formulasLocal")]
2293    pub formulas_local: Json,
2294    #[serde(rename = "formulasR1C1")]
2295    pub formulas_r1_c1: Json,
2296    #[serde(rename = "index")]
2297    pub index: i32,
2298    #[serde(rename = "numberFormat")]
2299    pub number_format: Json,
2300    #[serde(rename = "rowCount")]
2301    pub row_count: i32,
2302    #[serde(rename = "text")]
2303    pub text: Json,
2304    #[serde(rename = "valueTypes")]
2305    pub value_types: Json,
2306    #[serde(rename = "values")]
2307    pub values: Json,
2308    #[serde(rename = "rows")]
2309    pub rows: Vec<WorkbookRangeView>,
2310}
2311
2312#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2313pub struct WorkbookTableColumn {
2314    #[serde(rename = "index")]
2315    pub index: i32,
2316    #[serde(rename = "name")]
2317    pub name: String,
2318    #[serde(rename = "values")]
2319    pub values: Json,
2320    #[serde(rename = "filter")]
2321    pub filter: WorkbookFilter,
2322}
2323
2324#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2325pub struct WorkbookTableRow {
2326    #[serde(rename = "index")]
2327    pub index: i32,
2328    #[serde(rename = "values")]
2329    pub values: Json,
2330}
2331
2332#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2333pub struct WorkbookTableSort {
2334    #[serde(rename = "fields")]
2335    pub fields: Vec<WorkbookSortField>,
2336    #[serde(rename = "matchCase")]
2337    pub match_case: bool,
2338    #[serde(rename = "method")]
2339    pub method: String,
2340}
2341
2342#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2343pub struct WorkbookWorksheetProtection {
2344    #[serde(rename = "options")]
2345    pub options: WorkbookWorksheetProtectionOptions,
2346    #[serde(rename = "protected")]
2347    pub protected: bool,
2348}
2349
2350#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2351pub struct Invitation {
2352    #[serde(rename = "invitedUserDisplayName")]
2353    pub invited_user_display_name: String,
2354    #[serde(rename = "invitedUserType")]
2355    pub invited_user_type: String,
2356    #[serde(rename = "invitedUserEmailAddress")]
2357    pub invited_user_email_address: String,
2358    #[serde(rename = "invitedUserMessageInfo")]
2359    pub invited_user_message_info: InvitedUserMessageInfo,
2360    #[serde(rename = "sendInvitationMessage")]
2361    pub send_invitation_message: bool,
2362    #[serde(rename = "inviteRedirectUrl")]
2363    pub invite_redirect_url: String,
2364    #[serde(rename = "inviteRedeemUrl")]
2365    pub invite_redeem_url: String,
2366    #[serde(rename = "status")]
2367    pub status: String,
2368    #[serde(rename = "invitedUser")]
2369    pub invited_user: User,
2370}
2371
2372#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2373pub struct PlannerTask {
2374    #[serde(rename = "createdBy")]
2375    pub created_by: IdentitySet,
2376    #[serde(rename = "planId")]
2377    pub plan_id: String,
2378    #[serde(rename = "bucketId")]
2379    pub bucket_id: String,
2380    #[serde(rename = "title")]
2381    pub title: String,
2382    #[serde(rename = "orderHint")]
2383    pub order_hint: String,
2384    #[serde(rename = "assigneePriority")]
2385    pub assignee_priority: String,
2386    #[serde(rename = "percentComplete")]
2387    pub percent_complete: i32,
2388    #[serde(rename = "startDateTime")]
2389    pub start_date_time: String,
2390    #[serde(rename = "createdDateTime")]
2391    pub created_date_time: String,
2392    #[serde(rename = "dueDateTime")]
2393    pub due_date_time: String,
2394    #[serde(rename = "hasDescription")]
2395    pub has_description: bool,
2396    #[serde(rename = "previewType")]
2397    pub preview_type: PlannerPreviewType,
2398    #[serde(rename = "completedDateTime")]
2399    pub completed_date_time: String,
2400    #[serde(rename = "completedBy")]
2401    pub completed_by: IdentitySet,
2402    #[serde(rename = "referenceCount")]
2403    pub reference_count: i32,
2404    #[serde(rename = "checklistItemCount")]
2405    pub checklist_item_count: i32,
2406    #[serde(rename = "activeChecklistItemCount")]
2407    pub active_checklist_item_count: i32,
2408    #[serde(rename = "appliedCategories")]
2409    pub applied_categories: PlannerAppliedCategories,
2410    #[serde(rename = "assignments")]
2411    pub assignments: PlannerAssignments,
2412    #[serde(rename = "conversationThreadId")]
2413    pub conversation_thread_id: String,
2414    #[serde(rename = "details")]
2415    pub details: PlannerTaskDetails,
2416    #[serde(rename = "assignedToTaskBoardFormat")]
2417    pub assigned_to_task_board_format: PlannerAssignedToTaskBoardTaskFormat,
2418    #[serde(rename = "progressTaskBoardFormat")]
2419    pub progress_task_board_format: PlannerProgressTaskBoardTaskFormat,
2420    #[serde(rename = "bucketTaskBoardFormat")]
2421    pub bucket_task_board_format: PlannerBucketTaskBoardTaskFormat,
2422}
2423
2424#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2425pub struct PlannerPlan {
2426    #[serde(rename = "createdBy")]
2427    pub created_by: IdentitySet,
2428    #[serde(rename = "createdDateTime")]
2429    pub created_date_time: String,
2430    #[serde(rename = "owner")]
2431    pub owner: String,
2432    #[serde(rename = "title")]
2433    pub title: String,
2434    #[serde(rename = "tasks")]
2435    pub tasks: Vec<PlannerTask>,
2436    #[serde(rename = "buckets")]
2437    pub buckets: Vec<PlannerBucket>,
2438    #[serde(rename = "details")]
2439    pub details: PlannerPlanDetails,
2440}
2441
2442#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2443pub struct Planner {
2444    #[serde(rename = "tasks")]
2445    pub tasks: Vec<PlannerTask>,
2446    #[serde(rename = "plans")]
2447    pub plans: Vec<PlannerPlan>,
2448    #[serde(rename = "buckets")]
2449    pub buckets: Vec<PlannerBucket>,
2450}
2451
2452#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2453pub struct PlannerBucket {
2454    #[serde(rename = "name")]
2455    pub name: String,
2456    #[serde(rename = "planId")]
2457    pub plan_id: String,
2458    #[serde(rename = "orderHint")]
2459    pub order_hint: String,
2460    #[serde(rename = "tasks")]
2461    pub tasks: Vec<PlannerTask>,
2462}
2463
2464#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2465pub struct PlannerTaskDetails {
2466    #[serde(rename = "description")]
2467    pub description: String,
2468    #[serde(rename = "previewType")]
2469    pub preview_type: PlannerPreviewType,
2470    #[serde(rename = "references")]
2471    pub references: PlannerExternalReferences,
2472    #[serde(rename = "checklist")]
2473    pub checklist: PlannerChecklistItems,
2474}
2475
2476#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2477pub struct PlannerAssignedToTaskBoardTaskFormat {
2478    #[serde(rename = "unassignedOrderHint")]
2479    pub unassigned_order_hint: String,
2480    #[serde(rename = "orderHintsByAssignee")]
2481    pub order_hints_by_assignee: PlannerOrderHintsByAssignee,
2482}
2483
2484#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2485pub struct PlannerProgressTaskBoardTaskFormat {
2486    #[serde(rename = "orderHint")]
2487    pub order_hint: String,
2488}
2489
2490#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2491pub struct PlannerBucketTaskBoardTaskFormat {
2492    #[serde(rename = "orderHint")]
2493    pub order_hint: String,
2494}
2495
2496#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2497pub struct PlannerPlanDetails {
2498    #[serde(rename = "sharedWith")]
2499    pub shared_with: PlannerUserIds,
2500    #[serde(rename = "categoryDescriptions")]
2501    pub category_descriptions: PlannerCategoryDescriptions,
2502}
2503
2504#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2505pub struct OnenoteEntityBaseModel {
2506    #[serde(rename = "self")]
2507    pub _self: String,
2508}
2509
2510#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2511pub struct OnenoteEntitySchemaObjectModel {
2512    #[serde(rename = "createdDateTime")]
2513    pub created_date_time: String,
2514}
2515
2516#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2517pub struct OnenoteEntityHierarchyModel {
2518    #[serde(rename = "displayName")]
2519    pub display_name: String,
2520    #[serde(rename = "createdBy")]
2521    pub created_by: IdentitySet,
2522    #[serde(rename = "lastModifiedBy")]
2523    pub last_modified_by: IdentitySet,
2524    #[serde(rename = "lastModifiedDateTime")]
2525    pub last_modified_date_time: String,
2526}
2527
2528#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2529pub struct Notebook {
2530    #[serde(rename = "isDefault")]
2531    pub is_default: bool,
2532    #[serde(rename = "userRole")]
2533    pub user_role: OnenoteUserRole,
2534    #[serde(rename = "isShared")]
2535    pub is_shared: bool,
2536    #[serde(rename = "sectionsUrl")]
2537    pub sections_url: String,
2538    #[serde(rename = "sectionGroupsUrl")]
2539    pub section_groups_url: String,
2540    #[serde(rename = "links")]
2541    pub links: NotebookLinks,
2542    #[serde(rename = "sections")]
2543    pub sections: Vec<OnenoteSection>,
2544    #[serde(rename = "sectionGroups")]
2545    pub section_groups: Vec<SectionGroup>,
2546}
2547
2548#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2549pub struct OnenoteSection {
2550    #[serde(rename = "isDefault")]
2551    pub is_default: bool,
2552    #[serde(rename = "links")]
2553    pub links: SectionLinks,
2554    #[serde(rename = "pagesUrl")]
2555    pub pages_url: String,
2556    #[serde(rename = "parentNotebook")]
2557    pub parent_notebook: Notebook,
2558    #[serde(rename = "parentSectionGroup")]
2559    pub parent_section_group: SectionGroup,
2560    #[serde(rename = "pages")]
2561    pub pages: Vec<OnenotePage>,
2562}
2563
2564#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2565pub struct SectionGroup {
2566    #[serde(rename = "sectionsUrl")]
2567    pub sections_url: String,
2568    #[serde(rename = "sectionGroupsUrl")]
2569    pub section_groups_url: String,
2570    #[serde(rename = "parentNotebook")]
2571    pub parent_notebook: Notebook,
2572    #[serde(rename = "parentSectionGroup")]
2573    pub parent_section_group: Box<SectionGroup>,
2574    #[serde(rename = "sections")]
2575    pub sections: Vec<OnenoteSection>,
2576    #[serde(rename = "sectionGroups")]
2577    pub section_groups: Vec<SectionGroup>,
2578}
2579
2580#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2581pub struct OnenotePage {
2582    #[serde(rename = "title")]
2583    pub title: String,
2584    #[serde(rename = "createdByAppId")]
2585    pub created_by_app_id: String,
2586    #[serde(rename = "links")]
2587    pub links: PageLinks,
2588    #[serde(rename = "contentUrl")]
2589    pub content_url: String,
2590    #[serde(rename = "content")]
2591    pub content: Vec<u8>,
2592    #[serde(rename = "lastModifiedDateTime")]
2593    pub last_modified_date_time: String,
2594    #[serde(rename = "level")]
2595    pub level: i32,
2596    #[serde(rename = "order")]
2597    pub order: i32,
2598    #[serde(rename = "userTags")]
2599    pub user_tags: Vec<String>,
2600    #[serde(rename = "parentSection")]
2601    pub parent_section: OnenoteSection,
2602    #[serde(rename = "parentNotebook")]
2603    pub parent_notebook: Notebook,
2604}
2605
2606#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2607pub struct OnenoteResource {
2608    #[serde(rename = "content")]
2609    pub content: Vec<u8>,
2610    #[serde(rename = "contentUrl")]
2611    pub content_url: String,
2612}
2613
2614#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2615pub struct Operation {
2616    #[serde(rename = "status")]
2617    pub status: OperationStatus,
2618    #[serde(rename = "createdDateTime")]
2619    pub created_date_time: String,
2620    #[serde(rename = "lastActionDateTime")]
2621    pub last_action_date_time: String,
2622}
2623
2624#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2625pub struct OnenoteOperation {
2626    #[serde(rename = "resourceLocation")]
2627    pub resource_location: String,
2628    #[serde(rename = "resourceId")]
2629    pub resource_id: String,
2630    #[serde(rename = "error")]
2631    pub error: OnenoteOperationError,
2632    #[serde(rename = "percentComplete")]
2633    pub percent_complete: String,
2634}
2635
2636#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2637pub struct ReportRoot {}
2638
2639#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2640pub struct EducationRoot {
2641    #[serde(rename = "classes")]
2642    pub classes: Vec<EducationClass>,
2643    #[serde(rename = "schools")]
2644    pub schools: Vec<EducationSchool>,
2645    #[serde(rename = "users")]
2646    pub users: Vec<EducationUser>,
2647    #[serde(rename = "me")]
2648    pub me: EducationUser,
2649}
2650
2651#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2652pub struct EducationClass {
2653    #[serde(rename = "displayName")]
2654    pub display_name: String,
2655    #[serde(rename = "mailNickname")]
2656    pub mail_nickname: String,
2657    #[serde(rename = "description")]
2658    pub description: String,
2659    #[serde(rename = "createdBy")]
2660    pub created_by: IdentitySet,
2661    #[serde(rename = "classCode")]
2662    pub class_code: String,
2663    #[serde(rename = "externalName")]
2664    pub external_name: String,
2665    #[serde(rename = "externalId")]
2666    pub external_id: String,
2667    #[serde(rename = "externalSource")]
2668    pub external_source: EducationExternalSource,
2669    #[serde(rename = "term")]
2670    pub term: EducationTerm,
2671    #[serde(rename = "schools")]
2672    pub schools: Vec<EducationSchool>,
2673    #[serde(rename = "members")]
2674    pub members: Vec<EducationUser>,
2675    #[serde(rename = "teachers")]
2676    pub teachers: Vec<EducationUser>,
2677    #[serde(rename = "group")]
2678    pub group: Group,
2679}
2680
2681#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2682pub struct EducationOrganization {
2683    #[serde(rename = "displayName")]
2684    pub display_name: String,
2685    #[serde(rename = "description")]
2686    pub description: String,
2687    #[serde(rename = "externalSource")]
2688    pub external_source: EducationExternalSource,
2689}
2690
2691#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2692pub struct EducationSchool {
2693    #[serde(rename = "principalEmail")]
2694    pub principal_email: String,
2695    #[serde(rename = "principalName")]
2696    pub principal_name: String,
2697    #[serde(rename = "externalPrincipalId")]
2698    pub external_principal_id: String,
2699    #[serde(rename = "lowestGrade")]
2700    pub lowest_grade: String,
2701    #[serde(rename = "highestGrade")]
2702    pub highest_grade: String,
2703    #[serde(rename = "schoolNumber")]
2704    pub school_number: String,
2705    #[serde(rename = "externalId")]
2706    pub external_id: String,
2707    #[serde(rename = "phone")]
2708    pub phone: String,
2709    #[serde(rename = "fax")]
2710    pub fax: String,
2711    #[serde(rename = "createdBy")]
2712    pub created_by: IdentitySet,
2713    #[serde(rename = "address")]
2714    pub address: PhysicalAddress,
2715    #[serde(rename = "classes")]
2716    pub classes: Vec<EducationClass>,
2717    #[serde(rename = "users")]
2718    pub users: Vec<EducationUser>,
2719}
2720
2721#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2722pub struct EducationUser {
2723    #[serde(rename = "primaryRole")]
2724    pub primary_role: EducationUserRole,
2725    #[serde(rename = "middleName")]
2726    pub middle_name: String,
2727    #[serde(rename = "externalSource")]
2728    pub external_source: EducationExternalSource,
2729    #[serde(rename = "residenceAddress")]
2730    pub residence_address: PhysicalAddress,
2731    #[serde(rename = "mailingAddress")]
2732    pub mailing_address: PhysicalAddress,
2733    #[serde(rename = "student")]
2734    pub student: EducationStudent,
2735    #[serde(rename = "teacher")]
2736    pub teacher: EducationTeacher,
2737    #[serde(rename = "createdBy")]
2738    pub created_by: IdentitySet,
2739    #[serde(rename = "accountEnabled")]
2740    pub account_enabled: bool,
2741    #[serde(rename = "assignedLicenses")]
2742    pub assigned_licenses: Vec<AssignedLicense>,
2743    #[serde(rename = "assignedPlans")]
2744    pub assigned_plans: Vec<AssignedPlan>,
2745    #[serde(rename = "businessPhones")]
2746    pub business_phones: Vec<String>,
2747    #[serde(rename = "department")]
2748    pub department: String,
2749    #[serde(rename = "displayName")]
2750    pub display_name: String,
2751    #[serde(rename = "givenName")]
2752    pub given_name: String,
2753    #[serde(rename = "mail")]
2754    pub mail: String,
2755    #[serde(rename = "mailNickname")]
2756    pub mail_nickname: String,
2757    #[serde(rename = "mobilePhone")]
2758    pub mobile_phone: String,
2759    #[serde(rename = "passwordPolicies")]
2760    pub password_policies: String,
2761    #[serde(rename = "passwordProfile")]
2762    pub password_profile: PasswordProfile,
2763    #[serde(rename = "officeLocation")]
2764    pub office_location: String,
2765    #[serde(rename = "preferredLanguage")]
2766    pub preferred_language: String,
2767    #[serde(rename = "provisionedPlans")]
2768    pub provisioned_plans: Vec<ProvisionedPlan>,
2769    #[serde(rename = "refreshTokensValidFromDateTime")]
2770    pub refresh_tokens_valid_from_date_time: String,
2771    #[serde(rename = "showInAddressList")]
2772    pub show_in_address_list: bool,
2773    #[serde(rename = "surname")]
2774    pub surname: String,
2775    #[serde(rename = "usageLocation")]
2776    pub usage_location: String,
2777    #[serde(rename = "userPrincipalName")]
2778    pub user_principal_name: String,
2779    #[serde(rename = "userType")]
2780    pub user_type: String,
2781    #[serde(rename = "schools")]
2782    pub schools: Vec<EducationSchool>,
2783    #[serde(rename = "classes")]
2784    pub classes: Vec<EducationClass>,
2785    #[serde(rename = "user")]
2786    pub user: User,
2787}
2788
2789#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2790pub struct DeviceAppManagement {
2791    #[serde(rename = "microsoftStoreForBusinessLastSuccessfulSyncDateTime")]
2792    pub microsoft_store_for_business_last_successful_sync_date_time: String,
2793    #[serde(rename = "isEnabledForMicrosoftStoreForBusiness")]
2794    pub is_enabled_for_microsoft_store_for_business: bool,
2795    #[serde(rename = "microsoftStoreForBusinessLanguage")]
2796    pub microsoft_store_for_business_language: String,
2797    #[serde(rename = "microsoftStoreForBusinessLastCompletedApplicationSyncTime")]
2798    pub microsoft_store_for_business_last_completed_application_sync_time: String,
2799    #[serde(rename = "mobileApps")]
2800    pub mobile_apps: Vec<MobileApp>,
2801    #[serde(rename = "mobileAppCategories")]
2802    pub mobile_app_categories: Vec<MobileAppCategory>,
2803    #[serde(rename = "mobileAppConfigurations")]
2804    pub mobile_app_configurations: Vec<ManagedDeviceMobileAppConfiguration>,
2805    #[serde(rename = "vppTokens")]
2806    pub vpp_tokens: Vec<VppToken>,
2807    #[serde(rename = "managedAppPolicies")]
2808    pub managed_app_policies: Vec<ManagedAppPolicy>,
2809    #[serde(rename = "iosManagedAppProtections")]
2810    pub ios_managed_app_protections: Vec<IosManagedAppProtection>,
2811    #[serde(rename = "androidManagedAppProtections")]
2812    pub android_managed_app_protections: Vec<AndroidManagedAppProtection>,
2813    #[serde(rename = "defaultManagedAppProtections")]
2814    pub default_managed_app_protections: Vec<DefaultManagedAppProtection>,
2815    #[serde(rename = "targetedManagedAppConfigurations")]
2816    pub targeted_managed_app_configurations: Vec<TargetedManagedAppConfiguration>,
2817    #[serde(rename = "mdmWindowsInformationProtectionPolicies")]
2818    pub mdm_windows_information_protection_policies: Vec<MdmWindowsInformationProtectionPolicy>,
2819    #[serde(rename = "windowsInformationProtectionPolicies")]
2820    pub windows_information_protection_policies: Vec<WindowsInformationProtectionPolicy>,
2821    #[serde(rename = "managedAppRegistrations")]
2822    pub managed_app_registrations: Vec<ManagedAppRegistration>,
2823    #[serde(rename = "managedAppStatuses")]
2824    pub managed_app_statuses: Vec<ManagedAppStatus>,
2825    #[serde(rename = "managedEBooks")]
2826    pub managed_e_books: Vec<ManagedEBook>,
2827}
2828
2829#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2830pub struct MobileApp {
2831    #[serde(rename = "displayName")]
2832    pub display_name: String,
2833    #[serde(rename = "description")]
2834    pub description: String,
2835    #[serde(rename = "publisher")]
2836    pub publisher: String,
2837    #[serde(rename = "largeIcon")]
2838    pub large_icon: MimeContent,
2839    #[serde(rename = "createdDateTime")]
2840    pub created_date_time: String,
2841    #[serde(rename = "lastModifiedDateTime")]
2842    pub last_modified_date_time: String,
2843    #[serde(rename = "isFeatured")]
2844    pub is_featured: bool,
2845    #[serde(rename = "privacyInformationUrl")]
2846    pub privacy_information_url: String,
2847    #[serde(rename = "informationUrl")]
2848    pub information_url: String,
2849    #[serde(rename = "owner")]
2850    pub owner: String,
2851    #[serde(rename = "developer")]
2852    pub developer: String,
2853    #[serde(rename = "notes")]
2854    pub notes: String,
2855    #[serde(rename = "publishingState")]
2856    pub publishing_state: MobileAppPublishingState,
2857    #[serde(rename = "categories")]
2858    pub categories: Vec<MobileAppCategory>,
2859    #[serde(rename = "assignments")]
2860    pub assignments: Vec<MobileAppAssignment>,
2861}
2862
2863#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2864pub struct MobileAppCategory {
2865    #[serde(rename = "displayName")]
2866    pub display_name: String,
2867    #[serde(rename = "lastModifiedDateTime")]
2868    pub last_modified_date_time: String,
2869}
2870
2871#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2872pub struct ManagedDeviceMobileAppConfiguration {
2873    #[serde(rename = "targetedMobileApps")]
2874    pub targeted_mobile_apps: Vec<String>,
2875    #[serde(rename = "createdDateTime")]
2876    pub created_date_time: String,
2877    #[serde(rename = "description")]
2878    pub description: String,
2879    #[serde(rename = "lastModifiedDateTime")]
2880    pub last_modified_date_time: String,
2881    #[serde(rename = "displayName")]
2882    pub display_name: String,
2883    #[serde(rename = "version")]
2884    pub version: i32,
2885    #[serde(rename = "assignments")]
2886    pub assignments: Vec<ManagedDeviceMobileAppConfigurationAssignment>,
2887    #[serde(rename = "deviceStatuses")]
2888    pub device_statuses: Vec<ManagedDeviceMobileAppConfigurationDeviceStatus>,
2889    #[serde(rename = "userStatuses")]
2890    pub user_statuses: Vec<ManagedDeviceMobileAppConfigurationUserStatus>,
2891    #[serde(rename = "deviceStatusSummary")]
2892    pub device_status_summary: ManagedDeviceMobileAppConfigurationDeviceSummary,
2893    #[serde(rename = "userStatusSummary")]
2894    pub user_status_summary: ManagedDeviceMobileAppConfigurationUserSummary,
2895}
2896
2897#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2898pub struct VppToken {
2899    #[serde(rename = "organizationName")]
2900    pub organization_name: String,
2901    #[serde(rename = "vppTokenAccountType")]
2902    pub vpp_token_account_type: VppTokenAccountType,
2903    #[serde(rename = "appleId")]
2904    pub apple_id: String,
2905    #[serde(rename = "expirationDateTime")]
2906    pub expiration_date_time: String,
2907    #[serde(rename = "lastSyncDateTime")]
2908    pub last_sync_date_time: String,
2909    #[serde(rename = "token")]
2910    pub token: String,
2911    #[serde(rename = "lastModifiedDateTime")]
2912    pub last_modified_date_time: String,
2913    #[serde(rename = "state")]
2914    pub state: VppTokenState,
2915    #[serde(rename = "lastSyncStatus")]
2916    pub last_sync_status: VppTokenSyncStatus,
2917    #[serde(rename = "automaticallyUpdateApps")]
2918    pub automatically_update_apps: bool,
2919    #[serde(rename = "countryOrRegion")]
2920    pub country_or_region: String,
2921}
2922
2923#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2924pub struct ManagedAppPolicy {
2925    #[serde(rename = "displayName")]
2926    pub display_name: String,
2927    #[serde(rename = "description")]
2928    pub description: String,
2929    #[serde(rename = "createdDateTime")]
2930    pub created_date_time: String,
2931    #[serde(rename = "lastModifiedDateTime")]
2932    pub last_modified_date_time: String,
2933    #[serde(rename = "version")]
2934    pub version: String,
2935}
2936
2937#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2938pub struct ManagedAppProtection {
2939    #[serde(rename = "periodOfflineBeforeAccessCheck")]
2940    pub period_offline_before_access_check: String,
2941    #[serde(rename = "periodOnlineBeforeAccessCheck")]
2942    pub period_online_before_access_check: String,
2943    #[serde(rename = "allowedInboundDataTransferSources")]
2944    pub allowed_inbound_data_transfer_sources: ManagedAppDataTransferLevel,
2945    #[serde(rename = "allowedOutboundDataTransferDestinations")]
2946    pub allowed_outbound_data_transfer_destinations: ManagedAppDataTransferLevel,
2947    #[serde(rename = "organizationalCredentialsRequired")]
2948    pub organizational_credentials_required: bool,
2949    #[serde(rename = "allowedOutboundClipboardSharingLevel")]
2950    pub allowed_outbound_clipboard_sharing_level: ManagedAppClipboardSharingLevel,
2951    #[serde(rename = "dataBackupBlocked")]
2952    pub data_backup_blocked: bool,
2953    #[serde(rename = "deviceComplianceRequired")]
2954    pub device_compliance_required: bool,
2955    #[serde(rename = "managedBrowserToOpenLinksRequired")]
2956    pub managed_browser_to_open_links_required: bool,
2957    #[serde(rename = "saveAsBlocked")]
2958    pub save_as_blocked: bool,
2959    #[serde(rename = "periodOfflineBeforeWipeIsEnforced")]
2960    pub period_offline_before_wipe_is_enforced: String,
2961    #[serde(rename = "pinRequired")]
2962    pub pin_required: bool,
2963    #[serde(rename = "maximumPinRetries")]
2964    pub maximum_pin_retries: i32,
2965    #[serde(rename = "simplePinBlocked")]
2966    pub simple_pin_blocked: bool,
2967    #[serde(rename = "minimumPinLength")]
2968    pub minimum_pin_length: i32,
2969    #[serde(rename = "pinCharacterSet")]
2970    pub pin_character_set: ManagedAppPinCharacterSet,
2971    #[serde(rename = "periodBeforePinReset")]
2972    pub period_before_pin_reset: String,
2973    #[serde(rename = "allowedDataStorageLocations")]
2974    pub allowed_data_storage_locations: Vec<ManagedAppDataStorageLocation>,
2975    #[serde(rename = "contactSyncBlocked")]
2976    pub contact_sync_blocked: bool,
2977    #[serde(rename = "printBlocked")]
2978    pub print_blocked: bool,
2979    #[serde(rename = "fingerprintBlocked")]
2980    pub fingerprint_blocked: bool,
2981    #[serde(rename = "disableAppPinIfDevicePinIsSet")]
2982    pub disable_app_pin_if_device_pin_is_set: bool,
2983    #[serde(rename = "minimumRequiredOsVersion")]
2984    pub minimum_required_os_version: String,
2985    #[serde(rename = "minimumWarningOsVersion")]
2986    pub minimum_warning_os_version: String,
2987    #[serde(rename = "minimumRequiredAppVersion")]
2988    pub minimum_required_app_version: String,
2989    #[serde(rename = "minimumWarningAppVersion")]
2990    pub minimum_warning_app_version: String,
2991}
2992
2993#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
2994pub struct TargetedManagedAppProtection {
2995    #[serde(rename = "isAssigned")]
2996    pub is_assigned: bool,
2997    #[serde(rename = "assignments")]
2998    pub assignments: Vec<TargetedManagedAppPolicyAssignment>,
2999}
3000
3001#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3002pub struct IosManagedAppProtection {
3003    #[serde(rename = "appDataEncryptionType")]
3004    pub app_data_encryption_type: ManagedAppDataEncryptionType,
3005    #[serde(rename = "minimumRequiredSdkVersion")]
3006    pub minimum_required_sdk_version: String,
3007    #[serde(rename = "deployedAppCount")]
3008    pub deployed_app_count: i32,
3009    #[serde(rename = "faceIdBlocked")]
3010    pub face_id_blocked: bool,
3011    #[serde(rename = "apps")]
3012    pub apps: Vec<ManagedMobileApp>,
3013    #[serde(rename = "deploymentSummary")]
3014    pub deployment_summary: ManagedAppPolicyDeploymentSummary,
3015}
3016
3017#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3018pub struct AndroidManagedAppProtection {
3019    #[serde(rename = "screenCaptureBlocked")]
3020    pub screen_capture_blocked: bool,
3021    #[serde(rename = "disableAppEncryptionIfDeviceEncryptionIsEnabled")]
3022    pub disable_app_encryption_if_device_encryption_is_enabled: bool,
3023    #[serde(rename = "encryptAppData")]
3024    pub encrypt_app_data: bool,
3025    #[serde(rename = "deployedAppCount")]
3026    pub deployed_app_count: i32,
3027    #[serde(rename = "minimumRequiredPatchVersion")]
3028    pub minimum_required_patch_version: String,
3029    #[serde(rename = "minimumWarningPatchVersion")]
3030    pub minimum_warning_patch_version: String,
3031    #[serde(rename = "apps")]
3032    pub apps: Vec<ManagedMobileApp>,
3033    #[serde(rename = "deploymentSummary")]
3034    pub deployment_summary: ManagedAppPolicyDeploymentSummary,
3035}
3036
3037#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3038pub struct DefaultManagedAppProtection {
3039    #[serde(rename = "appDataEncryptionType")]
3040    pub app_data_encryption_type: ManagedAppDataEncryptionType,
3041    #[serde(rename = "screenCaptureBlocked")]
3042    pub screen_capture_blocked: bool,
3043    #[serde(rename = "encryptAppData")]
3044    pub encrypt_app_data: bool,
3045    #[serde(rename = "disableAppEncryptionIfDeviceEncryptionIsEnabled")]
3046    pub disable_app_encryption_if_device_encryption_is_enabled: bool,
3047    #[serde(rename = "minimumRequiredSdkVersion")]
3048    pub minimum_required_sdk_version: String,
3049    #[serde(rename = "customSettings")]
3050    pub custom_settings: Vec<KeyValuePair>,
3051    #[serde(rename = "deployedAppCount")]
3052    pub deployed_app_count: i32,
3053    #[serde(rename = "minimumRequiredPatchVersion")]
3054    pub minimum_required_patch_version: String,
3055    #[serde(rename = "minimumWarningPatchVersion")]
3056    pub minimum_warning_patch_version: String,
3057    #[serde(rename = "faceIdBlocked")]
3058    pub face_id_blocked: bool,
3059    #[serde(rename = "apps")]
3060    pub apps: Vec<ManagedMobileApp>,
3061    #[serde(rename = "deploymentSummary")]
3062    pub deployment_summary: ManagedAppPolicyDeploymentSummary,
3063}
3064
3065#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3066pub struct ManagedAppConfiguration {
3067    #[serde(rename = "customSettings")]
3068    pub custom_settings: Vec<KeyValuePair>,
3069}
3070
3071#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3072pub struct TargetedManagedAppConfiguration {
3073    #[serde(rename = "deployedAppCount")]
3074    pub deployed_app_count: i32,
3075    #[serde(rename = "isAssigned")]
3076    pub is_assigned: bool,
3077    #[serde(rename = "apps")]
3078    pub apps: Vec<ManagedMobileApp>,
3079    #[serde(rename = "deploymentSummary")]
3080    pub deployment_summary: ManagedAppPolicyDeploymentSummary,
3081    #[serde(rename = "assignments")]
3082    pub assignments: Vec<TargetedManagedAppPolicyAssignment>,
3083}
3084
3085#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3086pub struct WindowsInformationProtection {
3087    #[serde(rename = "enforcementLevel")]
3088    pub enforcement_level: WindowsInformationProtectionEnforcementLevel,
3089    #[serde(rename = "enterpriseDomain")]
3090    pub enterprise_domain: String,
3091    #[serde(rename = "enterpriseProtectedDomainNames")]
3092    pub enterprise_protected_domain_names: Vec<WindowsInformationProtectionResourceCollection>,
3093    #[serde(rename = "protectionUnderLockConfigRequired")]
3094    pub protection_under_lock_config_required: bool,
3095    #[serde(rename = "dataRecoveryCertificate")]
3096    pub data_recovery_certificate: WindowsInformationProtectionDataRecoveryCertificate,
3097    #[serde(rename = "revokeOnUnenrollDisabled")]
3098    pub revoke_on_unenroll_disabled: bool,
3099    #[serde(rename = "rightsManagementServicesTemplateId")]
3100    pub rights_management_services_template_id: String,
3101    #[serde(rename = "azureRightsManagementServicesAllowed")]
3102    pub azure_rights_management_services_allowed: bool,
3103    #[serde(rename = "iconsVisible")]
3104    pub icons_visible: bool,
3105    #[serde(rename = "protectedApps")]
3106    pub protected_apps: Vec<WindowsInformationProtectionApp>,
3107    #[serde(rename = "exemptApps")]
3108    pub exempt_apps: Vec<WindowsInformationProtectionApp>,
3109    #[serde(rename = "enterpriseNetworkDomainNames")]
3110    pub enterprise_network_domain_names: Vec<WindowsInformationProtectionResourceCollection>,
3111    #[serde(rename = "enterpriseProxiedDomains")]
3112    pub enterprise_proxied_domains: Vec<WindowsInformationProtectionProxiedDomainCollection>,
3113    #[serde(rename = "enterpriseIPRanges")]
3114    pub enterprise_i_p_ranges: Vec<WindowsInformationProtectionIPRangeCollection>,
3115    #[serde(rename = "enterpriseIPRangesAreAuthoritative")]
3116    pub enterprise_i_p_ranges_are_authoritative: bool,
3117    #[serde(rename = "enterpriseProxyServers")]
3118    pub enterprise_proxy_servers: Vec<WindowsInformationProtectionResourceCollection>,
3119    #[serde(rename = "enterpriseInternalProxyServers")]
3120    pub enterprise_internal_proxy_servers: Vec<WindowsInformationProtectionResourceCollection>,
3121    #[serde(rename = "enterpriseProxyServersAreAuthoritative")]
3122    pub enterprise_proxy_servers_are_authoritative: bool,
3123    #[serde(rename = "neutralDomainResources")]
3124    pub neutral_domain_resources: Vec<WindowsInformationProtectionResourceCollection>,
3125    #[serde(rename = "indexingEncryptedStoresOrItemsBlocked")]
3126    pub indexing_encrypted_stores_or_items_blocked: bool,
3127    #[serde(rename = "smbAutoEncryptedFileExtensions")]
3128    pub smb_auto_encrypted_file_extensions: Vec<WindowsInformationProtectionResourceCollection>,
3129    #[serde(rename = "isAssigned")]
3130    pub is_assigned: bool,
3131    #[serde(rename = "protectedAppLockerFiles")]
3132    pub protected_app_locker_files: Vec<WindowsInformationProtectionAppLockerFile>,
3133    #[serde(rename = "exemptAppLockerFiles")]
3134    pub exempt_app_locker_files: Vec<WindowsInformationProtectionAppLockerFile>,
3135    #[serde(rename = "assignments")]
3136    pub assignments: Vec<TargetedManagedAppPolicyAssignment>,
3137}
3138
3139#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3140pub struct MdmWindowsInformationProtectionPolicy {}
3141
3142#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3143pub struct WindowsInformationProtectionPolicy {
3144    #[serde(rename = "revokeOnMdmHandoffDisabled")]
3145    pub revoke_on_mdm_handoff_disabled: bool,
3146    #[serde(rename = "mdmEnrollmentUrl")]
3147    pub mdm_enrollment_url: String,
3148    #[serde(rename = "windowsHelloForBusinessBlocked")]
3149    pub windows_hello_for_business_blocked: bool,
3150    #[serde(rename = "pinMinimumLength")]
3151    pub pin_minimum_length: i32,
3152    #[serde(rename = "pinUppercaseLetters")]
3153    pub pin_uppercase_letters: WindowsInformationProtectionPinCharacterRequirements,
3154    #[serde(rename = "pinLowercaseLetters")]
3155    pub pin_lowercase_letters: WindowsInformationProtectionPinCharacterRequirements,
3156    #[serde(rename = "pinSpecialCharacters")]
3157    pub pin_special_characters: WindowsInformationProtectionPinCharacterRequirements,
3158    #[serde(rename = "pinExpirationDays")]
3159    pub pin_expiration_days: i32,
3160    #[serde(rename = "numberOfPastPinsRemembered")]
3161    pub number_of_past_pins_remembered: i32,
3162    #[serde(rename = "passwordMaximumAttemptCount")]
3163    pub password_maximum_attempt_count: i32,
3164    #[serde(rename = "minutesOfInactivityBeforeDeviceLock")]
3165    pub minutes_of_inactivity_before_device_lock: i32,
3166    #[serde(rename = "daysWithoutContactBeforeUnenroll")]
3167    pub days_without_contact_before_unenroll: i32,
3168}
3169
3170#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3171pub struct ManagedAppStatus {
3172    #[serde(rename = "displayName")]
3173    pub display_name: String,
3174    #[serde(rename = "version")]
3175    pub version: String,
3176}
3177
3178#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3179pub struct ManagedEBook {
3180    #[serde(rename = "displayName")]
3181    pub display_name: String,
3182    #[serde(rename = "description")]
3183    pub description: String,
3184    #[serde(rename = "publisher")]
3185    pub publisher: String,
3186    #[serde(rename = "publishedDateTime")]
3187    pub published_date_time: String,
3188    #[serde(rename = "largeCover")]
3189    pub large_cover: MimeContent,
3190    #[serde(rename = "createdDateTime")]
3191    pub created_date_time: String,
3192    #[serde(rename = "lastModifiedDateTime")]
3193    pub last_modified_date_time: String,
3194    #[serde(rename = "informationUrl")]
3195    pub information_url: String,
3196    #[serde(rename = "privacyInformationUrl")]
3197    pub privacy_information_url: String,
3198    #[serde(rename = "assignments")]
3199    pub assignments: Vec<ManagedEBookAssignment>,
3200    #[serde(rename = "installSummary")]
3201    pub install_summary: EBookInstallSummary,
3202    #[serde(rename = "deviceStates")]
3203    pub device_states: Vec<DeviceInstallState>,
3204    #[serde(rename = "userStateSummary")]
3205    pub user_state_summary: Vec<UserInstallStateSummary>,
3206}
3207
3208#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3209pub struct MobileAppAssignment {
3210    #[serde(rename = "intent")]
3211    pub intent: InstallIntent,
3212    #[serde(rename = "target")]
3213    pub target: DeviceAndAppManagementAssignmentTarget,
3214    #[serde(rename = "settings")]
3215    pub settings: MobileAppAssignmentSettings,
3216}
3217
3218#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3219pub struct MobileAppContentFile {
3220    #[serde(rename = "azureStorageUri")]
3221    pub azure_storage_uri: String,
3222    #[serde(rename = "isCommitted")]
3223    pub is_committed: bool,
3224    #[serde(rename = "createdDateTime")]
3225    pub created_date_time: String,
3226    #[serde(rename = "name")]
3227    pub name: String,
3228    #[serde(rename = "size")]
3229    pub size: i64,
3230    #[serde(rename = "sizeEncrypted")]
3231    pub size_encrypted: i64,
3232    #[serde(rename = "azureStorageUriExpirationDateTime")]
3233    pub azure_storage_uri_expiration_date_time: String,
3234    #[serde(rename = "manifest")]
3235    pub manifest: Vec<u8>,
3236    #[serde(rename = "uploadState")]
3237    pub upload_state: MobileAppContentFileUploadState,
3238}
3239
3240#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3241pub struct ManagedDeviceMobileAppConfigurationAssignment {
3242    #[serde(rename = "target")]
3243    pub target: DeviceAndAppManagementAssignmentTarget,
3244}
3245
3246#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3247pub struct ManagedDeviceMobileAppConfigurationDeviceStatus {
3248    #[serde(rename = "deviceDisplayName")]
3249    pub device_display_name: String,
3250    #[serde(rename = "userName")]
3251    pub user_name: String,
3252    #[serde(rename = "deviceModel")]
3253    pub device_model: String,
3254    #[serde(rename = "complianceGracePeriodExpirationDateTime")]
3255    pub compliance_grace_period_expiration_date_time: String,
3256    #[serde(rename = "status")]
3257    pub status: ComplianceStatus,
3258    #[serde(rename = "lastReportedDateTime")]
3259    pub last_reported_date_time: String,
3260    #[serde(rename = "userPrincipalName")]
3261    pub user_principal_name: String,
3262}
3263
3264#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3265pub struct ManagedDeviceMobileAppConfigurationUserStatus {
3266    #[serde(rename = "userDisplayName")]
3267    pub user_display_name: String,
3268    #[serde(rename = "devicesCount")]
3269    pub devices_count: i32,
3270    #[serde(rename = "status")]
3271    pub status: ComplianceStatus,
3272    #[serde(rename = "lastReportedDateTime")]
3273    pub last_reported_date_time: String,
3274    #[serde(rename = "userPrincipalName")]
3275    pub user_principal_name: String,
3276}
3277
3278#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3279pub struct ManagedDeviceMobileAppConfigurationDeviceSummary {
3280    #[serde(rename = "pendingCount")]
3281    pub pending_count: i32,
3282    #[serde(rename = "notApplicableCount")]
3283    pub not_applicable_count: i32,
3284    #[serde(rename = "successCount")]
3285    pub success_count: i32,
3286    #[serde(rename = "errorCount")]
3287    pub error_count: i32,
3288    #[serde(rename = "failedCount")]
3289    pub failed_count: i32,
3290    #[serde(rename = "lastUpdateDateTime")]
3291    pub last_update_date_time: String,
3292    #[serde(rename = "configurationVersion")]
3293    pub configuration_version: i32,
3294}
3295
3296#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3297pub struct ManagedDeviceMobileAppConfigurationUserSummary {
3298    #[serde(rename = "pendingCount")]
3299    pub pending_count: i32,
3300    #[serde(rename = "notApplicableCount")]
3301    pub not_applicable_count: i32,
3302    #[serde(rename = "successCount")]
3303    pub success_count: i32,
3304    #[serde(rename = "errorCount")]
3305    pub error_count: i32,
3306    #[serde(rename = "failedCount")]
3307    pub failed_count: i32,
3308    #[serde(rename = "lastUpdateDateTime")]
3309    pub last_update_date_time: String,
3310    #[serde(rename = "configurationVersion")]
3311    pub configuration_version: i32,
3312}
3313
3314#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3315pub struct MacOSOfficeSuiteApp {}
3316
3317#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3318pub struct ManagedApp {
3319    #[serde(rename = "appAvailability")]
3320    pub app_availability: ManagedAppAvailability,
3321    #[serde(rename = "version")]
3322    pub version: String,
3323}
3324
3325#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3326pub struct ManagedAndroidStoreApp {
3327    #[serde(rename = "packageId")]
3328    pub package_id: String,
3329    #[serde(rename = "appStoreUrl")]
3330    pub app_store_url: String,
3331    #[serde(rename = "minimumSupportedOperatingSystem")]
3332    pub minimum_supported_operating_system: AndroidMinimumOperatingSystem,
3333}
3334
3335#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3336pub struct ManagedIOSStoreApp {
3337    #[serde(rename = "bundleId")]
3338    pub bundle_id: String,
3339    #[serde(rename = "appStoreUrl")]
3340    pub app_store_url: String,
3341    #[serde(rename = "applicableDeviceType")]
3342    pub applicable_device_type: IosDeviceType,
3343    #[serde(rename = "minimumSupportedOperatingSystem")]
3344    pub minimum_supported_operating_system: IosMinimumOperatingSystem,
3345}
3346
3347#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3348pub struct ManagedMobileLobApp {
3349    #[serde(rename = "committedContentVersion")]
3350    pub committed_content_version: String,
3351    #[serde(rename = "fileName")]
3352    pub file_name: String,
3353    #[serde(rename = "size")]
3354    pub size: i64,
3355    #[serde(rename = "contentVersions")]
3356    pub content_versions: Vec<MobileAppContent>,
3357}
3358
3359#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3360pub struct MobileAppContent {
3361    #[serde(rename = "files")]
3362    pub files: Vec<MobileAppContentFile>,
3363}
3364
3365#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3366pub struct ManagedAndroidLobApp {
3367    #[serde(rename = "packageId")]
3368    pub package_id: String,
3369    #[serde(rename = "minimumSupportedOperatingSystem")]
3370    pub minimum_supported_operating_system: AndroidMinimumOperatingSystem,
3371    #[serde(rename = "versionName")]
3372    pub version_name: String,
3373    #[serde(rename = "versionCode")]
3374    pub version_code: String,
3375}
3376
3377#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3378pub struct ManagedIOSLobApp {
3379    #[serde(rename = "bundleId")]
3380    pub bundle_id: String,
3381    #[serde(rename = "applicableDeviceType")]
3382    pub applicable_device_type: IosDeviceType,
3383    #[serde(rename = "minimumSupportedOperatingSystem")]
3384    pub minimum_supported_operating_system: IosMinimumOperatingSystem,
3385    #[serde(rename = "expirationDateTime")]
3386    pub expiration_date_time: String,
3387    #[serde(rename = "versionNumber")]
3388    pub version_number: String,
3389    #[serde(rename = "buildNumber")]
3390    pub build_number: String,
3391}
3392
3393#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3394pub struct MobileLobApp {
3395    #[serde(rename = "committedContentVersion")]
3396    pub committed_content_version: String,
3397    #[serde(rename = "fileName")]
3398    pub file_name: String,
3399    #[serde(rename = "size")]
3400    pub size: i64,
3401    #[serde(rename = "contentVersions")]
3402    pub content_versions: Vec<MobileAppContent>,
3403}
3404
3405#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3406pub struct WindowsMobileMSI {
3407    #[serde(rename = "commandLine")]
3408    pub command_line: String,
3409    #[serde(rename = "productCode")]
3410    pub product_code: String,
3411    #[serde(rename = "productVersion")]
3412    pub product_version: String,
3413    #[serde(rename = "ignoreVersionDetection")]
3414    pub ignore_version_detection: bool,
3415}
3416
3417#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3418pub struct WindowsUniversalAppX {
3419    #[serde(rename = "applicableArchitectures")]
3420    pub applicable_architectures: WindowsArchitecture,
3421    #[serde(rename = "applicableDeviceTypes")]
3422    pub applicable_device_types: WindowsDeviceType,
3423    #[serde(rename = "identityName")]
3424    pub identity_name: String,
3425    #[serde(rename = "identityPublisherHash")]
3426    pub identity_publisher_hash: String,
3427    #[serde(rename = "identityResourceIdentifier")]
3428    pub identity_resource_identifier: String,
3429    #[serde(rename = "isBundle")]
3430    pub is_bundle: bool,
3431    #[serde(rename = "minimumSupportedOperatingSystem")]
3432    pub minimum_supported_operating_system: WindowsMinimumOperatingSystem,
3433    #[serde(rename = "identityVersion")]
3434    pub identity_version: String,
3435}
3436
3437#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3438pub struct AndroidLobApp {
3439    #[serde(rename = "packageId")]
3440    pub package_id: String,
3441    #[serde(rename = "minimumSupportedOperatingSystem")]
3442    pub minimum_supported_operating_system: AndroidMinimumOperatingSystem,
3443    #[serde(rename = "versionName")]
3444    pub version_name: String,
3445    #[serde(rename = "versionCode")]
3446    pub version_code: String,
3447}
3448
3449#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3450pub struct IosLobApp {
3451    #[serde(rename = "bundleId")]
3452    pub bundle_id: String,
3453    #[serde(rename = "applicableDeviceType")]
3454    pub applicable_device_type: IosDeviceType,
3455    #[serde(rename = "minimumSupportedOperatingSystem")]
3456    pub minimum_supported_operating_system: IosMinimumOperatingSystem,
3457    #[serde(rename = "expirationDateTime")]
3458    pub expiration_date_time: String,
3459    #[serde(rename = "versionNumber")]
3460    pub version_number: String,
3461    #[serde(rename = "buildNumber")]
3462    pub build_number: String,
3463}
3464
3465#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3466pub struct MicrosoftStoreForBusinessApp {
3467    #[serde(rename = "usedLicenseCount")]
3468    pub used_license_count: i32,
3469    #[serde(rename = "totalLicenseCount")]
3470    pub total_license_count: i32,
3471    #[serde(rename = "productKey")]
3472    pub product_key: String,
3473    #[serde(rename = "licenseType")]
3474    pub license_type: MicrosoftStoreForBusinessLicenseType,
3475    #[serde(rename = "packageIdentityName")]
3476    pub package_identity_name: String,
3477}
3478
3479#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3480pub struct WebApp {
3481    #[serde(rename = "appUrl")]
3482    pub app_url: String,
3483    #[serde(rename = "useManagedBrowser")]
3484    pub use_managed_browser: bool,
3485}
3486
3487#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3488pub struct AndroidStoreApp {
3489    #[serde(rename = "packageId")]
3490    pub package_id: String,
3491    #[serde(rename = "appStoreUrl")]
3492    pub app_store_url: String,
3493    #[serde(rename = "minimumSupportedOperatingSystem")]
3494    pub minimum_supported_operating_system: AndroidMinimumOperatingSystem,
3495}
3496
3497#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3498pub struct IosVppApp {
3499    #[serde(rename = "usedLicenseCount")]
3500    pub used_license_count: i32,
3501    #[serde(rename = "totalLicenseCount")]
3502    pub total_license_count: i32,
3503    #[serde(rename = "releaseDateTime")]
3504    pub release_date_time: String,
3505    #[serde(rename = "appStoreUrl")]
3506    pub app_store_url: String,
3507    #[serde(rename = "licensingType")]
3508    pub licensing_type: VppLicensingType,
3509    #[serde(rename = "applicableDeviceType")]
3510    pub applicable_device_type: IosDeviceType,
3511    #[serde(rename = "vppTokenOrganizationName")]
3512    pub vpp_token_organization_name: String,
3513    #[serde(rename = "vppTokenAccountType")]
3514    pub vpp_token_account_type: VppTokenAccountType,
3515    #[serde(rename = "vppTokenAppleId")]
3516    pub vpp_token_apple_id: String,
3517    #[serde(rename = "bundleId")]
3518    pub bundle_id: String,
3519}
3520
3521#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3522pub struct IosStoreApp {
3523    #[serde(rename = "bundleId")]
3524    pub bundle_id: String,
3525    #[serde(rename = "appStoreUrl")]
3526    pub app_store_url: String,
3527    #[serde(rename = "applicableDeviceType")]
3528    pub applicable_device_type: IosDeviceType,
3529    #[serde(rename = "minimumSupportedOperatingSystem")]
3530    pub minimum_supported_operating_system: IosMinimumOperatingSystem,
3531}
3532
3533#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3534pub struct IosMobileAppConfiguration {
3535    #[serde(rename = "encodedSettingXml")]
3536    pub encoded_setting_xml: Vec<u8>,
3537    #[serde(rename = "settings")]
3538    pub settings: Vec<AppConfigurationSettingItem>,
3539}
3540
3541#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3542pub struct DeviceManagement {
3543    #[serde(rename = "subscriptionState")]
3544    pub subscription_state: DeviceManagementSubscriptionState,
3545    #[serde(rename = "settings")]
3546    pub settings: DeviceManagementSettings,
3547    #[serde(rename = "intuneBrand")]
3548    pub intune_brand: IntuneBrand,
3549    #[serde(rename = "termsAndConditions")]
3550    pub terms_and_conditions: Vec<TermsAndConditions>,
3551    #[serde(rename = "applePushNotificationCertificate")]
3552    pub apple_push_notification_certificate: ApplePushNotificationCertificate,
3553    #[serde(rename = "managedDeviceOverview")]
3554    pub managed_device_overview: ManagedDeviceOverview,
3555    #[serde(rename = "detectedApps")]
3556    pub detected_apps: Vec<DetectedApp>,
3557    #[serde(rename = "managedDevices")]
3558    pub managed_devices: Vec<ManagedDevice>,
3559    #[serde(rename = "deviceConfigurations")]
3560    pub device_configurations: Vec<DeviceConfiguration>,
3561    #[serde(rename = "deviceCompliancePolicies")]
3562    pub device_compliance_policies: Vec<DeviceCompliancePolicy>,
3563    #[serde(rename = "softwareUpdateStatusSummary")]
3564    pub software_update_status_summary: SoftwareUpdateStatusSummary,
3565    #[serde(rename = "deviceCompliancePolicyDeviceStateSummary")]
3566    pub device_compliance_policy_device_state_summary: DeviceCompliancePolicyDeviceStateSummary,
3567    #[serde(rename = "deviceCompliancePolicySettingStateSummaries")]
3568    pub device_compliance_policy_setting_state_summaries:
3569        Vec<DeviceCompliancePolicySettingStateSummary>,
3570    #[serde(rename = "deviceConfigurationDeviceStateSummaries")]
3571    pub device_configuration_device_state_summaries: DeviceConfigurationDeviceStateSummary,
3572    #[serde(rename = "iosUpdateStatuses")]
3573    pub ios_update_statuses: Vec<IosUpdateDeviceStatus>,
3574    #[serde(rename = "deviceCategories")]
3575    pub device_categories: Vec<DeviceCategory>,
3576    #[serde(rename = "exchangeConnectors")]
3577    pub exchange_connectors: Vec<DeviceManagementExchangeConnector>,
3578    #[serde(rename = "deviceEnrollmentConfigurations")]
3579    pub device_enrollment_configurations: Vec<DeviceEnrollmentConfiguration>,
3580    #[serde(rename = "conditionalAccessSettings")]
3581    pub conditional_access_settings: OnPremisesConditionalAccessSettings,
3582    #[serde(rename = "mobileThreatDefenseConnectors")]
3583    pub mobile_threat_defense_connectors: Vec<MobileThreatDefenseConnector>,
3584    #[serde(rename = "deviceManagementPartners")]
3585    pub device_management_partners: Vec<DeviceManagementPartner>,
3586    #[serde(rename = "notificationMessageTemplates")]
3587    pub notification_message_templates: Vec<NotificationMessageTemplate>,
3588    #[serde(rename = "roleDefinitions")]
3589    pub role_definitions: Vec<RoleDefinition>,
3590    #[serde(rename = "roleAssignments")]
3591    pub role_assignments: Vec<DeviceAndAppManagementRoleAssignment>,
3592    #[serde(rename = "resourceOperations")]
3593    pub resource_operations: Vec<ResourceOperation>,
3594    #[serde(rename = "telecomExpenseManagementPartners")]
3595    pub telecom_expense_management_partners: Vec<TelecomExpenseManagementPartner>,
3596    #[serde(rename = "remoteAssistancePartners")]
3597    pub remote_assistance_partners: Vec<RemoteAssistancePartner>,
3598    #[serde(rename = "windowsInformationProtectionAppLearningSummaries")]
3599    pub windows_information_protection_app_learning_summaries:
3600        Vec<WindowsInformationProtectionAppLearningSummary>,
3601    #[serde(rename = "windowsInformationProtectionNetworkLearningSummaries")]
3602    pub windows_information_protection_network_learning_summaries:
3603        Vec<WindowsInformationProtectionNetworkLearningSummary>,
3604    #[serde(rename = "troubleshootingEvents")]
3605    pub troubleshooting_events: Vec<DeviceManagementTroubleshootingEvent>,
3606}
3607
3608#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3609pub struct TermsAndConditions {
3610    #[serde(rename = "createdDateTime")]
3611    pub created_date_time: String,
3612    #[serde(rename = "lastModifiedDateTime")]
3613    pub last_modified_date_time: String,
3614    #[serde(rename = "displayName")]
3615    pub display_name: String,
3616    #[serde(rename = "description")]
3617    pub description: String,
3618    #[serde(rename = "title")]
3619    pub title: String,
3620    #[serde(rename = "bodyText")]
3621    pub body_text: String,
3622    #[serde(rename = "acceptanceStatement")]
3623    pub acceptance_statement: String,
3624    #[serde(rename = "version")]
3625    pub version: i32,
3626    #[serde(rename = "assignments")]
3627    pub assignments: Vec<TermsAndConditionsAssignment>,
3628    #[serde(rename = "acceptanceStatuses")]
3629    pub acceptance_statuses: Vec<TermsAndConditionsAcceptanceStatus>,
3630}
3631
3632#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3633pub struct ApplePushNotificationCertificate {
3634    #[serde(rename = "appleIdentifier")]
3635    pub apple_identifier: String,
3636    #[serde(rename = "topicIdentifier")]
3637    pub topic_identifier: String,
3638    #[serde(rename = "lastModifiedDateTime")]
3639    pub last_modified_date_time: String,
3640    #[serde(rename = "expirationDateTime")]
3641    pub expiration_date_time: String,
3642    #[serde(rename = "certificate")]
3643    pub certificate: String,
3644}
3645
3646#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3647pub struct ManagedDeviceOverview {
3648    #[serde(rename = "enrolledDeviceCount")]
3649    pub enrolled_device_count: i32,
3650    #[serde(rename = "mdmEnrolledCount")]
3651    pub mdm_enrolled_count: i32,
3652    #[serde(rename = "dualEnrolledDeviceCount")]
3653    pub dual_enrolled_device_count: i32,
3654    #[serde(rename = "deviceOperatingSystemSummary")]
3655    pub device_operating_system_summary: DeviceOperatingSystemSummary,
3656    #[serde(rename = "deviceExchangeAccessStateSummary")]
3657    pub device_exchange_access_state_summary: DeviceExchangeAccessStateSummary,
3658}
3659
3660#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3661pub struct DetectedApp {
3662    #[serde(rename = "displayName")]
3663    pub display_name: String,
3664    #[serde(rename = "version")]
3665    pub version: String,
3666    #[serde(rename = "sizeInByte")]
3667    pub size_in_byte: i64,
3668    #[serde(rename = "deviceCount")]
3669    pub device_count: i32,
3670    #[serde(rename = "managedDevices")]
3671    pub managed_devices: Vec<ManagedDevice>,
3672}
3673
3674#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3675pub struct DeviceConfiguration {
3676    #[serde(rename = "lastModifiedDateTime")]
3677    pub last_modified_date_time: String,
3678    #[serde(rename = "createdDateTime")]
3679    pub created_date_time: String,
3680    #[serde(rename = "description")]
3681    pub description: String,
3682    #[serde(rename = "displayName")]
3683    pub display_name: String,
3684    #[serde(rename = "version")]
3685    pub version: i32,
3686    #[serde(rename = "assignments")]
3687    pub assignments: Vec<DeviceConfigurationAssignment>,
3688    #[serde(rename = "deviceStatuses")]
3689    pub device_statuses: Vec<DeviceConfigurationDeviceStatus>,
3690    #[serde(rename = "userStatuses")]
3691    pub user_statuses: Vec<DeviceConfigurationUserStatus>,
3692    #[serde(rename = "deviceStatusOverview")]
3693    pub device_status_overview: DeviceConfigurationDeviceOverview,
3694    #[serde(rename = "userStatusOverview")]
3695    pub user_status_overview: DeviceConfigurationUserOverview,
3696    #[serde(rename = "deviceSettingStateSummaries")]
3697    pub device_setting_state_summaries: Vec<SettingStateDeviceSummary>,
3698}
3699
3700#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3701pub struct DeviceCompliancePolicy {
3702    #[serde(rename = "createdDateTime")]
3703    pub created_date_time: String,
3704    #[serde(rename = "description")]
3705    pub description: String,
3706    #[serde(rename = "lastModifiedDateTime")]
3707    pub last_modified_date_time: String,
3708    #[serde(rename = "displayName")]
3709    pub display_name: String,
3710    #[serde(rename = "version")]
3711    pub version: i32,
3712    #[serde(rename = "scheduledActionsForRule")]
3713    pub scheduled_actions_for_rule: Vec<DeviceComplianceScheduledActionForRule>,
3714    #[serde(rename = "deviceStatuses")]
3715    pub device_statuses: Vec<DeviceComplianceDeviceStatus>,
3716    #[serde(rename = "userStatuses")]
3717    pub user_statuses: Vec<DeviceComplianceUserStatus>,
3718    #[serde(rename = "deviceStatusOverview")]
3719    pub device_status_overview: DeviceComplianceDeviceOverview,
3720    #[serde(rename = "userStatusOverview")]
3721    pub user_status_overview: DeviceComplianceUserOverview,
3722    #[serde(rename = "deviceSettingStateSummaries")]
3723    pub device_setting_state_summaries: Vec<SettingStateDeviceSummary>,
3724    #[serde(rename = "assignments")]
3725    pub assignments: Vec<DeviceCompliancePolicyAssignment>,
3726}
3727
3728#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3729pub struct SoftwareUpdateStatusSummary {
3730    #[serde(rename = "displayName")]
3731    pub display_name: String,
3732    #[serde(rename = "compliantDeviceCount")]
3733    pub compliant_device_count: i32,
3734    #[serde(rename = "nonCompliantDeviceCount")]
3735    pub non_compliant_device_count: i32,
3736    #[serde(rename = "remediatedDeviceCount")]
3737    pub remediated_device_count: i32,
3738    #[serde(rename = "errorDeviceCount")]
3739    pub error_device_count: i32,
3740    #[serde(rename = "unknownDeviceCount")]
3741    pub unknown_device_count: i32,
3742    #[serde(rename = "conflictDeviceCount")]
3743    pub conflict_device_count: i32,
3744    #[serde(rename = "notApplicableDeviceCount")]
3745    pub not_applicable_device_count: i32,
3746    #[serde(rename = "compliantUserCount")]
3747    pub compliant_user_count: i32,
3748    #[serde(rename = "nonCompliantUserCount")]
3749    pub non_compliant_user_count: i32,
3750    #[serde(rename = "remediatedUserCount")]
3751    pub remediated_user_count: i32,
3752    #[serde(rename = "errorUserCount")]
3753    pub error_user_count: i32,
3754    #[serde(rename = "unknownUserCount")]
3755    pub unknown_user_count: i32,
3756    #[serde(rename = "conflictUserCount")]
3757    pub conflict_user_count: i32,
3758    #[serde(rename = "notApplicableUserCount")]
3759    pub not_applicable_user_count: i32,
3760}
3761
3762#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3763pub struct DeviceCompliancePolicyDeviceStateSummary {
3764    #[serde(rename = "inGracePeriodCount")]
3765    pub in_grace_period_count: i32,
3766    #[serde(rename = "configManagerCount")]
3767    pub config_manager_count: i32,
3768    #[serde(rename = "unknownDeviceCount")]
3769    pub unknown_device_count: i32,
3770    #[serde(rename = "notApplicableDeviceCount")]
3771    pub not_applicable_device_count: i32,
3772    #[serde(rename = "compliantDeviceCount")]
3773    pub compliant_device_count: i32,
3774    #[serde(rename = "remediatedDeviceCount")]
3775    pub remediated_device_count: i32,
3776    #[serde(rename = "nonCompliantDeviceCount")]
3777    pub non_compliant_device_count: i32,
3778    #[serde(rename = "errorDeviceCount")]
3779    pub error_device_count: i32,
3780    #[serde(rename = "conflictDeviceCount")]
3781    pub conflict_device_count: i32,
3782}
3783
3784#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3785pub struct DeviceCompliancePolicySettingStateSummary {
3786    #[serde(rename = "setting")]
3787    pub setting: String,
3788    #[serde(rename = "settingName")]
3789    pub setting_name: String,
3790    #[serde(rename = "platformType")]
3791    pub platform_type: PolicyPlatformType,
3792    #[serde(rename = "unknownDeviceCount")]
3793    pub unknown_device_count: i32,
3794    #[serde(rename = "notApplicableDeviceCount")]
3795    pub not_applicable_device_count: i32,
3796    #[serde(rename = "compliantDeviceCount")]
3797    pub compliant_device_count: i32,
3798    #[serde(rename = "remediatedDeviceCount")]
3799    pub remediated_device_count: i32,
3800    #[serde(rename = "nonCompliantDeviceCount")]
3801    pub non_compliant_device_count: i32,
3802    #[serde(rename = "errorDeviceCount")]
3803    pub error_device_count: i32,
3804    #[serde(rename = "conflictDeviceCount")]
3805    pub conflict_device_count: i32,
3806    #[serde(rename = "deviceComplianceSettingStates")]
3807    pub device_compliance_setting_states: Vec<DeviceComplianceSettingState>,
3808}
3809
3810#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3811pub struct DeviceConfigurationDeviceStateSummary {
3812    #[serde(rename = "unknownDeviceCount")]
3813    pub unknown_device_count: i32,
3814    #[serde(rename = "notApplicableDeviceCount")]
3815    pub not_applicable_device_count: i32,
3816    #[serde(rename = "compliantDeviceCount")]
3817    pub compliant_device_count: i32,
3818    #[serde(rename = "remediatedDeviceCount")]
3819    pub remediated_device_count: i32,
3820    #[serde(rename = "nonCompliantDeviceCount")]
3821    pub non_compliant_device_count: i32,
3822    #[serde(rename = "errorDeviceCount")]
3823    pub error_device_count: i32,
3824    #[serde(rename = "conflictDeviceCount")]
3825    pub conflict_device_count: i32,
3826}
3827
3828#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3829pub struct IosUpdateDeviceStatus {
3830    #[serde(rename = "installStatus")]
3831    pub install_status: IosUpdatesInstallStatus,
3832    #[serde(rename = "osVersion")]
3833    pub os_version: String,
3834    #[serde(rename = "deviceId")]
3835    pub device_id: String,
3836    #[serde(rename = "userId")]
3837    pub user_id: String,
3838    #[serde(rename = "deviceDisplayName")]
3839    pub device_display_name: String,
3840    #[serde(rename = "userName")]
3841    pub user_name: String,
3842    #[serde(rename = "deviceModel")]
3843    pub device_model: String,
3844    #[serde(rename = "complianceGracePeriodExpirationDateTime")]
3845    pub compliance_grace_period_expiration_date_time: String,
3846    #[serde(rename = "status")]
3847    pub status: ComplianceStatus,
3848    #[serde(rename = "lastReportedDateTime")]
3849    pub last_reported_date_time: String,
3850    #[serde(rename = "userPrincipalName")]
3851    pub user_principal_name: String,
3852}
3853
3854#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3855pub struct DeviceCategory {
3856    #[serde(rename = "displayName")]
3857    pub display_name: String,
3858    #[serde(rename = "description")]
3859    pub description: String,
3860}
3861
3862#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3863pub struct DeviceManagementExchangeConnector {
3864    #[serde(rename = "lastSyncDateTime")]
3865    pub last_sync_date_time: String,
3866    #[serde(rename = "status")]
3867    pub status: DeviceManagementExchangeConnectorStatus,
3868    #[serde(rename = "primarySmtpAddress")]
3869    pub primary_smtp_address: String,
3870    #[serde(rename = "serverName")]
3871    pub server_name: String,
3872    #[serde(rename = "connectorServerName")]
3873    pub connector_server_name: String,
3874    #[serde(rename = "exchangeConnectorType")]
3875    pub exchange_connector_type: DeviceManagementExchangeConnectorType,
3876    #[serde(rename = "version")]
3877    pub version: String,
3878    #[serde(rename = "exchangeAlias")]
3879    pub exchange_alias: String,
3880    #[serde(rename = "exchangeOrganization")]
3881    pub exchange_organization: String,
3882}
3883
3884#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3885pub struct DeviceEnrollmentConfiguration {
3886    #[serde(rename = "displayName")]
3887    pub display_name: String,
3888    #[serde(rename = "description")]
3889    pub description: String,
3890    #[serde(rename = "priority")]
3891    pub priority: i32,
3892    #[serde(rename = "createdDateTime")]
3893    pub created_date_time: String,
3894    #[serde(rename = "lastModifiedDateTime")]
3895    pub last_modified_date_time: String,
3896    #[serde(rename = "version")]
3897    pub version: i32,
3898    #[serde(rename = "assignments")]
3899    pub assignments: Vec<EnrollmentConfigurationAssignment>,
3900}
3901
3902#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3903pub struct OnPremisesConditionalAccessSettings {
3904    #[serde(rename = "enabled")]
3905    pub enabled: bool,
3906    #[serde(rename = "includedGroups")]
3907    pub included_groups: Vec<String>,
3908    #[serde(rename = "excludedGroups")]
3909    pub excluded_groups: Vec<String>,
3910    #[serde(rename = "overrideDefaultRule")]
3911    pub override_default_rule: bool,
3912}
3913
3914#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3915pub struct MobileThreatDefenseConnector {
3916    #[serde(rename = "lastHeartbeatDateTime")]
3917    pub last_heartbeat_date_time: String,
3918    #[serde(rename = "partnerState")]
3919    pub partner_state: MobileThreatPartnerTenantState,
3920    #[serde(rename = "androidEnabled")]
3921    pub android_enabled: bool,
3922    #[serde(rename = "iosEnabled")]
3923    pub ios_enabled: bool,
3924    #[serde(rename = "androidDeviceBlockedOnMissingPartnerData")]
3925    pub android_device_blocked_on_missing_partner_data: bool,
3926    #[serde(rename = "iosDeviceBlockedOnMissingPartnerData")]
3927    pub ios_device_blocked_on_missing_partner_data: bool,
3928    #[serde(rename = "partnerUnsupportedOsVersionBlocked")]
3929    pub partner_unsupported_os_version_blocked: bool,
3930    #[serde(rename = "partnerUnresponsivenessThresholdInDays")]
3931    pub partner_unresponsiveness_threshold_in_days: i32,
3932}
3933
3934#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3935pub struct DeviceManagementPartner {
3936    #[serde(rename = "lastHeartbeatDateTime")]
3937    pub last_heartbeat_date_time: String,
3938    #[serde(rename = "partnerState")]
3939    pub partner_state: DeviceManagementPartnerTenantState,
3940    #[serde(rename = "partnerAppType")]
3941    pub partner_app_type: DeviceManagementPartnerAppType,
3942    #[serde(rename = "singleTenantAppId")]
3943    pub single_tenant_app_id: String,
3944    #[serde(rename = "displayName")]
3945    pub display_name: String,
3946    #[serde(rename = "isConfigured")]
3947    pub is_configured: bool,
3948    #[serde(rename = "whenPartnerDevicesWillBeRemovedDateTime")]
3949    pub when_partner_devices_will_be_removed_date_time: String,
3950    #[serde(rename = "whenPartnerDevicesWillBeMarkedAsNonCompliantDateTime")]
3951    pub when_partner_devices_will_be_marked_as_non_compliant_date_time: String,
3952}
3953
3954#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3955pub struct NotificationMessageTemplate {
3956    #[serde(rename = "lastModifiedDateTime")]
3957    pub last_modified_date_time: String,
3958    #[serde(rename = "displayName")]
3959    pub display_name: String,
3960    #[serde(rename = "defaultLocale")]
3961    pub default_locale: String,
3962    #[serde(rename = "brandingOptions")]
3963    pub branding_options: NotificationTemplateBrandingOptions,
3964    #[serde(rename = "localizedNotificationMessages")]
3965    pub localized_notification_messages: Vec<LocalizedNotificationMessage>,
3966}
3967
3968#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3969pub struct RoleDefinition {
3970    #[serde(rename = "displayName")]
3971    pub display_name: String,
3972    #[serde(rename = "description")]
3973    pub description: String,
3974    #[serde(rename = "rolePermissions")]
3975    pub role_permissions: Vec<RolePermission>,
3976    #[serde(rename = "isBuiltIn")]
3977    pub is_built_in: bool,
3978    #[serde(rename = "roleAssignments")]
3979    pub role_assignments: Vec<RoleAssignment>,
3980}
3981
3982#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3983pub struct RoleAssignment {
3984    #[serde(rename = "displayName")]
3985    pub display_name: String,
3986    #[serde(rename = "description")]
3987    pub description: String,
3988    #[serde(rename = "resourceScopes")]
3989    pub resource_scopes: Vec<String>,
3990    #[serde(rename = "roleDefinition")]
3991    pub role_definition: RoleDefinition,
3992}
3993
3994#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
3995pub struct DeviceAndAppManagementRoleAssignment {
3996    #[serde(rename = "members")]
3997    pub members: Vec<String>,
3998}
3999
4000#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
4001pub struct ResourceOperation {
4002    #[serde(rename = "resourceName")]
4003    pub resource_name: String,
4004    #[serde(rename = "actionName")]
4005    pub action_name: String,
4006    #[serde(rename = "description")]
4007    pub description: String,
4008}
4009
4010#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
4011pub struct TelecomExpenseManagementPartner {
4012    #[serde(rename = "displayName")]
4013    pub display_name: String,
4014    #[serde(rename = "url")]
4015    pub url: String,
4016    #[serde(rename = "appAuthorized")]
4017    pub app_authorized: bool,
4018    #[serde(rename = "enabled")]
4019    pub enabled: bool,
4020    #[serde(rename = "lastConnectionDateTime")]
4021    pub last_connection_date_time: String,
4022}
4023
4024#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
4025pub struct RemoteAssistancePartner {
4026    #[serde(rename = "displayName")]
4027    pub display_name: String,
4028    #[serde(rename = "onboardingUrl")]
4029    pub onboarding_url: String,
4030    #[serde(rename = "onboardingStatus")]
4031    pub onboarding_status: RemoteAssistanceOnboardingStatus,
4032    #[serde(rename = "lastConnectionDateTime")]
4033    pub last_connection_date_time: String,
4034}
4035
4036#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
4037pub struct WindowsInformationProtectionAppLearningSummary {
4038    #[serde(rename = "applicationName")]
4039    pub application_name: String,
4040    #[serde(rename = "applicationType")]
4041    pub application_type: ApplicationType,
4042    #[serde(rename = "deviceCount")]
4043    pub device_count: i32,
4044}
4045
4046#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
4047pub struct WindowsInformationProtectionNetworkLearningSummary {
4048    #[serde(rename = "url")]
4049    pub url: String,
4050    #[serde(rename = "deviceCount")]
4051    pub device_count: i32,
4052}
4053
4054#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
4055pub struct TermsAndConditionsAssignment {
4056    #[serde(rename = "target")]
4057    pub target: DeviceAndAppManagementAssignmentTarget,
4058}
4059
4060#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
4061pub struct TermsAndConditionsAcceptanceStatus {
4062    #[serde(rename = "userDisplayName")]
4063    pub user_display_name: String,
4064    #[serde(rename = "acceptedVersion")]
4065    pub accepted_version: i32,
4066    #[serde(rename = "acceptedDateTime")]
4067    pub accepted_date_time: String,
4068    #[serde(rename = "termsAndConditions")]
4069    pub terms_and_conditions: TermsAndConditions,
4070}
4071
4072#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
4073pub struct DeviceConfigurationState {
4074    #[serde(rename = "settingStates")]
4075    pub setting_states: Vec<DeviceConfigurationSettingState>,
4076    #[serde(rename = "displayName")]
4077    pub display_name: String,
4078    #[serde(rename = "version")]
4079    pub version: i32,
4080    #[serde(rename = "platformType")]
4081    pub platform_type: PolicyPlatformType,
4082    #[serde(rename = "state")]
4083    pub state: ComplianceStatus,
4084    #[serde(rename = "settingCount")]
4085    pub setting_count: i32,
4086}
4087
4088#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
4089pub struct DeviceCompliancePolicyState {
4090    #[serde(rename = "settingStates")]
4091    pub setting_states: Vec<DeviceCompliancePolicySettingState>,
4092    #[serde(rename = "displayName")]
4093    pub display_name: String,
4094    #[serde(rename = "version")]
4095    pub version: i32,
4096    #[serde(rename = "platformType")]
4097    pub platform_type: PolicyPlatformType,
4098    #[serde(rename = "state")]
4099    pub state: ComplianceStatus,
4100    #[serde(rename = "settingCount")]
4101    pub setting_count: i32,
4102}
4103
4104#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
4105pub struct DeviceConfigurationAssignment {
4106    #[serde(rename = "target")]
4107    pub target: DeviceAndAppManagementAssignmentTarget,
4108}
4109
4110#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
4111pub struct DeviceConfigurationDeviceStatus {
4112    #[serde(rename = "deviceDisplayName")]
4113    pub device_display_name: String,
4114    #[serde(rename = "userName")]
4115    pub user_name: String,
4116    #[serde(rename = "deviceModel")]
4117    pub device_model: String,
4118    #[serde(rename = "complianceGracePeriodExpirationDateTime")]
4119    pub compliance_grace_period_expiration_date_time: String,
4120    #[serde(rename = "status")]
4121    pub status: ComplianceStatus,
4122    #[serde(rename = "lastReportedDateTime")]
4123    pub last_reported_date_time: String,
4124    #[serde(rename = "userPrincipalName")]
4125    pub user_principal_name: String,
4126}
4127
4128#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
4129pub struct DeviceConfigurationUserStatus {
4130    #[serde(rename = "userDisplayName")]
4131    pub user_display_name: String,
4132    #[serde(rename = "devicesCount")]
4133    pub devices_count: i32,
4134    #[serde(rename = "status")]
4135    pub status: ComplianceStatus,
4136    #[serde(rename = "lastReportedDateTime")]
4137    pub last_reported_date_time: String,
4138    #[serde(rename = "userPrincipalName")]
4139    pub user_principal_name: String,
4140}
4141
4142#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
4143pub struct DeviceConfigurationDeviceOverview {
4144    #[serde(rename = "pendingCount")]
4145    pub pending_count: i32,
4146    #[serde(rename = "notApplicableCount")]
4147    pub not_applicable_count: i32,
4148    #[serde(rename = "successCount")]
4149    pub success_count: i32,
4150    #[serde(rename = "errorCount")]
4151    pub error_count: i32,
4152    #[serde(rename = "failedCount")]
4153    pub failed_count: i32,
4154    #[serde(rename = "lastUpdateDateTime")]
4155    pub last_update_date_time: String,
4156    #[serde(rename = "configurationVersion")]
4157    pub configuration_version: i32,
4158}
4159
4160#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
4161pub struct DeviceConfigurationUserOverview {
4162    #[serde(rename = "pendingCount")]
4163    pub pending_count: i32,
4164    #[serde(rename = "notApplicableCount")]
4165    pub not_applicable_count: i32,
4166    #[serde(rename = "successCount")]
4167    pub success_count: i32,
4168    #[serde(rename = "errorCount")]
4169    pub error_count: i32,
4170    #[serde(rename = "failedCount")]
4171    pub failed_count: i32,
4172    #[serde(rename = "lastUpdateDateTime")]
4173    pub last_update_date_time: String,
4174    #[serde(rename = "configurationVersion")]
4175    pub configuration_version: i32,
4176}
4177
4178#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
4179pub struct SettingStateDeviceSummary {
4180    #[serde(rename = "settingName")]
4181    pub setting_name: String,
4182    #[serde(rename = "instancePath")]
4183    pub instance_path: String,
4184    #[serde(rename = "unknownDeviceCount")]
4185    pub unknown_device_count: i32,
4186    #[serde(rename = "notApplicableDeviceCount")]
4187    pub not_applicable_device_count: i32,
4188    #[serde(rename = "compliantDeviceCount")]
4189    pub compliant_device_count: i32,
4190    #[serde(rename = "remediatedDeviceCount")]
4191    pub remediated_device_count: i32,
4192    #[serde(rename = "nonCompliantDeviceCount")]
4193    pub non_compliant_device_count: i32,
4194    #[serde(rename = "errorDeviceCount")]
4195    pub error_device_count: i32,
4196    #[serde(rename = "conflictDeviceCount")]
4197    pub conflict_device_count: i32,
4198}
4199
4200#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
4201pub struct DeviceCompliancePolicyAssignment {
4202    #[serde(rename = "target")]
4203    pub target: DeviceAndAppManagementAssignmentTarget,
4204}
4205
4206#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
4207pub struct DeviceComplianceScheduledActionForRule {
4208    #[serde(rename = "ruleName")]
4209    pub rule_name: String,
4210    #[serde(rename = "scheduledActionConfigurations")]
4211    pub scheduled_action_configurations: Vec<DeviceComplianceActionItem>,
4212}
4213
4214#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
4215pub struct DeviceComplianceDeviceStatus {
4216    #[serde(rename = "deviceDisplayName")]
4217    pub device_display_name: String,
4218    #[serde(rename = "userName")]
4219    pub user_name: String,
4220    #[serde(rename = "deviceModel")]
4221    pub device_model: String,
4222    #[serde(rename = "complianceGracePeriodExpirationDateTime")]
4223    pub compliance_grace_period_expiration_date_time: String,
4224    #[serde(rename = "status")]
4225    pub status: ComplianceStatus,
4226    #[serde(rename = "lastReportedDateTime")]
4227    pub last_reported_date_time: String,
4228    #[serde(rename = "userPrincipalName")]
4229    pub user_principal_name: String,
4230}
4231
4232#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
4233pub struct DeviceComplianceUserStatus {
4234    #[serde(rename = "userDisplayName")]
4235    pub user_display_name: String,
4236    #[serde(rename = "devicesCount")]
4237    pub devices_count: i32,
4238    #[serde(rename = "status")]
4239    pub status: ComplianceStatus,
4240    #[serde(rename = "lastReportedDateTime")]
4241    pub last_reported_date_time: String,
4242    #[serde(rename = "userPrincipalName")]
4243    pub user_principal_name: String,
4244}
4245
4246#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
4247pub struct DeviceComplianceDeviceOverview {
4248    #[serde(rename = "pendingCount")]
4249    pub pending_count: i32,
4250    #[serde(rename = "notApplicableCount")]
4251    pub not_applicable_count: i32,
4252    #[serde(rename = "successCount")]
4253    pub success_count: i32,
4254    #[serde(rename = "errorCount")]
4255    pub error_count: i32,
4256    #[serde(rename = "failedCount")]
4257    pub failed_count: i32,
4258    #[serde(rename = "lastUpdateDateTime")]
4259    pub last_update_date_time: String,
4260    #[serde(rename = "configurationVersion")]
4261    pub configuration_version: i32,
4262}
4263
4264#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
4265pub struct DeviceComplianceUserOverview {
4266    #[serde(rename = "pendingCount")]
4267    pub pending_count: i32,
4268    #[serde(rename = "notApplicableCount")]
4269    pub not_applicable_count: i32,
4270    #[serde(rename = "successCount")]
4271    pub success_count: i32,
4272    #[serde(rename = "errorCount")]
4273    pub error_count: i32,
4274    #[serde(rename = "failedCount")]
4275    pub failed_count: i32,
4276    #[serde(rename = "lastUpdateDateTime")]
4277    pub last_update_date_time: String,
4278    #[serde(rename = "configurationVersion")]
4279    pub configuration_version: i32,
4280}
4281
4282#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
4283pub struct DeviceComplianceActionItem {
4284    #[serde(rename = "gracePeriodHours")]
4285    pub grace_period_hours: i32,
4286    #[serde(rename = "actionType")]
4287    pub action_type: DeviceComplianceActionType,
4288    #[serde(rename = "notificationTemplateId")]
4289    pub notification_template_id: String,
4290    #[serde(rename = "notificationMessageCCList")]
4291    pub notification_message_c_c_list: Vec<String>,
4292}
4293
4294#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
4295pub struct AndroidCustomConfiguration {
4296    #[serde(rename = "omaSettings")]
4297    pub oma_settings: Vec<OmaSetting>,
4298}
4299
4300#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
4301pub struct AndroidGeneralDeviceConfiguration {
4302    #[serde(rename = "appsBlockClipboardSharing")]
4303    pub apps_block_clipboard_sharing: bool,
4304    #[serde(rename = "appsBlockCopyPaste")]
4305    pub apps_block_copy_paste: bool,
4306    #[serde(rename = "appsBlockYouTube")]
4307    pub apps_block_you_tube: bool,
4308    #[serde(rename = "bluetoothBlocked")]
4309    pub bluetooth_blocked: bool,
4310    #[serde(rename = "cameraBlocked")]
4311    pub camera_blocked: bool,
4312    #[serde(rename = "cellularBlockDataRoaming")]
4313    pub cellular_block_data_roaming: bool,
4314    #[serde(rename = "cellularBlockMessaging")]
4315    pub cellular_block_messaging: bool,
4316    #[serde(rename = "cellularBlockVoiceRoaming")]
4317    pub cellular_block_voice_roaming: bool,
4318    #[serde(rename = "cellularBlockWiFiTethering")]
4319    pub cellular_block_wi_fi_tethering: bool,
4320    #[serde(rename = "compliantAppsList")]
4321    pub compliant_apps_list: Vec<AppListItem>,
4322    #[serde(rename = "compliantAppListType")]
4323    pub compliant_app_list_type: AppListType,
4324    #[serde(rename = "diagnosticDataBlockSubmission")]
4325    pub diagnostic_data_block_submission: bool,
4326    #[serde(rename = "locationServicesBlocked")]
4327    pub location_services_blocked: bool,
4328    #[serde(rename = "googleAccountBlockAutoSync")]
4329    pub google_account_block_auto_sync: bool,
4330    #[serde(rename = "googlePlayStoreBlocked")]
4331    pub google_play_store_blocked: bool,
4332    #[serde(rename = "kioskModeBlockSleepButton")]
4333    pub kiosk_mode_block_sleep_button: bool,
4334    #[serde(rename = "kioskModeBlockVolumeButtons")]
4335    pub kiosk_mode_block_volume_buttons: bool,
4336    #[serde(rename = "kioskModeApps")]
4337    pub kiosk_mode_apps: Vec<AppListItem>,
4338    #[serde(rename = "nfcBlocked")]
4339    pub nfc_blocked: bool,
4340    #[serde(rename = "passwordBlockFingerprintUnlock")]
4341    pub password_block_fingerprint_unlock: bool,
4342    #[serde(rename = "passwordBlockTrustAgents")]
4343    pub password_block_trust_agents: bool,
4344    #[serde(rename = "passwordExpirationDays")]
4345    pub password_expiration_days: i32,
4346    #[serde(rename = "passwordMinimumLength")]
4347    pub password_minimum_length: i32,
4348    #[serde(rename = "passwordMinutesOfInactivityBeforeScreenTimeout")]
4349    pub password_minutes_of_inactivity_before_screen_timeout: i32,
4350    #[serde(rename = "passwordPreviousPasswordBlockCount")]
4351    pub password_previous_password_block_count: i32,
4352    #[serde(rename = "passwordSignInFailureCountBeforeFactoryReset")]
4353    pub password_sign_in_failure_count_before_factory_reset: i32,
4354    #[serde(rename = "passwordRequiredType")]
4355    pub password_required_type: AndroidRequiredPasswordType,
4356    #[serde(rename = "passwordRequired")]
4357    pub password_required: bool,
4358    #[serde(rename = "powerOffBlocked")]
4359    pub power_off_blocked: bool,
4360    #[serde(rename = "factoryResetBlocked")]
4361    pub factory_reset_blocked: bool,
4362    #[serde(rename = "screenCaptureBlocked")]
4363    pub screen_capture_blocked: bool,
4364    #[serde(rename = "deviceSharingAllowed")]
4365    pub device_sharing_allowed: bool,
4366    #[serde(rename = "storageBlockGoogleBackup")]
4367    pub storage_block_google_backup: bool,
4368    #[serde(rename = "storageBlockRemovableStorage")]
4369    pub storage_block_removable_storage: bool,
4370    #[serde(rename = "storageRequireDeviceEncryption")]
4371    pub storage_require_device_encryption: bool,
4372    #[serde(rename = "storageRequireRemovableStorageEncryption")]
4373    pub storage_require_removable_storage_encryption: bool,
4374    #[serde(rename = "voiceAssistantBlocked")]
4375    pub voice_assistant_blocked: bool,
4376    #[serde(rename = "voiceDialingBlocked")]
4377    pub voice_dialing_blocked: bool,
4378    #[serde(rename = "webBrowserBlockPopups")]
4379    pub web_browser_block_popups: bool,
4380    #[serde(rename = "webBrowserBlockAutofill")]
4381    pub web_browser_block_autofill: bool,
4382    #[serde(rename = "webBrowserBlockJavaScript")]
4383    pub web_browser_block_java_script: bool,
4384    #[serde(rename = "webBrowserBlocked")]
4385    pub web_browser_blocked: bool,
4386    #[serde(rename = "webBrowserCookieSettings")]
4387    pub web_browser_cookie_settings: WebBrowserCookieSettings,
4388    #[serde(rename = "wiFiBlocked")]
4389    pub wi_fi_blocked: bool,
4390    #[serde(rename = "appsInstallAllowList")]
4391    pub apps_install_allow_list: Vec<AppListItem>,
4392    #[serde(rename = "appsLaunchBlockList")]
4393    pub apps_launch_block_list: Vec<AppListItem>,
4394    #[serde(rename = "appsHideList")]
4395    pub apps_hide_list: Vec<AppListItem>,
4396    #[serde(rename = "securityRequireVerifyApps")]
4397    pub security_require_verify_apps: bool,
4398}
4399
4400#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
4401pub struct AndroidWorkProfileCustomConfiguration {
4402    #[serde(rename = "omaSettings")]
4403    pub oma_settings: Vec<OmaSetting>,
4404}
4405
4406#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
4407pub struct AndroidWorkProfileGeneralDeviceConfiguration {
4408    #[serde(rename = "passwordBlockFingerprintUnlock")]
4409    pub password_block_fingerprint_unlock: bool,
4410    #[serde(rename = "passwordBlockTrustAgents")]
4411    pub password_block_trust_agents: bool,
4412    #[serde(rename = "passwordExpirationDays")]
4413    pub password_expiration_days: i32,
4414    #[serde(rename = "passwordMinimumLength")]
4415    pub password_minimum_length: i32,
4416    #[serde(rename = "passwordMinutesOfInactivityBeforeScreenTimeout")]
4417    pub password_minutes_of_inactivity_before_screen_timeout: i32,
4418    #[serde(rename = "passwordPreviousPasswordBlockCount")]
4419    pub password_previous_password_block_count: i32,
4420    #[serde(rename = "passwordSignInFailureCountBeforeFactoryReset")]
4421    pub password_sign_in_failure_count_before_factory_reset: i32,
4422    #[serde(rename = "passwordRequiredType")]
4423    pub password_required_type: AndroidWorkProfileRequiredPasswordType,
4424    #[serde(rename = "workProfileDataSharingType")]
4425    pub work_profile_data_sharing_type: AndroidWorkProfileCrossProfileDataSharingType,
4426    #[serde(rename = "workProfileBlockNotificationsWhileDeviceLocked")]
4427    pub work_profile_block_notifications_while_device_locked: bool,
4428    #[serde(rename = "workProfileBlockAddingAccounts")]
4429    pub work_profile_block_adding_accounts: bool,
4430    #[serde(rename = "workProfileBluetoothEnableContactSharing")]
4431    pub work_profile_bluetooth_enable_contact_sharing: bool,
4432    #[serde(rename = "workProfileBlockScreenCapture")]
4433    pub work_profile_block_screen_capture: bool,
4434    #[serde(rename = "workProfileBlockCrossProfileCallerId")]
4435    pub work_profile_block_cross_profile_caller_id: bool,
4436    #[serde(rename = "workProfileBlockCamera")]
4437    pub work_profile_block_camera: bool,
4438    #[serde(rename = "workProfileBlockCrossProfileContactsSearch")]
4439    pub work_profile_block_cross_profile_contacts_search: bool,
4440    #[serde(rename = "workProfileBlockCrossProfileCopyPaste")]
4441    pub work_profile_block_cross_profile_copy_paste: bool,
4442    #[serde(rename = "workProfileDefaultAppPermissionPolicy")]
4443    pub work_profile_default_app_permission_policy:
4444        AndroidWorkProfileDefaultAppPermissionPolicyType,
4445    #[serde(rename = "workProfilePasswordBlockFingerprintUnlock")]
4446    pub work_profile_password_block_fingerprint_unlock: bool,
4447    #[serde(rename = "workProfilePasswordBlockTrustAgents")]
4448    pub work_profile_password_block_trust_agents: bool,
4449    #[serde(rename = "workProfilePasswordExpirationDays")]
4450    pub work_profile_password_expiration_days: i32,
4451    #[serde(rename = "workProfilePasswordMinimumLength")]
4452    pub work_profile_password_minimum_length: i32,
4453    #[serde(rename = "workProfilePasswordMinNumericCharacters")]
4454    pub work_profile_password_min_numeric_characters: i32,
4455    #[serde(rename = "workProfilePasswordMinNonLetterCharacters")]
4456    pub work_profile_password_min_non_letter_characters: i32,
4457    #[serde(rename = "workProfilePasswordMinLetterCharacters")]
4458    pub work_profile_password_min_letter_characters: i32,
4459    #[serde(rename = "workProfilePasswordMinLowerCaseCharacters")]
4460    pub work_profile_password_min_lower_case_characters: i32,
4461    #[serde(rename = "workProfilePasswordMinUpperCaseCharacters")]
4462    pub work_profile_password_min_upper_case_characters: i32,
4463    #[serde(rename = "workProfilePasswordMinSymbolCharacters")]
4464    pub work_profile_password_min_symbol_characters: i32,
4465    #[serde(rename = "workProfilePasswordMinutesOfInactivityBeforeScreenTimeout")]
4466    pub work_profile_password_minutes_of_inactivity_before_screen_timeout: i32,
4467    #[serde(rename = "workProfilePasswordPreviousPasswordBlockCount")]
4468    pub work_profile_password_previous_password_block_count: i32,
4469    #[serde(rename = "workProfilePasswordSignInFailureCountBeforeFactoryReset")]
4470    pub work_profile_password_sign_in_failure_count_before_factory_reset: i32,
4471    #[serde(rename = "workProfilePasswordRequiredType")]
4472    pub work_profile_password_required_type: AndroidWorkProfileRequiredPasswordType,
4473    #[serde(rename = "workProfileRequirePassword")]
4474    pub work_profile_require_password: bool,
4475    #[serde(rename = "securityRequireVerifyApps")]
4476    pub security_require_verify_apps: bool,
4477}
4478
4479#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
4480pub struct IosCertificateProfile {}
4481
4482#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
4483pub struct IosCustomConfiguration {
4484    #[serde(rename = "payloadName")]
4485    pub payload_name: String,
4486    #[serde(rename = "payloadFileName")]
4487    pub payload_file_name: String,
4488    #[serde(rename = "payload")]
4489    pub payload: Vec<u8>,
4490}
4491
4492#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
4493pub struct IosGeneralDeviceConfiguration {
4494    #[serde(rename = "accountBlockModification")]
4495    pub account_block_modification: bool,
4496    #[serde(rename = "activationLockAllowWhenSupervised")]
4497    pub activation_lock_allow_when_supervised: bool,
4498    #[serde(rename = "airDropBlocked")]
4499    pub air_drop_blocked: bool,
4500    #[serde(rename = "airDropForceUnmanagedDropTarget")]
4501    pub air_drop_force_unmanaged_drop_target: bool,
4502    #[serde(rename = "airPlayForcePairingPasswordForOutgoingRequests")]
4503    pub air_play_force_pairing_password_for_outgoing_requests: bool,
4504    #[serde(rename = "appleWatchBlockPairing")]
4505    pub apple_watch_block_pairing: bool,
4506    #[serde(rename = "appleWatchForceWristDetection")]
4507    pub apple_watch_force_wrist_detection: bool,
4508    #[serde(rename = "appleNewsBlocked")]
4509    pub apple_news_blocked: bool,
4510    #[serde(rename = "appsSingleAppModeList")]
4511    pub apps_single_app_mode_list: Vec<AppListItem>,
4512    #[serde(rename = "appsVisibilityList")]
4513    pub apps_visibility_list: Vec<AppListItem>,
4514    #[serde(rename = "appsVisibilityListType")]
4515    pub apps_visibility_list_type: AppListType,
4516    #[serde(rename = "appStoreBlockAutomaticDownloads")]
4517    pub app_store_block_automatic_downloads: bool,
4518    #[serde(rename = "appStoreBlocked")]
4519    pub app_store_blocked: bool,
4520    #[serde(rename = "appStoreBlockInAppPurchases")]
4521    pub app_store_block_in_app_purchases: bool,
4522    #[serde(rename = "appStoreBlockUIAppInstallation")]
4523    pub app_store_block_u_i_app_installation: bool,
4524    #[serde(rename = "appStoreRequirePassword")]
4525    pub app_store_require_password: bool,
4526    #[serde(rename = "bluetoothBlockModification")]
4527    pub bluetooth_block_modification: bool,
4528    #[serde(rename = "cameraBlocked")]
4529    pub camera_blocked: bool,
4530    #[serde(rename = "cellularBlockDataRoaming")]
4531    pub cellular_block_data_roaming: bool,
4532    #[serde(rename = "cellularBlockGlobalBackgroundFetchWhileRoaming")]
4533    pub cellular_block_global_background_fetch_while_roaming: bool,
4534    #[serde(rename = "cellularBlockPerAppDataModification")]
4535    pub cellular_block_per_app_data_modification: bool,
4536    #[serde(rename = "cellularBlockPersonalHotspot")]
4537    pub cellular_block_personal_hotspot: bool,
4538    #[serde(rename = "cellularBlockVoiceRoaming")]
4539    pub cellular_block_voice_roaming: bool,
4540    #[serde(rename = "certificatesBlockUntrustedTlsCertificates")]
4541    pub certificates_block_untrusted_tls_certificates: bool,
4542    #[serde(rename = "classroomAppBlockRemoteScreenObservation")]
4543    pub classroom_app_block_remote_screen_observation: bool,
4544    #[serde(rename = "classroomAppForceUnpromptedScreenObservation")]
4545    pub classroom_app_force_unprompted_screen_observation: bool,
4546    #[serde(rename = "compliantAppsList")]
4547    pub compliant_apps_list: Vec<AppListItem>,
4548    #[serde(rename = "compliantAppListType")]
4549    pub compliant_app_list_type: AppListType,
4550    #[serde(rename = "configurationProfileBlockChanges")]
4551    pub configuration_profile_block_changes: bool,
4552    #[serde(rename = "definitionLookupBlocked")]
4553    pub definition_lookup_blocked: bool,
4554    #[serde(rename = "deviceBlockEnableRestrictions")]
4555    pub device_block_enable_restrictions: bool,
4556    #[serde(rename = "deviceBlockEraseContentAndSettings")]
4557    pub device_block_erase_content_and_settings: bool,
4558    #[serde(rename = "deviceBlockNameModification")]
4559    pub device_block_name_modification: bool,
4560    #[serde(rename = "diagnosticDataBlockSubmission")]
4561    pub diagnostic_data_block_submission: bool,
4562    #[serde(rename = "diagnosticDataBlockSubmissionModification")]
4563    pub diagnostic_data_block_submission_modification: bool,
4564    #[serde(rename = "documentsBlockManagedDocumentsInUnmanagedApps")]
4565    pub documents_block_managed_documents_in_unmanaged_apps: bool,
4566    #[serde(rename = "documentsBlockUnmanagedDocumentsInManagedApps")]
4567    pub documents_block_unmanaged_documents_in_managed_apps: bool,
4568    #[serde(rename = "emailInDomainSuffixes")]
4569    pub email_in_domain_suffixes: Vec<String>,
4570    #[serde(rename = "enterpriseAppBlockTrust")]
4571    pub enterprise_app_block_trust: bool,
4572    #[serde(rename = "enterpriseAppBlockTrustModification")]
4573    pub enterprise_app_block_trust_modification: bool,
4574    #[serde(rename = "faceTimeBlocked")]
4575    pub face_time_blocked: bool,
4576    #[serde(rename = "findMyFriendsBlocked")]
4577    pub find_my_friends_blocked: bool,
4578    #[serde(rename = "gamingBlockGameCenterFriends")]
4579    pub gaming_block_game_center_friends: bool,
4580    #[serde(rename = "gamingBlockMultiplayer")]
4581    pub gaming_block_multiplayer: bool,
4582    #[serde(rename = "gameCenterBlocked")]
4583    pub game_center_blocked: bool,
4584    #[serde(rename = "hostPairingBlocked")]
4585    pub host_pairing_blocked: bool,
4586    #[serde(rename = "iBooksStoreBlocked")]
4587    pub i_books_store_blocked: bool,
4588    #[serde(rename = "iBooksStoreBlockErotica")]
4589    pub i_books_store_block_erotica: bool,
4590    #[serde(rename = "iCloudBlockActivityContinuation")]
4591    pub i_cloud_block_activity_continuation: bool,
4592    #[serde(rename = "iCloudBlockBackup")]
4593    pub i_cloud_block_backup: bool,
4594    #[serde(rename = "iCloudBlockDocumentSync")]
4595    pub i_cloud_block_document_sync: bool,
4596    #[serde(rename = "iCloudBlockManagedAppsSync")]
4597    pub i_cloud_block_managed_apps_sync: bool,
4598    #[serde(rename = "iCloudBlockPhotoLibrary")]
4599    pub i_cloud_block_photo_library: bool,
4600    #[serde(rename = "iCloudBlockPhotoStreamSync")]
4601    pub i_cloud_block_photo_stream_sync: bool,
4602    #[serde(rename = "iCloudBlockSharedPhotoStream")]
4603    pub i_cloud_block_shared_photo_stream: bool,
4604    #[serde(rename = "iCloudRequireEncryptedBackup")]
4605    pub i_cloud_require_encrypted_backup: bool,
4606    #[serde(rename = "iTunesBlockExplicitContent")]
4607    pub i_tunes_block_explicit_content: bool,
4608    #[serde(rename = "iTunesBlockMusicService")]
4609    pub i_tunes_block_music_service: bool,
4610    #[serde(rename = "iTunesBlockRadio")]
4611    pub i_tunes_block_radio: bool,
4612    #[serde(rename = "keyboardBlockAutoCorrect")]
4613    pub keyboard_block_auto_correct: bool,
4614    #[serde(rename = "keyboardBlockDictation")]
4615    pub keyboard_block_dictation: bool,
4616    #[serde(rename = "keyboardBlockPredictive")]
4617    pub keyboard_block_predictive: bool,
4618    #[serde(rename = "keyboardBlockShortcuts")]
4619    pub keyboard_block_shortcuts: bool,
4620    #[serde(rename = "keyboardBlockSpellCheck")]
4621    pub keyboard_block_spell_check: bool,
4622    #[serde(rename = "kioskModeAllowAssistiveSpeak")]
4623    pub kiosk_mode_allow_assistive_speak: bool,
4624    #[serde(rename = "kioskModeAllowAssistiveTouchSettings")]
4625    pub kiosk_mode_allow_assistive_touch_settings: bool,
4626    #[serde(rename = "kioskModeAllowAutoLock")]
4627    pub kiosk_mode_allow_auto_lock: bool,
4628    #[serde(rename = "kioskModeAllowColorInversionSettings")]
4629    pub kiosk_mode_allow_color_inversion_settings: bool,
4630    #[serde(rename = "kioskModeAllowRingerSwitch")]
4631    pub kiosk_mode_allow_ringer_switch: bool,
4632    #[serde(rename = "kioskModeAllowScreenRotation")]
4633    pub kiosk_mode_allow_screen_rotation: bool,
4634    #[serde(rename = "kioskModeAllowSleepButton")]
4635    pub kiosk_mode_allow_sleep_button: bool,
4636    #[serde(rename = "kioskModeAllowTouchscreen")]
4637    pub kiosk_mode_allow_touchscreen: bool,
4638    #[serde(rename = "kioskModeAllowVoiceOverSettings")]
4639    pub kiosk_mode_allow_voice_over_settings: bool,
4640    #[serde(rename = "kioskModeAllowVolumeButtons")]
4641    pub kiosk_mode_allow_volume_buttons: bool,
4642    #[serde(rename = "kioskModeAllowZoomSettings")]
4643    pub kiosk_mode_allow_zoom_settings: bool,
4644    #[serde(rename = "kioskModeAppStoreUrl")]
4645    pub kiosk_mode_app_store_url: String,
4646    #[serde(rename = "kioskModeBuiltInAppId")]
4647    pub kiosk_mode_built_in_app_id: String,
4648    #[serde(rename = "kioskModeRequireAssistiveTouch")]
4649    pub kiosk_mode_require_assistive_touch: bool,
4650    #[serde(rename = "kioskModeRequireColorInversion")]
4651    pub kiosk_mode_require_color_inversion: bool,
4652    #[serde(rename = "kioskModeRequireMonoAudio")]
4653    pub kiosk_mode_require_mono_audio: bool,
4654    #[serde(rename = "kioskModeRequireVoiceOver")]
4655    pub kiosk_mode_require_voice_over: bool,
4656    #[serde(rename = "kioskModeRequireZoom")]
4657    pub kiosk_mode_require_zoom: bool,
4658    #[serde(rename = "kioskModeManagedAppId")]
4659    pub kiosk_mode_managed_app_id: String,
4660    #[serde(rename = "lockScreenBlockControlCenter")]
4661    pub lock_screen_block_control_center: bool,
4662    #[serde(rename = "lockScreenBlockNotificationView")]
4663    pub lock_screen_block_notification_view: bool,
4664    #[serde(rename = "lockScreenBlockPassbook")]
4665    pub lock_screen_block_passbook: bool,
4666    #[serde(rename = "lockScreenBlockTodayView")]
4667    pub lock_screen_block_today_view: bool,
4668    #[serde(rename = "mediaContentRatingAustralia")]
4669    pub media_content_rating_australia: MediaContentRatingAustralia,
4670    #[serde(rename = "mediaContentRatingCanada")]
4671    pub media_content_rating_canada: MediaContentRatingCanada,
4672    #[serde(rename = "mediaContentRatingFrance")]
4673    pub media_content_rating_france: MediaContentRatingFrance,
4674    #[serde(rename = "mediaContentRatingGermany")]
4675    pub media_content_rating_germany: MediaContentRatingGermany,
4676    #[serde(rename = "mediaContentRatingIreland")]
4677    pub media_content_rating_ireland: MediaContentRatingIreland,
4678    #[serde(rename = "mediaContentRatingJapan")]
4679    pub media_content_rating_japan: MediaContentRatingJapan,
4680    #[serde(rename = "mediaContentRatingNewZealand")]
4681    pub media_content_rating_new_zealand: MediaContentRatingNewZealand,
4682    #[serde(rename = "mediaContentRatingUnitedKingdom")]
4683    pub media_content_rating_united_kingdom: MediaContentRatingUnitedKingdom,
4684    #[serde(rename = "mediaContentRatingUnitedStates")]
4685    pub media_content_rating_united_states: MediaContentRatingUnitedStates,
4686    #[serde(rename = "networkUsageRules")]
4687    pub network_usage_rules: Vec<IosNetworkUsageRule>,
4688    #[serde(rename = "mediaContentRatingApps")]
4689    pub media_content_rating_apps: RatingAppsType,
4690    #[serde(rename = "messagesBlocked")]
4691    pub messages_blocked: bool,
4692    #[serde(rename = "notificationsBlockSettingsModification")]
4693    pub notifications_block_settings_modification: bool,
4694    #[serde(rename = "passcodeBlockFingerprintUnlock")]
4695    pub passcode_block_fingerprint_unlock: bool,
4696    #[serde(rename = "passcodeBlockFingerprintModification")]
4697    pub passcode_block_fingerprint_modification: bool,
4698    #[serde(rename = "passcodeBlockModification")]
4699    pub passcode_block_modification: bool,
4700    #[serde(rename = "passcodeBlockSimple")]
4701    pub passcode_block_simple: bool,
4702    #[serde(rename = "passcodeExpirationDays")]
4703    pub passcode_expiration_days: i32,
4704    #[serde(rename = "passcodeMinimumLength")]
4705    pub passcode_minimum_length: i32,
4706    #[serde(rename = "passcodeMinutesOfInactivityBeforeLock")]
4707    pub passcode_minutes_of_inactivity_before_lock: i32,
4708    #[serde(rename = "passcodeMinutesOfInactivityBeforeScreenTimeout")]
4709    pub passcode_minutes_of_inactivity_before_screen_timeout: i32,
4710    #[serde(rename = "passcodeMinimumCharacterSetCount")]
4711    pub passcode_minimum_character_set_count: i32,
4712    #[serde(rename = "passcodePreviousPasscodeBlockCount")]
4713    pub passcode_previous_passcode_block_count: i32,
4714    #[serde(rename = "passcodeSignInFailureCountBeforeWipe")]
4715    pub passcode_sign_in_failure_count_before_wipe: i32,
4716    #[serde(rename = "passcodeRequiredType")]
4717    pub passcode_required_type: RequiredPasswordType,
4718    #[serde(rename = "passcodeRequired")]
4719    pub passcode_required: bool,
4720    #[serde(rename = "podcastsBlocked")]
4721    pub podcasts_blocked: bool,
4722    #[serde(rename = "safariBlockAutofill")]
4723    pub safari_block_autofill: bool,
4724    #[serde(rename = "safariBlockJavaScript")]
4725    pub safari_block_java_script: bool,
4726    #[serde(rename = "safariBlockPopups")]
4727    pub safari_block_popups: bool,
4728    #[serde(rename = "safariBlocked")]
4729    pub safari_blocked: bool,
4730    #[serde(rename = "safariCookieSettings")]
4731    pub safari_cookie_settings: WebBrowserCookieSettings,
4732    #[serde(rename = "safariManagedDomains")]
4733    pub safari_managed_domains: Vec<String>,
4734    #[serde(rename = "safariPasswordAutoFillDomains")]
4735    pub safari_password_auto_fill_domains: Vec<String>,
4736    #[serde(rename = "safariRequireFraudWarning")]
4737    pub safari_require_fraud_warning: bool,
4738    #[serde(rename = "screenCaptureBlocked")]
4739    pub screen_capture_blocked: bool,
4740    #[serde(rename = "siriBlocked")]
4741    pub siri_blocked: bool,
4742    #[serde(rename = "siriBlockedWhenLocked")]
4743    pub siri_blocked_when_locked: bool,
4744    #[serde(rename = "siriBlockUserGeneratedContent")]
4745    pub siri_block_user_generated_content: bool,
4746    #[serde(rename = "siriRequireProfanityFilter")]
4747    pub siri_require_profanity_filter: bool,
4748    #[serde(rename = "spotlightBlockInternetResults")]
4749    pub spotlight_block_internet_results: bool,
4750    #[serde(rename = "voiceDialingBlocked")]
4751    pub voice_dialing_blocked: bool,
4752    #[serde(rename = "wallpaperBlockModification")]
4753    pub wallpaper_block_modification: bool,
4754    #[serde(rename = "wiFiConnectOnlyToConfiguredNetworks")]
4755    pub wi_fi_connect_only_to_configured_networks: bool,
4756}
4757
4758#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
4759pub struct IosUpdateConfiguration {
4760    #[serde(rename = "activeHoursStart")]
4761    pub active_hours_start: String,
4762    #[serde(rename = "activeHoursEnd")]
4763    pub active_hours_end: String,
4764    #[serde(rename = "scheduledInstallDays")]
4765    pub scheduled_install_days: Vec<DayOfWeek>,
4766    #[serde(rename = "utcTimeOffsetInMinutes")]
4767    pub utc_time_offset_in_minutes: i32,
4768}
4769
4770#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
4771pub struct MacOSCustomConfiguration {
4772    #[serde(rename = "payloadName")]
4773    pub payload_name: String,
4774    #[serde(rename = "payloadFileName")]
4775    pub payload_file_name: String,
4776    #[serde(rename = "payload")]
4777    pub payload: Vec<u8>,
4778}
4779
4780#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
4781pub struct MacOSGeneralDeviceConfiguration {
4782    #[serde(rename = "compliantAppsList")]
4783    pub compliant_apps_list: Vec<AppListItem>,
4784    #[serde(rename = "compliantAppListType")]
4785    pub compliant_app_list_type: AppListType,
4786    #[serde(rename = "emailInDomainSuffixes")]
4787    pub email_in_domain_suffixes: Vec<String>,
4788    #[serde(rename = "passwordBlockSimple")]
4789    pub password_block_simple: bool,
4790    #[serde(rename = "passwordExpirationDays")]
4791    pub password_expiration_days: i32,
4792    #[serde(rename = "passwordMinimumCharacterSetCount")]
4793    pub password_minimum_character_set_count: i32,
4794    #[serde(rename = "passwordMinimumLength")]
4795    pub password_minimum_length: i32,
4796    #[serde(rename = "passwordMinutesOfInactivityBeforeLock")]
4797    pub password_minutes_of_inactivity_before_lock: i32,
4798    #[serde(rename = "passwordMinutesOfInactivityBeforeScreenTimeout")]
4799    pub password_minutes_of_inactivity_before_screen_timeout: i32,
4800    #[serde(rename = "passwordPreviousPasswordBlockCount")]
4801    pub password_previous_password_block_count: i32,
4802    #[serde(rename = "passwordRequiredType")]
4803    pub password_required_type: RequiredPasswordType,
4804    #[serde(rename = "passwordRequired")]
4805    pub password_required: bool,
4806}
4807
4808#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
4809pub struct AppleDeviceFeaturesConfigurationBase {}
4810
4811#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
4812pub struct IosDeviceFeaturesConfiguration {
4813    #[serde(rename = "assetTagTemplate")]
4814    pub asset_tag_template: String,
4815    #[serde(rename = "lockScreenFootnote")]
4816    pub lock_screen_footnote: String,
4817    #[serde(rename = "homeScreenDockIcons")]
4818    pub home_screen_dock_icons: Vec<IosHomeScreenItem>,
4819    #[serde(rename = "homeScreenPages")]
4820    pub home_screen_pages: Vec<IosHomeScreenPage>,
4821    #[serde(rename = "notificationSettings")]
4822    pub notification_settings: Vec<IosNotificationSettings>,
4823}
4824
4825#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
4826pub struct MacOSDeviceFeaturesConfiguration {}
4827
4828#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
4829pub struct Windows10EndpointProtectionConfiguration {
4830    #[serde(rename = "firewallBlockStatefulFTP")]
4831    pub firewall_block_stateful_f_t_p: bool,
4832    #[serde(rename = "firewallIdleTimeoutForSecurityAssociationInSeconds")]
4833    pub firewall_idle_timeout_for_security_association_in_seconds: i32,
4834    #[serde(rename = "firewallPreSharedKeyEncodingMethod")]
4835    pub firewall_pre_shared_key_encoding_method: FirewallPreSharedKeyEncodingMethodType,
4836    #[serde(rename = "firewallIPSecExemptionsAllowNeighborDiscovery")]
4837    pub firewall_i_p_sec_exemptions_allow_neighbor_discovery: bool,
4838    #[serde(rename = "firewallIPSecExemptionsAllowICMP")]
4839    pub firewall_i_p_sec_exemptions_allow_i_c_m_p: bool,
4840    #[serde(rename = "firewallIPSecExemptionsAllowRouterDiscovery")]
4841    pub firewall_i_p_sec_exemptions_allow_router_discovery: bool,
4842    #[serde(rename = "firewallIPSecExemptionsAllowDHCP")]
4843    pub firewall_i_p_sec_exemptions_allow_d_h_c_p: bool,
4844    #[serde(rename = "firewallCertificateRevocationListCheckMethod")]
4845    pub firewall_certificate_revocation_list_check_method:
4846        FirewallCertificateRevocationListCheckMethodType,
4847    #[serde(rename = "firewallMergeKeyingModuleSettings")]
4848    pub firewall_merge_keying_module_settings: bool,
4849    #[serde(rename = "firewallPacketQueueingMethod")]
4850    pub firewall_packet_queueing_method: FirewallPacketQueueingMethodType,
4851    #[serde(rename = "firewallProfileDomain")]
4852    pub firewall_profile_domain: WindowsFirewallNetworkProfile,
4853    #[serde(rename = "firewallProfilePublic")]
4854    pub firewall_profile_public: WindowsFirewallNetworkProfile,
4855    #[serde(rename = "firewallProfilePrivate")]
4856    pub firewall_profile_private: WindowsFirewallNetworkProfile,
4857    #[serde(rename = "defenderAttackSurfaceReductionExcludedPaths")]
4858    pub defender_attack_surface_reduction_excluded_paths: Vec<String>,
4859    #[serde(rename = "defenderGuardedFoldersAllowedAppPaths")]
4860    pub defender_guarded_folders_allowed_app_paths: Vec<String>,
4861    #[serde(rename = "defenderAdditionalGuardedFolders")]
4862    pub defender_additional_guarded_folders: Vec<String>,
4863    #[serde(rename = "defenderExploitProtectionXml")]
4864    pub defender_exploit_protection_xml: Vec<u8>,
4865    #[serde(rename = "defenderExploitProtectionXmlFileName")]
4866    pub defender_exploit_protection_xml_file_name: String,
4867    #[serde(rename = "defenderSecurityCenterBlockExploitProtectionOverride")]
4868    pub defender_security_center_block_exploit_protection_override: bool,
4869    #[serde(rename = "appLockerApplicationControl")]
4870    pub app_locker_application_control: AppLockerApplicationControlType,
4871    #[serde(rename = "smartScreenEnableInShell")]
4872    pub smart_screen_enable_in_shell: bool,
4873    #[serde(rename = "smartScreenBlockOverrideForFiles")]
4874    pub smart_screen_block_override_for_files: bool,
4875    #[serde(rename = "applicationGuardEnabled")]
4876    pub application_guard_enabled: bool,
4877    #[serde(rename = "applicationGuardBlockFileTransfer")]
4878    pub application_guard_block_file_transfer: ApplicationGuardBlockFileTransferType,
4879    #[serde(rename = "applicationGuardBlockNonEnterpriseContent")]
4880    pub application_guard_block_non_enterprise_content: bool,
4881    #[serde(rename = "applicationGuardAllowPersistence")]
4882    pub application_guard_allow_persistence: bool,
4883    #[serde(rename = "applicationGuardForceAuditing")]
4884    pub application_guard_force_auditing: bool,
4885    #[serde(rename = "applicationGuardBlockClipboardSharing")]
4886    pub application_guard_block_clipboard_sharing: ApplicationGuardBlockClipboardSharingType,
4887    #[serde(rename = "applicationGuardAllowPrintToPDF")]
4888    pub application_guard_allow_print_to_p_d_f: bool,
4889    #[serde(rename = "applicationGuardAllowPrintToXPS")]
4890    pub application_guard_allow_print_to_x_p_s: bool,
4891    #[serde(rename = "applicationGuardAllowPrintToLocalPrinters")]
4892    pub application_guard_allow_print_to_local_printers: bool,
4893    #[serde(rename = "applicationGuardAllowPrintToNetworkPrinters")]
4894    pub application_guard_allow_print_to_network_printers: bool,
4895    #[serde(rename = "bitLockerDisableWarningForOtherDiskEncryption")]
4896    pub bit_locker_disable_warning_for_other_disk_encryption: bool,
4897    #[serde(rename = "bitLockerEnableStorageCardEncryptionOnMobile")]
4898    pub bit_locker_enable_storage_card_encryption_on_mobile: bool,
4899    #[serde(rename = "bitLockerEncryptDevice")]
4900    pub bit_locker_encrypt_device: bool,
4901    #[serde(rename = "bitLockerRemovableDrivePolicy")]
4902    pub bit_locker_removable_drive_policy: BitLockerRemovableDrivePolicy,
4903}
4904
4905#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
4906pub struct Windows10GeneralConfiguration {
4907    #[serde(rename = "enterpriseCloudPrintDiscoveryEndPoint")]
4908    pub enterprise_cloud_print_discovery_end_point: String,
4909    #[serde(rename = "enterpriseCloudPrintOAuthAuthority")]
4910    pub enterprise_cloud_print_o_auth_authority: String,
4911    #[serde(rename = "enterpriseCloudPrintOAuthClientIdentifier")]
4912    pub enterprise_cloud_print_o_auth_client_identifier: String,
4913    #[serde(rename = "enterpriseCloudPrintResourceIdentifier")]
4914    pub enterprise_cloud_print_resource_identifier: String,
4915    #[serde(rename = "enterpriseCloudPrintDiscoveryMaxLimit")]
4916    pub enterprise_cloud_print_discovery_max_limit: i32,
4917    #[serde(rename = "enterpriseCloudPrintMopriaDiscoveryResourceIdentifier")]
4918    pub enterprise_cloud_print_mopria_discovery_resource_identifier: String,
4919    #[serde(rename = "searchBlockDiacritics")]
4920    pub search_block_diacritics: bool,
4921    #[serde(rename = "searchDisableAutoLanguageDetection")]
4922    pub search_disable_auto_language_detection: bool,
4923    #[serde(rename = "searchDisableIndexingEncryptedItems")]
4924    pub search_disable_indexing_encrypted_items: bool,
4925    #[serde(rename = "searchEnableRemoteQueries")]
4926    pub search_enable_remote_queries: bool,
4927    #[serde(rename = "searchDisableIndexerBackoff")]
4928    pub search_disable_indexer_backoff: bool,
4929    #[serde(rename = "searchDisableIndexingRemovableDrive")]
4930    pub search_disable_indexing_removable_drive: bool,
4931    #[serde(rename = "searchEnableAutomaticIndexSizeManangement")]
4932    pub search_enable_automatic_index_size_manangement: bool,
4933    #[serde(rename = "diagnosticsDataSubmissionMode")]
4934    pub diagnostics_data_submission_mode: DiagnosticDataSubmissionMode,
4935    #[serde(rename = "oneDriveDisableFileSync")]
4936    pub one_drive_disable_file_sync: bool,
4937    #[serde(rename = "smartScreenEnableAppInstallControl")]
4938    pub smart_screen_enable_app_install_control: bool,
4939    #[serde(rename = "personalizationDesktopImageUrl")]
4940    pub personalization_desktop_image_url: String,
4941    #[serde(rename = "personalizationLockScreenImageUrl")]
4942    pub personalization_lock_screen_image_url: String,
4943    #[serde(rename = "bluetoothAllowedServices")]
4944    pub bluetooth_allowed_services: Vec<String>,
4945    #[serde(rename = "bluetoothBlockAdvertising")]
4946    pub bluetooth_block_advertising: bool,
4947    #[serde(rename = "bluetoothBlockDiscoverableMode")]
4948    pub bluetooth_block_discoverable_mode: bool,
4949    #[serde(rename = "bluetoothBlockPrePairing")]
4950    pub bluetooth_block_pre_pairing: bool,
4951    #[serde(rename = "edgeBlockAutofill")]
4952    pub edge_block_autofill: bool,
4953    #[serde(rename = "edgeBlocked")]
4954    pub edge_blocked: bool,
4955    #[serde(rename = "edgeCookiePolicy")]
4956    pub edge_cookie_policy: EdgeCookiePolicy,
4957    #[serde(rename = "edgeBlockDeveloperTools")]
4958    pub edge_block_developer_tools: bool,
4959    #[serde(rename = "edgeBlockSendingDoNotTrackHeader")]
4960    pub edge_block_sending_do_not_track_header: bool,
4961    #[serde(rename = "edgeBlockExtensions")]
4962    pub edge_block_extensions: bool,
4963    #[serde(rename = "edgeBlockInPrivateBrowsing")]
4964    pub edge_block_in_private_browsing: bool,
4965    #[serde(rename = "edgeBlockJavaScript")]
4966    pub edge_block_java_script: bool,
4967    #[serde(rename = "edgeBlockPasswordManager")]
4968    pub edge_block_password_manager: bool,
4969    #[serde(rename = "edgeBlockAddressBarDropdown")]
4970    pub edge_block_address_bar_dropdown: bool,
4971    #[serde(rename = "edgeBlockCompatibilityList")]
4972    pub edge_block_compatibility_list: bool,
4973    #[serde(rename = "edgeClearBrowsingDataOnExit")]
4974    pub edge_clear_browsing_data_on_exit: bool,
4975    #[serde(rename = "edgeAllowStartPagesModification")]
4976    pub edge_allow_start_pages_modification: bool,
4977    #[serde(rename = "edgeDisableFirstRunPage")]
4978    pub edge_disable_first_run_page: bool,
4979    #[serde(rename = "edgeBlockLiveTileDataCollection")]
4980    pub edge_block_live_tile_data_collection: bool,
4981    #[serde(rename = "edgeSyncFavoritesWithInternetExplorer")]
4982    pub edge_sync_favorites_with_internet_explorer: bool,
4983    #[serde(rename = "cellularBlockDataWhenRoaming")]
4984    pub cellular_block_data_when_roaming: bool,
4985    #[serde(rename = "cellularBlockVpn")]
4986    pub cellular_block_vpn: bool,
4987    #[serde(rename = "cellularBlockVpnWhenRoaming")]
4988    pub cellular_block_vpn_when_roaming: bool,
4989    #[serde(rename = "defenderBlockEndUserAccess")]
4990    pub defender_block_end_user_access: bool,
4991    #[serde(rename = "defenderDaysBeforeDeletingQuarantinedMalware")]
4992    pub defender_days_before_deleting_quarantined_malware: i32,
4993    #[serde(rename = "defenderDetectedMalwareActions")]
4994    pub defender_detected_malware_actions: DefenderDetectedMalwareActions,
4995    #[serde(rename = "defenderSystemScanSchedule")]
4996    pub defender_system_scan_schedule: WeeklySchedule,
4997    #[serde(rename = "defenderFilesAndFoldersToExclude")]
4998    pub defender_files_and_folders_to_exclude: Vec<String>,
4999    #[serde(rename = "defenderFileExtensionsToExclude")]
5000    pub defender_file_extensions_to_exclude: Vec<String>,
5001    #[serde(rename = "defenderScanMaxCpu")]
5002    pub defender_scan_max_cpu: i32,
5003    #[serde(rename = "defenderMonitorFileActivity")]
5004    pub defender_monitor_file_activity: DefenderMonitorFileActivity,
5005    #[serde(rename = "defenderProcessesToExclude")]
5006    pub defender_processes_to_exclude: Vec<String>,
5007    #[serde(rename = "defenderPromptForSampleSubmission")]
5008    pub defender_prompt_for_sample_submission: DefenderPromptForSampleSubmission,
5009    #[serde(rename = "defenderRequireBehaviorMonitoring")]
5010    pub defender_require_behavior_monitoring: bool,
5011    #[serde(rename = "defenderRequireCloudProtection")]
5012    pub defender_require_cloud_protection: bool,
5013    #[serde(rename = "defenderRequireNetworkInspectionSystem")]
5014    pub defender_require_network_inspection_system: bool,
5015    #[serde(rename = "defenderRequireRealTimeMonitoring")]
5016    pub defender_require_real_time_monitoring: bool,
5017    #[serde(rename = "defenderScanArchiveFiles")]
5018    pub defender_scan_archive_files: bool,
5019    #[serde(rename = "defenderScanDownloads")]
5020    pub defender_scan_downloads: bool,
5021    #[serde(rename = "defenderScanNetworkFiles")]
5022    pub defender_scan_network_files: bool,
5023    #[serde(rename = "defenderScanIncomingMail")]
5024    pub defender_scan_incoming_mail: bool,
5025    #[serde(rename = "defenderScanMappedNetworkDrivesDuringFullScan")]
5026    pub defender_scan_mapped_network_drives_during_full_scan: bool,
5027    #[serde(rename = "defenderScanRemovableDrivesDuringFullScan")]
5028    pub defender_scan_removable_drives_during_full_scan: bool,
5029    #[serde(rename = "defenderScanScriptsLoadedInInternetExplorer")]
5030    pub defender_scan_scripts_loaded_in_internet_explorer: bool,
5031    #[serde(rename = "defenderSignatureUpdateIntervalInHours")]
5032    pub defender_signature_update_interval_in_hours: i32,
5033    #[serde(rename = "defenderScanType")]
5034    pub defender_scan_type: DefenderScanType,
5035    #[serde(rename = "defenderScheduledScanTime")]
5036    pub defender_scheduled_scan_time: String,
5037    #[serde(rename = "defenderScheduledQuickScanTime")]
5038    pub defender_scheduled_quick_scan_time: String,
5039    #[serde(rename = "defenderCloudBlockLevel")]
5040    pub defender_cloud_block_level: DefenderCloudBlockLevelType,
5041    #[serde(rename = "lockScreenAllowTimeoutConfiguration")]
5042    pub lock_screen_allow_timeout_configuration: bool,
5043    #[serde(rename = "lockScreenBlockActionCenterNotifications")]
5044    pub lock_screen_block_action_center_notifications: bool,
5045    #[serde(rename = "lockScreenBlockCortana")]
5046    pub lock_screen_block_cortana: bool,
5047    #[serde(rename = "lockScreenBlockToastNotifications")]
5048    pub lock_screen_block_toast_notifications: bool,
5049    #[serde(rename = "lockScreenTimeoutInSeconds")]
5050    pub lock_screen_timeout_in_seconds: i32,
5051    #[serde(rename = "passwordBlockSimple")]
5052    pub password_block_simple: bool,
5053    #[serde(rename = "passwordExpirationDays")]
5054    pub password_expiration_days: i32,
5055    #[serde(rename = "passwordMinimumLength")]
5056    pub password_minimum_length: i32,
5057    #[serde(rename = "passwordMinutesOfInactivityBeforeScreenTimeout")]
5058    pub password_minutes_of_inactivity_before_screen_timeout: i32,
5059    #[serde(rename = "passwordMinimumCharacterSetCount")]
5060    pub password_minimum_character_set_count: i32,
5061    #[serde(rename = "passwordPreviousPasswordBlockCount")]
5062    pub password_previous_password_block_count: i32,
5063    #[serde(rename = "passwordRequired")]
5064    pub password_required: bool,
5065    #[serde(rename = "passwordRequireWhenResumeFromIdleState")]
5066    pub password_require_when_resume_from_idle_state: bool,
5067    #[serde(rename = "passwordRequiredType")]
5068    pub password_required_type: RequiredPasswordType,
5069    #[serde(rename = "passwordSignInFailureCountBeforeFactoryReset")]
5070    pub password_sign_in_failure_count_before_factory_reset: i32,
5071    #[serde(rename = "privacyAdvertisingId")]
5072    pub privacy_advertising_id: StateManagementSetting,
5073    #[serde(rename = "privacyAutoAcceptPairingAndConsentPrompts")]
5074    pub privacy_auto_accept_pairing_and_consent_prompts: bool,
5075    #[serde(rename = "privacyBlockInputPersonalization")]
5076    pub privacy_block_input_personalization: bool,
5077    #[serde(rename = "startBlockUnpinningAppsFromTaskbar")]
5078    pub start_block_unpinning_apps_from_taskbar: bool,
5079    #[serde(rename = "startMenuAppListVisibility")]
5080    pub start_menu_app_list_visibility: WindowsStartMenuAppListVisibilityType,
5081    #[serde(rename = "startMenuHideChangeAccountSettings")]
5082    pub start_menu_hide_change_account_settings: bool,
5083    #[serde(rename = "startMenuHideFrequentlyUsedApps")]
5084    pub start_menu_hide_frequently_used_apps: bool,
5085    #[serde(rename = "startMenuHideHibernate")]
5086    pub start_menu_hide_hibernate: bool,
5087    #[serde(rename = "startMenuHideLock")]
5088    pub start_menu_hide_lock: bool,
5089    #[serde(rename = "startMenuHidePowerButton")]
5090    pub start_menu_hide_power_button: bool,
5091    #[serde(rename = "startMenuHideRecentJumpLists")]
5092    pub start_menu_hide_recent_jump_lists: bool,
5093    #[serde(rename = "startMenuHideRecentlyAddedApps")]
5094    pub start_menu_hide_recently_added_apps: bool,
5095    #[serde(rename = "startMenuHideRestartOptions")]
5096    pub start_menu_hide_restart_options: bool,
5097    #[serde(rename = "startMenuHideShutDown")]
5098    pub start_menu_hide_shut_down: bool,
5099    #[serde(rename = "startMenuHideSignOut")]
5100    pub start_menu_hide_sign_out: bool,
5101    #[serde(rename = "startMenuHideSleep")]
5102    pub start_menu_hide_sleep: bool,
5103    #[serde(rename = "startMenuHideSwitchAccount")]
5104    pub start_menu_hide_switch_account: bool,
5105    #[serde(rename = "startMenuHideUserTile")]
5106    pub start_menu_hide_user_tile: bool,
5107    #[serde(rename = "startMenuLayoutEdgeAssetsXml")]
5108    pub start_menu_layout_edge_assets_xml: Vec<u8>,
5109    #[serde(rename = "startMenuLayoutXml")]
5110    pub start_menu_layout_xml: Vec<u8>,
5111    #[serde(rename = "startMenuMode")]
5112    pub start_menu_mode: WindowsStartMenuModeType,
5113    #[serde(rename = "startMenuPinnedFolderDocuments")]
5114    pub start_menu_pinned_folder_documents: VisibilitySetting,
5115    #[serde(rename = "startMenuPinnedFolderDownloads")]
5116    pub start_menu_pinned_folder_downloads: VisibilitySetting,
5117    #[serde(rename = "startMenuPinnedFolderFileExplorer")]
5118    pub start_menu_pinned_folder_file_explorer: VisibilitySetting,
5119    #[serde(rename = "startMenuPinnedFolderHomeGroup")]
5120    pub start_menu_pinned_folder_home_group: VisibilitySetting,
5121    #[serde(rename = "startMenuPinnedFolderMusic")]
5122    pub start_menu_pinned_folder_music: VisibilitySetting,
5123    #[serde(rename = "startMenuPinnedFolderNetwork")]
5124    pub start_menu_pinned_folder_network: VisibilitySetting,
5125    #[serde(rename = "startMenuPinnedFolderPersonalFolder")]
5126    pub start_menu_pinned_folder_personal_folder: VisibilitySetting,
5127    #[serde(rename = "startMenuPinnedFolderPictures")]
5128    pub start_menu_pinned_folder_pictures: VisibilitySetting,
5129    #[serde(rename = "startMenuPinnedFolderSettings")]
5130    pub start_menu_pinned_folder_settings: VisibilitySetting,
5131    #[serde(rename = "startMenuPinnedFolderVideos")]
5132    pub start_menu_pinned_folder_videos: VisibilitySetting,
5133    #[serde(rename = "settingsBlockSettingsApp")]
5134    pub settings_block_settings_app: bool,
5135    #[serde(rename = "settingsBlockSystemPage")]
5136    pub settings_block_system_page: bool,
5137    #[serde(rename = "settingsBlockDevicesPage")]
5138    pub settings_block_devices_page: bool,
5139    #[serde(rename = "settingsBlockNetworkInternetPage")]
5140    pub settings_block_network_internet_page: bool,
5141    #[serde(rename = "settingsBlockPersonalizationPage")]
5142    pub settings_block_personalization_page: bool,
5143    #[serde(rename = "settingsBlockAccountsPage")]
5144    pub settings_block_accounts_page: bool,
5145    #[serde(rename = "settingsBlockTimeLanguagePage")]
5146    pub settings_block_time_language_page: bool,
5147    #[serde(rename = "settingsBlockEaseOfAccessPage")]
5148    pub settings_block_ease_of_access_page: bool,
5149    #[serde(rename = "settingsBlockPrivacyPage")]
5150    pub settings_block_privacy_page: bool,
5151    #[serde(rename = "settingsBlockUpdateSecurityPage")]
5152    pub settings_block_update_security_page: bool,
5153    #[serde(rename = "settingsBlockAppsPage")]
5154    pub settings_block_apps_page: bool,
5155    #[serde(rename = "settingsBlockGamingPage")]
5156    pub settings_block_gaming_page: bool,
5157    #[serde(rename = "windowsSpotlightBlockConsumerSpecificFeatures")]
5158    pub windows_spotlight_block_consumer_specific_features: bool,
5159    #[serde(rename = "windowsSpotlightBlocked")]
5160    pub windows_spotlight_blocked: bool,
5161    #[serde(rename = "windowsSpotlightBlockOnActionCenter")]
5162    pub windows_spotlight_block_on_action_center: bool,
5163    #[serde(rename = "windowsSpotlightBlockTailoredExperiences")]
5164    pub windows_spotlight_block_tailored_experiences: bool,
5165    #[serde(rename = "windowsSpotlightBlockThirdPartyNotifications")]
5166    pub windows_spotlight_block_third_party_notifications: bool,
5167    #[serde(rename = "windowsSpotlightBlockWelcomeExperience")]
5168    pub windows_spotlight_block_welcome_experience: bool,
5169    #[serde(rename = "windowsSpotlightBlockWindowsTips")]
5170    pub windows_spotlight_block_windows_tips: bool,
5171    #[serde(rename = "windowsSpotlightConfigureOnLockScreen")]
5172    pub windows_spotlight_configure_on_lock_screen: WindowsSpotlightEnablementSettings,
5173    #[serde(rename = "networkProxyApplySettingsDeviceWide")]
5174    pub network_proxy_apply_settings_device_wide: bool,
5175    #[serde(rename = "networkProxyDisableAutoDetect")]
5176    pub network_proxy_disable_auto_detect: bool,
5177    #[serde(rename = "networkProxyAutomaticConfigurationUrl")]
5178    pub network_proxy_automatic_configuration_url: String,
5179    #[serde(rename = "networkProxyServer")]
5180    pub network_proxy_server: Windows10NetworkProxyServer,
5181    #[serde(rename = "accountsBlockAddingNonMicrosoftAccountEmail")]
5182    pub accounts_block_adding_non_microsoft_account_email: bool,
5183    #[serde(rename = "antiTheftModeBlocked")]
5184    pub anti_theft_mode_blocked: bool,
5185    #[serde(rename = "bluetoothBlocked")]
5186    pub bluetooth_blocked: bool,
5187    #[serde(rename = "cameraBlocked")]
5188    pub camera_blocked: bool,
5189    #[serde(rename = "connectedDevicesServiceBlocked")]
5190    pub connected_devices_service_blocked: bool,
5191    #[serde(rename = "certificatesBlockManualRootCertificateInstallation")]
5192    pub certificates_block_manual_root_certificate_installation: bool,
5193    #[serde(rename = "copyPasteBlocked")]
5194    pub copy_paste_blocked: bool,
5195    #[serde(rename = "cortanaBlocked")]
5196    pub cortana_blocked: bool,
5197    #[serde(rename = "deviceManagementBlockFactoryResetOnMobile")]
5198    pub device_management_block_factory_reset_on_mobile: bool,
5199    #[serde(rename = "deviceManagementBlockManualUnenroll")]
5200    pub device_management_block_manual_unenroll: bool,
5201    #[serde(rename = "safeSearchFilter")]
5202    pub safe_search_filter: SafeSearchFilterType,
5203    #[serde(rename = "edgeBlockPopups")]
5204    pub edge_block_popups: bool,
5205    #[serde(rename = "edgeBlockSearchSuggestions")]
5206    pub edge_block_search_suggestions: bool,
5207    #[serde(rename = "edgeBlockSendingIntranetTrafficToInternetExplorer")]
5208    pub edge_block_sending_intranet_traffic_to_internet_explorer: bool,
5209    #[serde(rename = "edgeSendIntranetTrafficToInternetExplorer")]
5210    pub edge_send_intranet_traffic_to_internet_explorer: bool,
5211    #[serde(rename = "edgeRequireSmartScreen")]
5212    pub edge_require_smart_screen: bool,
5213    #[serde(rename = "edgeEnterpriseModeSiteListLocation")]
5214    pub edge_enterprise_mode_site_list_location: String,
5215    #[serde(rename = "edgeFirstRunUrl")]
5216    pub edge_first_run_url: String,
5217    #[serde(rename = "edgeSearchEngine")]
5218    pub edge_search_engine: EdgeSearchEngineBase,
5219    #[serde(rename = "edgeHomepageUrls")]
5220    pub edge_homepage_urls: Vec<String>,
5221    #[serde(rename = "edgeBlockAccessToAboutFlags")]
5222    pub edge_block_access_to_about_flags: bool,
5223    #[serde(rename = "smartScreenBlockPromptOverride")]
5224    pub smart_screen_block_prompt_override: bool,
5225    #[serde(rename = "smartScreenBlockPromptOverrideForFiles")]
5226    pub smart_screen_block_prompt_override_for_files: bool,
5227    #[serde(rename = "webRtcBlockLocalhostIpAddress")]
5228    pub web_rtc_block_localhost_ip_address: bool,
5229    #[serde(rename = "internetSharingBlocked")]
5230    pub internet_sharing_blocked: bool,
5231    #[serde(rename = "settingsBlockAddProvisioningPackage")]
5232    pub settings_block_add_provisioning_package: bool,
5233    #[serde(rename = "settingsBlockRemoveProvisioningPackage")]
5234    pub settings_block_remove_provisioning_package: bool,
5235    #[serde(rename = "settingsBlockChangeSystemTime")]
5236    pub settings_block_change_system_time: bool,
5237    #[serde(rename = "settingsBlockEditDeviceName")]
5238    pub settings_block_edit_device_name: bool,
5239    #[serde(rename = "settingsBlockChangeRegion")]
5240    pub settings_block_change_region: bool,
5241    #[serde(rename = "settingsBlockChangeLanguage")]
5242    pub settings_block_change_language: bool,
5243    #[serde(rename = "settingsBlockChangePowerSleep")]
5244    pub settings_block_change_power_sleep: bool,
5245    #[serde(rename = "locationServicesBlocked")]
5246    pub location_services_blocked: bool,
5247    #[serde(rename = "microsoftAccountBlocked")]
5248    pub microsoft_account_blocked: bool,
5249    #[serde(rename = "microsoftAccountBlockSettingsSync")]
5250    pub microsoft_account_block_settings_sync: bool,
5251    #[serde(rename = "nfcBlocked")]
5252    pub nfc_blocked: bool,
5253    #[serde(rename = "resetProtectionModeBlocked")]
5254    pub reset_protection_mode_blocked: bool,
5255    #[serde(rename = "screenCaptureBlocked")]
5256    pub screen_capture_blocked: bool,
5257    #[serde(rename = "storageBlockRemovableStorage")]
5258    pub storage_block_removable_storage: bool,
5259    #[serde(rename = "storageRequireMobileDeviceEncryption")]
5260    pub storage_require_mobile_device_encryption: bool,
5261    #[serde(rename = "usbBlocked")]
5262    pub usb_blocked: bool,
5263    #[serde(rename = "voiceRecordingBlocked")]
5264    pub voice_recording_blocked: bool,
5265    #[serde(rename = "wiFiBlockAutomaticConnectHotspots")]
5266    pub wi_fi_block_automatic_connect_hotspots: bool,
5267    #[serde(rename = "wiFiBlocked")]
5268    pub wi_fi_blocked: bool,
5269    #[serde(rename = "wiFiBlockManualConfiguration")]
5270    pub wi_fi_block_manual_configuration: bool,
5271    #[serde(rename = "wiFiScanInterval")]
5272    pub wi_fi_scan_interval: i32,
5273    #[serde(rename = "wirelessDisplayBlockProjectionToThisDevice")]
5274    pub wireless_display_block_projection_to_this_device: bool,
5275    #[serde(rename = "wirelessDisplayBlockUserInputFromReceiver")]
5276    pub wireless_display_block_user_input_from_receiver: bool,
5277    #[serde(rename = "wirelessDisplayRequirePinForPairing")]
5278    pub wireless_display_require_pin_for_pairing: bool,
5279    #[serde(rename = "windowsStoreBlocked")]
5280    pub windows_store_blocked: bool,
5281    #[serde(rename = "appsAllowTrustedAppsSideloading")]
5282    pub apps_allow_trusted_apps_sideloading: StateManagementSetting,
5283    #[serde(rename = "windowsStoreBlockAutoUpdate")]
5284    pub windows_store_block_auto_update: bool,
5285    #[serde(rename = "developerUnlockSetting")]
5286    pub developer_unlock_setting: StateManagementSetting,
5287    #[serde(rename = "sharedUserAppDataAllowed")]
5288    pub shared_user_app_data_allowed: bool,
5289    #[serde(rename = "appsBlockWindowsStoreOriginatedApps")]
5290    pub apps_block_windows_store_originated_apps: bool,
5291    #[serde(rename = "windowsStoreEnablePrivateStoreOnly")]
5292    pub windows_store_enable_private_store_only: bool,
5293    #[serde(rename = "storageRestrictAppDataToSystemVolume")]
5294    pub storage_restrict_app_data_to_system_volume: bool,
5295    #[serde(rename = "storageRestrictAppInstallToSystemVolume")]
5296    pub storage_restrict_app_install_to_system_volume: bool,
5297    #[serde(rename = "gameDvrBlocked")]
5298    pub game_dvr_blocked: bool,
5299    #[serde(rename = "experienceBlockDeviceDiscovery")]
5300    pub experience_block_device_discovery: bool,
5301    #[serde(rename = "experienceBlockErrorDialogWhenNoSIM")]
5302    pub experience_block_error_dialog_when_no_s_i_m: bool,
5303    #[serde(rename = "experienceBlockTaskSwitcher")]
5304    pub experience_block_task_switcher: bool,
5305    #[serde(rename = "logonBlockFastUserSwitching")]
5306    pub logon_block_fast_user_switching: bool,
5307    #[serde(rename = "tenantLockdownRequireNetworkDuringOutOfBoxExperience")]
5308    pub tenant_lockdown_require_network_during_out_of_box_experience: bool,
5309}
5310
5311#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
5312pub struct WindowsDefenderAdvancedThreatProtectionConfiguration {
5313    #[serde(rename = "allowSampleSharing")]
5314    pub allow_sample_sharing: bool,
5315    #[serde(rename = "enableExpeditedTelemetryReporting")]
5316    pub enable_expedited_telemetry_reporting: bool,
5317}
5318
5319#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
5320pub struct EditionUpgradeConfiguration {
5321    #[serde(rename = "licenseType")]
5322    pub license_type: EditionUpgradeLicenseType,
5323    #[serde(rename = "targetEdition")]
5324    pub target_edition: Windows10EditionType,
5325    #[serde(rename = "license")]
5326    pub license: String,
5327    #[serde(rename = "productKey")]
5328    pub product_key: String,
5329}
5330
5331#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
5332pub struct Windows10CustomConfiguration {
5333    #[serde(rename = "omaSettings")]
5334    pub oma_settings: Vec<OmaSetting>,
5335}
5336
5337#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
5338pub struct Windows10EnterpriseModernAppManagementConfiguration {
5339    #[serde(rename = "uninstallBuiltInApps")]
5340    pub uninstall_built_in_apps: bool,
5341}
5342
5343#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
5344pub struct SharedPCConfiguration {
5345    #[serde(rename = "accountManagerPolicy")]
5346    pub account_manager_policy: SharedPCAccountManagerPolicy,
5347    #[serde(rename = "allowedAccounts")]
5348    pub allowed_accounts: SharedPCAllowedAccountType,
5349    #[serde(rename = "allowLocalStorage")]
5350    pub allow_local_storage: bool,
5351    #[serde(rename = "disableAccountManager")]
5352    pub disable_account_manager: bool,
5353    #[serde(rename = "disableEduPolicies")]
5354    pub disable_edu_policies: bool,
5355    #[serde(rename = "disablePowerPolicies")]
5356    pub disable_power_policies: bool,
5357    #[serde(rename = "disableSignInOnResume")]
5358    pub disable_sign_in_on_resume: bool,
5359    #[serde(rename = "enabled")]
5360    pub enabled: bool,
5361    #[serde(rename = "idleTimeBeforeSleepInSeconds")]
5362    pub idle_time_before_sleep_in_seconds: i32,
5363    #[serde(rename = "kioskAppDisplayName")]
5364    pub kiosk_app_display_name: String,
5365    #[serde(rename = "kioskAppUserModelId")]
5366    pub kiosk_app_user_model_id: String,
5367    #[serde(rename = "maintenanceStartTime")]
5368    pub maintenance_start_time: String,
5369}
5370
5371#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
5372pub struct Windows10SecureAssessmentConfiguration {
5373    #[serde(rename = "launchUri")]
5374    pub launch_uri: String,
5375    #[serde(rename = "configurationAccount")]
5376    pub configuration_account: String,
5377    #[serde(rename = "allowPrinting")]
5378    pub allow_printing: bool,
5379    #[serde(rename = "allowScreenCapture")]
5380    pub allow_screen_capture: bool,
5381    #[serde(rename = "allowTextSuggestion")]
5382    pub allow_text_suggestion: bool,
5383}
5384
5385#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
5386pub struct WindowsPhone81CustomConfiguration {
5387    #[serde(rename = "omaSettings")]
5388    pub oma_settings: Vec<OmaSetting>,
5389}
5390
5391#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
5392pub struct WindowsUpdateForBusinessConfiguration {
5393    #[serde(rename = "deliveryOptimizationMode")]
5394    pub delivery_optimization_mode: WindowsDeliveryOptimizationMode,
5395    #[serde(rename = "prereleaseFeatures")]
5396    pub prerelease_features: PrereleaseFeatures,
5397    #[serde(rename = "automaticUpdateMode")]
5398    pub automatic_update_mode: AutomaticUpdateMode,
5399    #[serde(rename = "microsoftUpdateServiceAllowed")]
5400    pub microsoft_update_service_allowed: bool,
5401    #[serde(rename = "driversExcluded")]
5402    pub drivers_excluded: bool,
5403    #[serde(rename = "installationSchedule")]
5404    pub installation_schedule: WindowsUpdateInstallScheduleType,
5405    #[serde(rename = "qualityUpdatesDeferralPeriodInDays")]
5406    pub quality_updates_deferral_period_in_days: i32,
5407    #[serde(rename = "featureUpdatesDeferralPeriodInDays")]
5408    pub feature_updates_deferral_period_in_days: i32,
5409    #[serde(rename = "qualityUpdatesPaused")]
5410    pub quality_updates_paused: bool,
5411    #[serde(rename = "featureUpdatesPaused")]
5412    pub feature_updates_paused: bool,
5413    #[serde(rename = "qualityUpdatesPauseExpiryDateTime")]
5414    pub quality_updates_pause_expiry_date_time: String,
5415    #[serde(rename = "featureUpdatesPauseExpiryDateTime")]
5416    pub feature_updates_pause_expiry_date_time: String,
5417    #[serde(rename = "businessReadyUpdatesOnly")]
5418    pub business_ready_updates_only: WindowsUpdateType,
5419}
5420
5421#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
5422pub struct Windows81GeneralConfiguration {
5423    #[serde(rename = "accountsBlockAddingNonMicrosoftAccountEmail")]
5424    pub accounts_block_adding_non_microsoft_account_email: bool,
5425    #[serde(rename = "applyOnlyToWindows81")]
5426    pub apply_only_to_windows81: bool,
5427    #[serde(rename = "browserBlockAutofill")]
5428    pub browser_block_autofill: bool,
5429    #[serde(rename = "browserBlockAutomaticDetectionOfIntranetSites")]
5430    pub browser_block_automatic_detection_of_intranet_sites: bool,
5431    #[serde(rename = "browserBlockEnterpriseModeAccess")]
5432    pub browser_block_enterprise_mode_access: bool,
5433    #[serde(rename = "browserBlockJavaScript")]
5434    pub browser_block_java_script: bool,
5435    #[serde(rename = "browserBlockPlugins")]
5436    pub browser_block_plugins: bool,
5437    #[serde(rename = "browserBlockPopups")]
5438    pub browser_block_popups: bool,
5439    #[serde(rename = "browserBlockSendingDoNotTrackHeader")]
5440    pub browser_block_sending_do_not_track_header: bool,
5441    #[serde(rename = "browserBlockSingleWordEntryOnIntranetSites")]
5442    pub browser_block_single_word_entry_on_intranet_sites: bool,
5443    #[serde(rename = "browserRequireSmartScreen")]
5444    pub browser_require_smart_screen: bool,
5445    #[serde(rename = "browserEnterpriseModeSiteListLocation")]
5446    pub browser_enterprise_mode_site_list_location: String,
5447    #[serde(rename = "browserInternetSecurityLevel")]
5448    pub browser_internet_security_level: InternetSiteSecurityLevel,
5449    #[serde(rename = "browserIntranetSecurityLevel")]
5450    pub browser_intranet_security_level: SiteSecurityLevel,
5451    #[serde(rename = "browserLoggingReportLocation")]
5452    pub browser_logging_report_location: String,
5453    #[serde(rename = "browserRequireHighSecurityForRestrictedSites")]
5454    pub browser_require_high_security_for_restricted_sites: bool,
5455    #[serde(rename = "browserRequireFirewall")]
5456    pub browser_require_firewall: bool,
5457    #[serde(rename = "browserRequireFraudWarning")]
5458    pub browser_require_fraud_warning: bool,
5459    #[serde(rename = "browserTrustedSitesSecurityLevel")]
5460    pub browser_trusted_sites_security_level: SiteSecurityLevel,
5461    #[serde(rename = "cellularBlockDataRoaming")]
5462    pub cellular_block_data_roaming: bool,
5463    #[serde(rename = "diagnosticsBlockDataSubmission")]
5464    pub diagnostics_block_data_submission: bool,
5465    #[serde(rename = "passwordBlockPicturePasswordAndPin")]
5466    pub password_block_picture_password_and_pin: bool,
5467    #[serde(rename = "passwordExpirationDays")]
5468    pub password_expiration_days: i32,
5469    #[serde(rename = "passwordMinimumLength")]
5470    pub password_minimum_length: i32,
5471    #[serde(rename = "passwordMinutesOfInactivityBeforeScreenTimeout")]
5472    pub password_minutes_of_inactivity_before_screen_timeout: i32,
5473    #[serde(rename = "passwordMinimumCharacterSetCount")]
5474    pub password_minimum_character_set_count: i32,
5475    #[serde(rename = "passwordPreviousPasswordBlockCount")]
5476    pub password_previous_password_block_count: i32,
5477    #[serde(rename = "passwordRequiredType")]
5478    pub password_required_type: RequiredPasswordType,
5479    #[serde(rename = "passwordSignInFailureCountBeforeFactoryReset")]
5480    pub password_sign_in_failure_count_before_factory_reset: i32,
5481    #[serde(rename = "storageRequireDeviceEncryption")]
5482    pub storage_require_device_encryption: bool,
5483    #[serde(rename = "updatesRequireAutomaticUpdates")]
5484    pub updates_require_automatic_updates: bool,
5485    #[serde(rename = "userAccountControlSettings")]
5486    pub user_account_control_settings: WindowsUserAccountControlSettings,
5487    #[serde(rename = "workFoldersUrl")]
5488    pub work_folders_url: String,
5489}
5490
5491#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
5492pub struct WindowsPhone81GeneralConfiguration {
5493    #[serde(rename = "applyOnlyToWindowsPhone81")]
5494    pub apply_only_to_windows_phone81: bool,
5495    #[serde(rename = "appsBlockCopyPaste")]
5496    pub apps_block_copy_paste: bool,
5497    #[serde(rename = "bluetoothBlocked")]
5498    pub bluetooth_blocked: bool,
5499    #[serde(rename = "cameraBlocked")]
5500    pub camera_blocked: bool,
5501    #[serde(rename = "cellularBlockWifiTethering")]
5502    pub cellular_block_wifi_tethering: bool,
5503    #[serde(rename = "compliantAppsList")]
5504    pub compliant_apps_list: Vec<AppListItem>,
5505    #[serde(rename = "compliantAppListType")]
5506    pub compliant_app_list_type: AppListType,
5507    #[serde(rename = "diagnosticDataBlockSubmission")]
5508    pub diagnostic_data_block_submission: bool,
5509    #[serde(rename = "emailBlockAddingAccounts")]
5510    pub email_block_adding_accounts: bool,
5511    #[serde(rename = "locationServicesBlocked")]
5512    pub location_services_blocked: bool,
5513    #[serde(rename = "microsoftAccountBlocked")]
5514    pub microsoft_account_blocked: bool,
5515    #[serde(rename = "nfcBlocked")]
5516    pub nfc_blocked: bool,
5517    #[serde(rename = "passwordBlockSimple")]
5518    pub password_block_simple: bool,
5519    #[serde(rename = "passwordExpirationDays")]
5520    pub password_expiration_days: i32,
5521    #[serde(rename = "passwordMinimumLength")]
5522    pub password_minimum_length: i32,
5523    #[serde(rename = "passwordMinutesOfInactivityBeforeScreenTimeout")]
5524    pub password_minutes_of_inactivity_before_screen_timeout: i32,
5525    #[serde(rename = "passwordMinimumCharacterSetCount")]
5526    pub password_minimum_character_set_count: i32,
5527    #[serde(rename = "passwordPreviousPasswordBlockCount")]
5528    pub password_previous_password_block_count: i32,
5529    #[serde(rename = "passwordSignInFailureCountBeforeFactoryReset")]
5530    pub password_sign_in_failure_count_before_factory_reset: i32,
5531    #[serde(rename = "passwordRequiredType")]
5532    pub password_required_type: RequiredPasswordType,
5533    #[serde(rename = "passwordRequired")]
5534    pub password_required: bool,
5535    #[serde(rename = "screenCaptureBlocked")]
5536    pub screen_capture_blocked: bool,
5537    #[serde(rename = "storageBlockRemovableStorage")]
5538    pub storage_block_removable_storage: bool,
5539    #[serde(rename = "storageRequireEncryption")]
5540    pub storage_require_encryption: bool,
5541    #[serde(rename = "webBrowserBlocked")]
5542    pub web_browser_blocked: bool,
5543    #[serde(rename = "wifiBlocked")]
5544    pub wifi_blocked: bool,
5545    #[serde(rename = "wifiBlockAutomaticConnectHotspots")]
5546    pub wifi_block_automatic_connect_hotspots: bool,
5547    #[serde(rename = "wifiBlockHotspotReporting")]
5548    pub wifi_block_hotspot_reporting: bool,
5549    #[serde(rename = "windowsStoreBlocked")]
5550    pub windows_store_blocked: bool,
5551}
5552
5553#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
5554pub struct Windows10TeamGeneralConfiguration {
5555    #[serde(rename = "azureOperationalInsightsBlockTelemetry")]
5556    pub azure_operational_insights_block_telemetry: bool,
5557    #[serde(rename = "azureOperationalInsightsWorkspaceId")]
5558    pub azure_operational_insights_workspace_id: String,
5559    #[serde(rename = "azureOperationalInsightsWorkspaceKey")]
5560    pub azure_operational_insights_workspace_key: String,
5561    #[serde(rename = "connectAppBlockAutoLaunch")]
5562    pub connect_app_block_auto_launch: bool,
5563    #[serde(rename = "maintenanceWindowBlocked")]
5564    pub maintenance_window_blocked: bool,
5565    #[serde(rename = "maintenanceWindowDurationInHours")]
5566    pub maintenance_window_duration_in_hours: i32,
5567    #[serde(rename = "maintenanceWindowStartTime")]
5568    pub maintenance_window_start_time: String,
5569    #[serde(rename = "miracastChannel")]
5570    pub miracast_channel: MiracastChannel,
5571    #[serde(rename = "miracastBlocked")]
5572    pub miracast_blocked: bool,
5573    #[serde(rename = "miracastRequirePin")]
5574    pub miracast_require_pin: bool,
5575    #[serde(rename = "settingsBlockMyMeetingsAndFiles")]
5576    pub settings_block_my_meetings_and_files: bool,
5577    #[serde(rename = "settingsBlockSessionResume")]
5578    pub settings_block_session_resume: bool,
5579    #[serde(rename = "settingsBlockSigninSuggestions")]
5580    pub settings_block_signin_suggestions: bool,
5581    #[serde(rename = "settingsDefaultVolume")]
5582    pub settings_default_volume: i32,
5583    #[serde(rename = "settingsScreenTimeoutInMinutes")]
5584    pub settings_screen_timeout_in_minutes: i32,
5585    #[serde(rename = "settingsSessionTimeoutInMinutes")]
5586    pub settings_session_timeout_in_minutes: i32,
5587    #[serde(rename = "settingsSleepTimeoutInMinutes")]
5588    pub settings_sleep_timeout_in_minutes: i32,
5589    #[serde(rename = "welcomeScreenBlockAutomaticWakeUp")]
5590    pub welcome_screen_block_automatic_wake_up: bool,
5591    #[serde(rename = "welcomeScreenBackgroundImageUrl")]
5592    pub welcome_screen_background_image_url: String,
5593    #[serde(rename = "welcomeScreenMeetingInformation")]
5594    pub welcome_screen_meeting_information: WelcomeScreenMeetingInformation,
5595}
5596
5597#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
5598pub struct AndroidCompliancePolicy {
5599    #[serde(rename = "passwordRequired")]
5600    pub password_required: bool,
5601    #[serde(rename = "passwordMinimumLength")]
5602    pub password_minimum_length: i32,
5603    #[serde(rename = "passwordRequiredType")]
5604    pub password_required_type: AndroidRequiredPasswordType,
5605    #[serde(rename = "passwordMinutesOfInactivityBeforeLock")]
5606    pub password_minutes_of_inactivity_before_lock: i32,
5607    #[serde(rename = "passwordExpirationDays")]
5608    pub password_expiration_days: i32,
5609    #[serde(rename = "passwordPreviousPasswordBlockCount")]
5610    pub password_previous_password_block_count: i32,
5611    #[serde(rename = "securityPreventInstallAppsFromUnknownSources")]
5612    pub security_prevent_install_apps_from_unknown_sources: bool,
5613    #[serde(rename = "securityDisableUsbDebugging")]
5614    pub security_disable_usb_debugging: bool,
5615    #[serde(rename = "securityRequireVerifyApps")]
5616    pub security_require_verify_apps: bool,
5617    #[serde(rename = "deviceThreatProtectionEnabled")]
5618    pub device_threat_protection_enabled: bool,
5619    #[serde(rename = "deviceThreatProtectionRequiredSecurityLevel")]
5620    pub device_threat_protection_required_security_level: DeviceThreatProtectionLevel,
5621    #[serde(rename = "securityBlockJailbrokenDevices")]
5622    pub security_block_jailbroken_devices: bool,
5623    #[serde(rename = "osMinimumVersion")]
5624    pub os_minimum_version: String,
5625    #[serde(rename = "osMaximumVersion")]
5626    pub os_maximum_version: String,
5627    #[serde(rename = "minAndroidSecurityPatchLevel")]
5628    pub min_android_security_patch_level: String,
5629    #[serde(rename = "storageRequireEncryption")]
5630    pub storage_require_encryption: bool,
5631    #[serde(rename = "securityRequireSafetyNetAttestationBasicIntegrity")]
5632    pub security_require_safety_net_attestation_basic_integrity: bool,
5633    #[serde(rename = "securityRequireSafetyNetAttestationCertifiedDevice")]
5634    pub security_require_safety_net_attestation_certified_device: bool,
5635    #[serde(rename = "securityRequireGooglePlayServices")]
5636    pub security_require_google_play_services: bool,
5637    #[serde(rename = "securityRequireUpToDateSecurityProviders")]
5638    pub security_require_up_to_date_security_providers: bool,
5639    #[serde(rename = "securityRequireCompanyPortalAppIntegrity")]
5640    pub security_require_company_portal_app_integrity: bool,
5641}
5642
5643#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
5644pub struct AndroidWorkProfileCompliancePolicy {
5645    #[serde(rename = "passwordRequired")]
5646    pub password_required: bool,
5647    #[serde(rename = "passwordMinimumLength")]
5648    pub password_minimum_length: i32,
5649    #[serde(rename = "passwordRequiredType")]
5650    pub password_required_type: AndroidRequiredPasswordType,
5651    #[serde(rename = "passwordMinutesOfInactivityBeforeLock")]
5652    pub password_minutes_of_inactivity_before_lock: i32,
5653    #[serde(rename = "passwordExpirationDays")]
5654    pub password_expiration_days: i32,
5655    #[serde(rename = "passwordPreviousPasswordBlockCount")]
5656    pub password_previous_password_block_count: i32,
5657    #[serde(rename = "securityPreventInstallAppsFromUnknownSources")]
5658    pub security_prevent_install_apps_from_unknown_sources: bool,
5659    #[serde(rename = "securityDisableUsbDebugging")]
5660    pub security_disable_usb_debugging: bool,
5661    #[serde(rename = "securityRequireVerifyApps")]
5662    pub security_require_verify_apps: bool,
5663    #[serde(rename = "deviceThreatProtectionEnabled")]
5664    pub device_threat_protection_enabled: bool,
5665    #[serde(rename = "deviceThreatProtectionRequiredSecurityLevel")]
5666    pub device_threat_protection_required_security_level: DeviceThreatProtectionLevel,
5667    #[serde(rename = "securityBlockJailbrokenDevices")]
5668    pub security_block_jailbroken_devices: bool,
5669    #[serde(rename = "osMinimumVersion")]
5670    pub os_minimum_version: String,
5671    #[serde(rename = "osMaximumVersion")]
5672    pub os_maximum_version: String,
5673    #[serde(rename = "minAndroidSecurityPatchLevel")]
5674    pub min_android_security_patch_level: String,
5675    #[serde(rename = "storageRequireEncryption")]
5676    pub storage_require_encryption: bool,
5677    #[serde(rename = "securityRequireSafetyNetAttestationBasicIntegrity")]
5678    pub security_require_safety_net_attestation_basic_integrity: bool,
5679    #[serde(rename = "securityRequireSafetyNetAttestationCertifiedDevice")]
5680    pub security_require_safety_net_attestation_certified_device: bool,
5681    #[serde(rename = "securityRequireGooglePlayServices")]
5682    pub security_require_google_play_services: bool,
5683    #[serde(rename = "securityRequireUpToDateSecurityProviders")]
5684    pub security_require_up_to_date_security_providers: bool,
5685    #[serde(rename = "securityRequireCompanyPortalAppIntegrity")]
5686    pub security_require_company_portal_app_integrity: bool,
5687}
5688
5689#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
5690pub struct IosCompliancePolicy {
5691    #[serde(rename = "passcodeBlockSimple")]
5692    pub passcode_block_simple: bool,
5693    #[serde(rename = "passcodeExpirationDays")]
5694    pub passcode_expiration_days: i32,
5695    #[serde(rename = "passcodeMinimumLength")]
5696    pub passcode_minimum_length: i32,
5697    #[serde(rename = "passcodeMinutesOfInactivityBeforeLock")]
5698    pub passcode_minutes_of_inactivity_before_lock: i32,
5699    #[serde(rename = "passcodePreviousPasscodeBlockCount")]
5700    pub passcode_previous_passcode_block_count: i32,
5701    #[serde(rename = "passcodeMinimumCharacterSetCount")]
5702    pub passcode_minimum_character_set_count: i32,
5703    #[serde(rename = "passcodeRequiredType")]
5704    pub passcode_required_type: RequiredPasswordType,
5705    #[serde(rename = "passcodeRequired")]
5706    pub passcode_required: bool,
5707    #[serde(rename = "osMinimumVersion")]
5708    pub os_minimum_version: String,
5709    #[serde(rename = "osMaximumVersion")]
5710    pub os_maximum_version: String,
5711    #[serde(rename = "securityBlockJailbrokenDevices")]
5712    pub security_block_jailbroken_devices: bool,
5713    #[serde(rename = "deviceThreatProtectionEnabled")]
5714    pub device_threat_protection_enabled: bool,
5715    #[serde(rename = "deviceThreatProtectionRequiredSecurityLevel")]
5716    pub device_threat_protection_required_security_level: DeviceThreatProtectionLevel,
5717    #[serde(rename = "managedEmailProfileRequired")]
5718    pub managed_email_profile_required: bool,
5719}
5720
5721#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
5722pub struct MacOSCompliancePolicy {
5723    #[serde(rename = "passwordRequired")]
5724    pub password_required: bool,
5725    #[serde(rename = "passwordBlockSimple")]
5726    pub password_block_simple: bool,
5727    #[serde(rename = "passwordExpirationDays")]
5728    pub password_expiration_days: i32,
5729    #[serde(rename = "passwordMinimumLength")]
5730    pub password_minimum_length: i32,
5731    #[serde(rename = "passwordMinutesOfInactivityBeforeLock")]
5732    pub password_minutes_of_inactivity_before_lock: i32,
5733    #[serde(rename = "passwordPreviousPasswordBlockCount")]
5734    pub password_previous_password_block_count: i32,
5735    #[serde(rename = "passwordMinimumCharacterSetCount")]
5736    pub password_minimum_character_set_count: i32,
5737    #[serde(rename = "passwordRequiredType")]
5738    pub password_required_type: RequiredPasswordType,
5739    #[serde(rename = "osMinimumVersion")]
5740    pub os_minimum_version: String,
5741    #[serde(rename = "osMaximumVersion")]
5742    pub os_maximum_version: String,
5743    #[serde(rename = "systemIntegrityProtectionEnabled")]
5744    pub system_integrity_protection_enabled: bool,
5745    #[serde(rename = "deviceThreatProtectionEnabled")]
5746    pub device_threat_protection_enabled: bool,
5747    #[serde(rename = "deviceThreatProtectionRequiredSecurityLevel")]
5748    pub device_threat_protection_required_security_level: DeviceThreatProtectionLevel,
5749    #[serde(rename = "storageRequireEncryption")]
5750    pub storage_require_encryption: bool,
5751    #[serde(rename = "firewallEnabled")]
5752    pub firewall_enabled: bool,
5753    #[serde(rename = "firewallBlockAllIncoming")]
5754    pub firewall_block_all_incoming: bool,
5755    #[serde(rename = "firewallEnableStealthMode")]
5756    pub firewall_enable_stealth_mode: bool,
5757}
5758
5759#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
5760pub struct Windows10CompliancePolicy {
5761    #[serde(rename = "passwordRequired")]
5762    pub password_required: bool,
5763    #[serde(rename = "passwordBlockSimple")]
5764    pub password_block_simple: bool,
5765    #[serde(rename = "passwordRequiredToUnlockFromIdle")]
5766    pub password_required_to_unlock_from_idle: bool,
5767    #[serde(rename = "passwordMinutesOfInactivityBeforeLock")]
5768    pub password_minutes_of_inactivity_before_lock: i32,
5769    #[serde(rename = "passwordExpirationDays")]
5770    pub password_expiration_days: i32,
5771    #[serde(rename = "passwordMinimumLength")]
5772    pub password_minimum_length: i32,
5773    #[serde(rename = "passwordMinimumCharacterSetCount")]
5774    pub password_minimum_character_set_count: i32,
5775    #[serde(rename = "passwordRequiredType")]
5776    pub password_required_type: RequiredPasswordType,
5777    #[serde(rename = "passwordPreviousPasswordBlockCount")]
5778    pub password_previous_password_block_count: i32,
5779    #[serde(rename = "requireHealthyDeviceReport")]
5780    pub require_healthy_device_report: bool,
5781    #[serde(rename = "osMinimumVersion")]
5782    pub os_minimum_version: String,
5783    #[serde(rename = "osMaximumVersion")]
5784    pub os_maximum_version: String,
5785    #[serde(rename = "mobileOsMinimumVersion")]
5786    pub mobile_os_minimum_version: String,
5787    #[serde(rename = "mobileOsMaximumVersion")]
5788    pub mobile_os_maximum_version: String,
5789    #[serde(rename = "earlyLaunchAntiMalwareDriverEnabled")]
5790    pub early_launch_anti_malware_driver_enabled: bool,
5791    #[serde(rename = "bitLockerEnabled")]
5792    pub bit_locker_enabled: bool,
5793    #[serde(rename = "secureBootEnabled")]
5794    pub secure_boot_enabled: bool,
5795    #[serde(rename = "codeIntegrityEnabled")]
5796    pub code_integrity_enabled: bool,
5797    #[serde(rename = "storageRequireEncryption")]
5798    pub storage_require_encryption: bool,
5799}
5800
5801#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
5802pub struct Windows10MobileCompliancePolicy {
5803    #[serde(rename = "passwordRequired")]
5804    pub password_required: bool,
5805    #[serde(rename = "passwordBlockSimple")]
5806    pub password_block_simple: bool,
5807    #[serde(rename = "passwordMinimumLength")]
5808    pub password_minimum_length: i32,
5809    #[serde(rename = "passwordMinimumCharacterSetCount")]
5810    pub password_minimum_character_set_count: i32,
5811    #[serde(rename = "passwordRequiredType")]
5812    pub password_required_type: RequiredPasswordType,
5813    #[serde(rename = "passwordPreviousPasswordBlockCount")]
5814    pub password_previous_password_block_count: i32,
5815    #[serde(rename = "passwordExpirationDays")]
5816    pub password_expiration_days: i32,
5817    #[serde(rename = "passwordMinutesOfInactivityBeforeLock")]
5818    pub password_minutes_of_inactivity_before_lock: i32,
5819    #[serde(rename = "passwordRequireToUnlockFromIdle")]
5820    pub password_require_to_unlock_from_idle: bool,
5821    #[serde(rename = "osMinimumVersion")]
5822    pub os_minimum_version: String,
5823    #[serde(rename = "osMaximumVersion")]
5824    pub os_maximum_version: String,
5825    #[serde(rename = "earlyLaunchAntiMalwareDriverEnabled")]
5826    pub early_launch_anti_malware_driver_enabled: bool,
5827    #[serde(rename = "bitLockerEnabled")]
5828    pub bit_locker_enabled: bool,
5829    #[serde(rename = "secureBootEnabled")]
5830    pub secure_boot_enabled: bool,
5831    #[serde(rename = "codeIntegrityEnabled")]
5832    pub code_integrity_enabled: bool,
5833    #[serde(rename = "storageRequireEncryption")]
5834    pub storage_require_encryption: bool,
5835}
5836
5837#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
5838pub struct Windows81CompliancePolicy {
5839    #[serde(rename = "passwordRequired")]
5840    pub password_required: bool,
5841    #[serde(rename = "passwordBlockSimple")]
5842    pub password_block_simple: bool,
5843    #[serde(rename = "passwordExpirationDays")]
5844    pub password_expiration_days: i32,
5845    #[serde(rename = "passwordMinimumLength")]
5846    pub password_minimum_length: i32,
5847    #[serde(rename = "passwordMinutesOfInactivityBeforeLock")]
5848    pub password_minutes_of_inactivity_before_lock: i32,
5849    #[serde(rename = "passwordMinimumCharacterSetCount")]
5850    pub password_minimum_character_set_count: i32,
5851    #[serde(rename = "passwordRequiredType")]
5852    pub password_required_type: RequiredPasswordType,
5853    #[serde(rename = "passwordPreviousPasswordBlockCount")]
5854    pub password_previous_password_block_count: i32,
5855    #[serde(rename = "osMinimumVersion")]
5856    pub os_minimum_version: String,
5857    #[serde(rename = "osMaximumVersion")]
5858    pub os_maximum_version: String,
5859    #[serde(rename = "storageRequireEncryption")]
5860    pub storage_require_encryption: bool,
5861}
5862
5863#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
5864pub struct WindowsPhone81CompliancePolicy {
5865    #[serde(rename = "passwordBlockSimple")]
5866    pub password_block_simple: bool,
5867    #[serde(rename = "passwordExpirationDays")]
5868    pub password_expiration_days: i32,
5869    #[serde(rename = "passwordMinimumLength")]
5870    pub password_minimum_length: i32,
5871    #[serde(rename = "passwordMinutesOfInactivityBeforeLock")]
5872    pub password_minutes_of_inactivity_before_lock: i32,
5873    #[serde(rename = "passwordMinimumCharacterSetCount")]
5874    pub password_minimum_character_set_count: i32,
5875    #[serde(rename = "passwordRequiredType")]
5876    pub password_required_type: RequiredPasswordType,
5877    #[serde(rename = "passwordPreviousPasswordBlockCount")]
5878    pub password_previous_password_block_count: i32,
5879    #[serde(rename = "passwordRequired")]
5880    pub password_required: bool,
5881    #[serde(rename = "osMinimumVersion")]
5882    pub os_minimum_version: String,
5883    #[serde(rename = "osMaximumVersion")]
5884    pub os_maximum_version: String,
5885    #[serde(rename = "storageRequireEncryption")]
5886    pub storage_require_encryption: bool,
5887}
5888
5889#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
5890pub struct DeviceComplianceSettingState {
5891    #[serde(rename = "setting")]
5892    pub setting: String,
5893    #[serde(rename = "settingName")]
5894    pub setting_name: String,
5895    #[serde(rename = "deviceId")]
5896    pub device_id: String,
5897    #[serde(rename = "deviceName")]
5898    pub device_name: String,
5899    #[serde(rename = "userId")]
5900    pub user_id: String,
5901    #[serde(rename = "userEmail")]
5902    pub user_email: String,
5903    #[serde(rename = "userName")]
5904    pub user_name: String,
5905    #[serde(rename = "userPrincipalName")]
5906    pub user_principal_name: String,
5907    #[serde(rename = "deviceModel")]
5908    pub device_model: String,
5909    #[serde(rename = "state")]
5910    pub state: ComplianceStatus,
5911    #[serde(rename = "complianceGracePeriodExpirationDateTime")]
5912    pub compliance_grace_period_expiration_date_time: String,
5913}
5914
5915#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
5916pub struct EnrollmentConfigurationAssignment {
5917    #[serde(rename = "target")]
5918    pub target: DeviceAndAppManagementAssignmentTarget,
5919}
5920
5921#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
5922pub struct DeviceEnrollmentLimitConfiguration {
5923    #[serde(rename = "limit")]
5924    pub limit: i32,
5925}
5926
5927#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
5928pub struct DeviceEnrollmentPlatformRestrictionsConfiguration {
5929    #[serde(rename = "iosRestriction")]
5930    pub ios_restriction: DeviceEnrollmentPlatformRestriction,
5931    #[serde(rename = "windowsRestriction")]
5932    pub windows_restriction: DeviceEnrollmentPlatformRestriction,
5933    #[serde(rename = "windowsMobileRestriction")]
5934    pub windows_mobile_restriction: DeviceEnrollmentPlatformRestriction,
5935    #[serde(rename = "androidRestriction")]
5936    pub android_restriction: DeviceEnrollmentPlatformRestriction,
5937    #[serde(rename = "macOSRestriction")]
5938    pub mac_o_s_restriction: DeviceEnrollmentPlatformRestriction,
5939}
5940
5941#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
5942pub struct DeviceEnrollmentWindowsHelloForBusinessConfiguration {
5943    #[serde(rename = "pinMinimumLength")]
5944    pub pin_minimum_length: i32,
5945    #[serde(rename = "pinMaximumLength")]
5946    pub pin_maximum_length: i32,
5947    #[serde(rename = "pinUppercaseCharactersUsage")]
5948    pub pin_uppercase_characters_usage: WindowsHelloForBusinessPinUsage,
5949    #[serde(rename = "pinLowercaseCharactersUsage")]
5950    pub pin_lowercase_characters_usage: WindowsHelloForBusinessPinUsage,
5951    #[serde(rename = "pinSpecialCharactersUsage")]
5952    pub pin_special_characters_usage: WindowsHelloForBusinessPinUsage,
5953    #[serde(rename = "state")]
5954    pub state: Enablement,
5955    #[serde(rename = "securityDeviceRequired")]
5956    pub security_device_required: bool,
5957    #[serde(rename = "unlockWithBiometricsEnabled")]
5958    pub unlock_with_biometrics_enabled: bool,
5959    #[serde(rename = "remotePassportEnabled")]
5960    pub remote_passport_enabled: bool,
5961    #[serde(rename = "pinPreviousBlockCount")]
5962    pub pin_previous_block_count: i32,
5963    #[serde(rename = "pinExpirationInDays")]
5964    pub pin_expiration_in_days: i32,
5965    #[serde(rename = "enhancedBiometricsState")]
5966    pub enhanced_biometrics_state: Enablement,
5967}
5968
5969#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
5970pub struct ManagedMobileApp {
5971    #[serde(rename = "mobileAppIdentifier")]
5972    pub mobile_app_identifier: MobileAppIdentifier,
5973    #[serde(rename = "version")]
5974    pub version: String,
5975}
5976
5977#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
5978pub struct TargetedManagedAppPolicyAssignment {
5979    #[serde(rename = "target")]
5980    pub target: DeviceAndAppManagementAssignmentTarget,
5981}
5982
5983#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
5984pub struct ManagedAppOperation {
5985    #[serde(rename = "displayName")]
5986    pub display_name: String,
5987    #[serde(rename = "lastModifiedDateTime")]
5988    pub last_modified_date_time: String,
5989    #[serde(rename = "state")]
5990    pub state: String,
5991    #[serde(rename = "version")]
5992    pub version: String,
5993}
5994
5995#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
5996pub struct ManagedAppPolicyDeploymentSummary {
5997    #[serde(rename = "displayName")]
5998    pub display_name: String,
5999    #[serde(rename = "configurationDeployedUserCount")]
6000    pub configuration_deployed_user_count: i32,
6001    #[serde(rename = "lastRefreshTime")]
6002    pub last_refresh_time: String,
6003    #[serde(rename = "configurationDeploymentSummaryPerApp")]
6004    pub configuration_deployment_summary_per_app: Vec<ManagedAppPolicyDeploymentSummaryPerApp>,
6005    #[serde(rename = "version")]
6006    pub version: String,
6007}
6008
6009#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
6010pub struct WindowsInformationProtectionAppLockerFile {
6011    #[serde(rename = "displayName")]
6012    pub display_name: String,
6013    #[serde(rename = "fileHash")]
6014    pub file_hash: String,
6015    #[serde(rename = "file")]
6016    pub file: Vec<u8>,
6017    #[serde(rename = "version")]
6018    pub version: String,
6019}
6020
6021#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
6022pub struct IosManagedAppRegistration {}
6023
6024#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
6025pub struct AndroidManagedAppRegistration {}
6026
6027#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
6028pub struct ManagedAppStatusRaw {
6029    #[serde(rename = "content")]
6030    pub content: Json,
6031}
6032
6033#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
6034pub struct LocalizedNotificationMessage {
6035    #[serde(rename = "lastModifiedDateTime")]
6036    pub last_modified_date_time: String,
6037    #[serde(rename = "locale")]
6038    pub locale: String,
6039    #[serde(rename = "subject")]
6040    pub subject: String,
6041    #[serde(rename = "messageTemplate")]
6042    pub message_template: String,
6043    #[serde(rename = "isDefault")]
6044    pub is_default: bool,
6045}
6046
6047#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
6048pub struct DeviceAndAppManagementRoleDefinition {}
6049
6050#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
6051pub struct ManagedEBookAssignment {
6052    #[serde(rename = "target")]
6053    pub target: DeviceAndAppManagementAssignmentTarget,
6054    #[serde(rename = "installIntent")]
6055    pub install_intent: InstallIntent,
6056}
6057
6058#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
6059pub struct EBookInstallSummary {
6060    #[serde(rename = "installedDeviceCount")]
6061    pub installed_device_count: i32,
6062    #[serde(rename = "failedDeviceCount")]
6063    pub failed_device_count: i32,
6064    #[serde(rename = "notInstalledDeviceCount")]
6065    pub not_installed_device_count: i32,
6066    #[serde(rename = "installedUserCount")]
6067    pub installed_user_count: i32,
6068    #[serde(rename = "failedUserCount")]
6069    pub failed_user_count: i32,
6070    #[serde(rename = "notInstalledUserCount")]
6071    pub not_installed_user_count: i32,
6072}
6073
6074#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
6075pub struct DeviceInstallState {
6076    #[serde(rename = "deviceName")]
6077    pub device_name: String,
6078    #[serde(rename = "deviceId")]
6079    pub device_id: String,
6080    #[serde(rename = "lastSyncDateTime")]
6081    pub last_sync_date_time: String,
6082    #[serde(rename = "installState")]
6083    pub install_state: InstallState,
6084    #[serde(rename = "errorCode")]
6085    pub error_code: String,
6086    #[serde(rename = "osVersion")]
6087    pub os_version: String,
6088    #[serde(rename = "osDescription")]
6089    pub os_description: String,
6090    #[serde(rename = "userName")]
6091    pub user_name: String,
6092}
6093
6094#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
6095pub struct UserInstallStateSummary {
6096    #[serde(rename = "userName")]
6097    pub user_name: String,
6098    #[serde(rename = "installedDeviceCount")]
6099    pub installed_device_count: i32,
6100    #[serde(rename = "failedDeviceCount")]
6101    pub failed_device_count: i32,
6102    #[serde(rename = "notInstalledDeviceCount")]
6103    pub not_installed_device_count: i32,
6104    #[serde(rename = "deviceStates")]
6105    pub device_states: Vec<DeviceInstallState>,
6106}
6107
6108#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
6109pub struct IosVppEBookAssignment {}
6110
6111#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
6112pub struct IosVppEBook {
6113    #[serde(rename = "vppTokenId")]
6114    pub vpp_token_id: String,
6115    #[serde(rename = "appleId")]
6116    pub apple_id: String,
6117    #[serde(rename = "vppOrganizationName")]
6118    pub vpp_organization_name: String,
6119    #[serde(rename = "genres")]
6120    pub genres: Vec<String>,
6121    #[serde(rename = "language")]
6122    pub language: String,
6123    #[serde(rename = "seller")]
6124    pub seller: String,
6125    #[serde(rename = "totalLicenseCount")]
6126    pub total_license_count: i32,
6127    #[serde(rename = "usedLicenseCount")]
6128    pub used_license_count: i32,
6129}
6130
6131#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
6132pub struct EnrollmentTroubleshootingEvent {
6133    #[serde(rename = "managedDeviceIdentifier")]
6134    pub managed_device_identifier: String,
6135    #[serde(rename = "operatingSystem")]
6136    pub operating_system: String,
6137    #[serde(rename = "osVersion")]
6138    pub os_version: String,
6139    #[serde(rename = "userId")]
6140    pub user_id: String,
6141    #[serde(rename = "deviceId")]
6142    pub device_id: String,
6143    #[serde(rename = "enrollmentType")]
6144    pub enrollment_type: DeviceEnrollmentType,
6145    #[serde(rename = "failureCategory")]
6146    pub failure_category: DeviceEnrollmentFailureReason,
6147    #[serde(rename = "failureReason")]
6148    pub failure_reason: String,
6149}
6150
6151#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
6152pub struct ActivityHistoryItem {
6153    #[serde(rename = "status")]
6154    pub status: Status,
6155    #[serde(rename = "activeDurationSeconds")]
6156    pub active_duration_seconds: i32,
6157    #[serde(rename = "createdDateTime")]
6158    pub created_date_time: String,
6159    #[serde(rename = "lastActiveDateTime")]
6160    pub last_active_date_time: String,
6161    #[serde(rename = "lastModifiedDateTime")]
6162    pub last_modified_date_time: String,
6163    #[serde(rename = "expirationDateTime")]
6164    pub expiration_date_time: String,
6165    #[serde(rename = "startedDateTime")]
6166    pub started_date_time: String,
6167    #[serde(rename = "userTimezone")]
6168    pub user_timezone: String,
6169    #[serde(rename = "activity")]
6170    pub activity: UserActivity,
6171}
6172
6173#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
6174pub struct Security {
6175    #[serde(rename = "alerts")]
6176    pub alerts: Vec<Alert>,
6177    #[serde(rename = "secureScoreControlProfiles")]
6178    pub secure_score_control_profiles: Vec<SecureScoreControlProfile>,
6179    #[serde(rename = "secureScores")]
6180    pub secure_scores: Vec<SecureScore>,
6181}
6182
6183#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
6184pub struct Alert {
6185    #[serde(rename = "activityGroupName")]
6186    pub activity_group_name: String,
6187    #[serde(rename = "assignedTo")]
6188    pub assigned_to: String,
6189    #[serde(rename = "azureSubscriptionId")]
6190    pub azure_subscription_id: String,
6191    #[serde(rename = "azureTenantId")]
6192    pub azure_tenant_id: String,
6193    #[serde(rename = "category")]
6194    pub category: String,
6195    #[serde(rename = "closedDateTime")]
6196    pub closed_date_time: String,
6197    #[serde(rename = "cloudAppStates")]
6198    pub cloud_app_states: Vec<CloudAppSecurityState>,
6199    #[serde(rename = "comments")]
6200    pub comments: Vec<String>,
6201    #[serde(rename = "confidence")]
6202    pub confidence: i32,
6203    #[serde(rename = "createdDateTime")]
6204    pub created_date_time: String,
6205    #[serde(rename = "description")]
6206    pub description: String,
6207    #[serde(rename = "detectionIds")]
6208    pub detection_ids: Vec<String>,
6209    #[serde(rename = "eventDateTime")]
6210    pub event_date_time: String,
6211    #[serde(rename = "feedback")]
6212    pub feedback: AlertFeedback,
6213    #[serde(rename = "fileStates")]
6214    pub file_states: Vec<FileSecurityState>,
6215    #[serde(rename = "historyStates")]
6216    pub history_states: Vec<AlertHistoryState>,
6217    #[serde(rename = "hostStates")]
6218    pub host_states: Vec<HostSecurityState>,
6219    #[serde(rename = "lastModifiedDateTime")]
6220    pub last_modified_date_time: String,
6221    #[serde(rename = "malwareStates")]
6222    pub malware_states: Vec<MalwareState>,
6223    #[serde(rename = "networkConnections")]
6224    pub network_connections: Vec<NetworkConnection>,
6225    #[serde(rename = "processes")]
6226    pub processes: Vec<Process>,
6227    #[serde(rename = "recommendedActions")]
6228    pub recommended_actions: Vec<String>,
6229    #[serde(rename = "registryKeyStates")]
6230    pub registry_key_states: Vec<RegistryKeyState>,
6231    #[serde(rename = "severity")]
6232    pub severity: AlertSeverity,
6233    #[serde(rename = "sourceMaterials")]
6234    pub source_materials: Vec<String>,
6235    #[serde(rename = "status")]
6236    pub status: AlertStatus,
6237    #[serde(rename = "tags")]
6238    pub tags: Vec<String>,
6239    #[serde(rename = "title")]
6240    pub title: String,
6241    #[serde(rename = "triggers")]
6242    pub triggers: Vec<AlertTrigger>,
6243    #[serde(rename = "userStates")]
6244    pub user_states: Vec<UserSecurityState>,
6245    #[serde(rename = "vendorInformation")]
6246    pub vendor_information: SecurityVendorInformation,
6247    #[serde(rename = "vulnerabilityStates")]
6248    pub vulnerability_states: Vec<VulnerabilityState>,
6249}
6250
6251#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
6252pub struct SecureScoreControlProfile {
6253    #[serde(rename = "actionType")]
6254    pub action_type: String,
6255    #[serde(rename = "actionUrl")]
6256    pub action_url: String,
6257    #[serde(rename = "azureTenantId")]
6258    pub azure_tenant_id: String,
6259    #[serde(rename = "complianceInformation")]
6260    pub compliance_information: Vec<ComplianceInformation>,
6261    #[serde(rename = "controlCategory")]
6262    pub control_category: String,
6263    #[serde(rename = "controlStateUpdates")]
6264    pub control_state_updates: Vec<SecureScoreControlStateUpdate>,
6265    #[serde(rename = "deprecated")]
6266    pub deprecated: bool,
6267    #[serde(rename = "implementationCost")]
6268    pub implementation_cost: String,
6269    #[serde(rename = "lastModifiedDateTime")]
6270    pub last_modified_date_time: String,
6271    #[serde(rename = "maxScore")]
6272    pub max_score: i64,
6273    #[serde(rename = "rank")]
6274    pub rank: i32,
6275    #[serde(rename = "remediation")]
6276    pub remediation: String,
6277    #[serde(rename = "remediationImpact")]
6278    pub remediation_impact: String,
6279    #[serde(rename = "service")]
6280    pub service: String,
6281    #[serde(rename = "threats")]
6282    pub threats: Vec<String>,
6283    #[serde(rename = "tier")]
6284    pub tier: String,
6285    #[serde(rename = "title")]
6286    pub title: String,
6287    #[serde(rename = "userImpact")]
6288    pub user_impact: String,
6289    #[serde(rename = "vendorInformation")]
6290    pub vendor_information: SecurityVendorInformation,
6291}
6292
6293#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
6294pub struct SecureScore {
6295    #[serde(rename = "activeUserCount")]
6296    pub active_user_count: i32,
6297    #[serde(rename = "averageComparativeScores")]
6298    pub average_comparative_scores: Vec<AverageComparativeScore>,
6299    #[serde(rename = "azureTenantId")]
6300    pub azure_tenant_id: String,
6301    #[serde(rename = "controlScores")]
6302    pub control_scores: Vec<ControlScore>,
6303    #[serde(rename = "createdDateTime")]
6304    pub created_date_time: String,
6305    #[serde(rename = "currentScore")]
6306    pub current_score: i64,
6307    #[serde(rename = "enabledServices")]
6308    pub enabled_services: Vec<String>,
6309    #[serde(rename = "licensedUserCount")]
6310    pub licensed_user_count: i32,
6311    #[serde(rename = "maxScore")]
6312    pub max_score: i64,
6313    #[serde(rename = "vendorInformation")]
6314    pub vendor_information: SecurityVendorInformation,
6315}
6316
6317#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
6318pub struct Trending {
6319    #[serde(rename = "weight")]
6320    pub weight: i64,
6321    #[serde(rename = "resourceVisualization")]
6322    pub resource_visualization: ResourceVisualization,
6323    #[serde(rename = "resourceReference")]
6324    pub resource_reference: ResourceReference,
6325    #[serde(rename = "lastModifiedDateTime")]
6326    pub last_modified_date_time: String,
6327    #[serde(rename = "resource")]
6328    pub resource: Entity,
6329}
6330
6331#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
6332pub struct SharedInsight {
6333    #[serde(rename = "lastShared")]
6334    pub last_shared: SharingDetail,
6335    #[serde(rename = "sharingHistory")]
6336    pub sharing_history: Vec<SharingDetail>,
6337    #[serde(rename = "resourceVisualization")]
6338    pub resource_visualization: ResourceVisualization,
6339    #[serde(rename = "resourceReference")]
6340    pub resource_reference: ResourceReference,
6341    #[serde(rename = "lastSharedMethod")]
6342    pub last_shared_method: Entity,
6343    #[serde(rename = "resource")]
6344    pub resource: Entity,
6345}
6346
6347#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
6348pub struct UsedInsight {
6349    #[serde(rename = "lastUsed")]
6350    pub last_used: UsageDetails,
6351    #[serde(rename = "resourceVisualization")]
6352    pub resource_visualization: ResourceVisualization,
6353    #[serde(rename = "resourceReference")]
6354    pub resource_reference: ResourceReference,
6355    #[serde(rename = "resource")]
6356    pub resource: Entity,
6357}
6358
6359#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
6360pub struct AppCatalogs {
6361    #[serde(rename = "teamsApps")]
6362    pub teams_apps: Vec<TeamsApp>,
6363}
6364
6365#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
6366pub struct TeamsApp {
6367    #[serde(rename = "externalId")]
6368    pub external_id: String,
6369    #[serde(rename = "displayName")]
6370    pub display_name: String,
6371    #[serde(rename = "distributionMethod")]
6372    pub distribution_method: TeamsAppDistributionMethod,
6373    #[serde(rename = "appDefinitions")]
6374    pub app_definitions: Vec<TeamsAppDefinition>,
6375}
6376
6377#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
6378pub struct Channel {
6379    #[serde(rename = "displayName")]
6380    pub display_name: String,
6381    #[serde(rename = "description")]
6382    pub description: String,
6383    #[serde(rename = "email")]
6384    pub email: String,
6385    #[serde(rename = "webUrl")]
6386    pub web_url: String,
6387    #[serde(rename = "tabs")]
6388    pub tabs: Vec<TeamsTab>,
6389}
6390
6391#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
6392pub struct TeamsAppInstallation {
6393    #[serde(rename = "teamsApp")]
6394    pub teams_app: TeamsApp,
6395    #[serde(rename = "teamsAppDefinition")]
6396    pub teams_app_definition: TeamsAppDefinition,
6397}
6398
6399#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
6400pub struct TeamsAsyncOperation {
6401    #[serde(rename = "operationType")]
6402    pub operation_type: TeamsAsyncOperationType,
6403    #[serde(rename = "createdDateTime")]
6404    pub created_date_time: String,
6405    #[serde(rename = "status")]
6406    pub status: TeamsAsyncOperationStatus,
6407    #[serde(rename = "lastActionDateTime")]
6408    pub last_action_date_time: String,
6409    #[serde(rename = "attemptsCount")]
6410    pub attempts_count: i32,
6411    #[serde(rename = "targetResourceId")]
6412    pub target_resource_id: String,
6413    #[serde(rename = "targetResourceLocation")]
6414    pub target_resource_location: String,
6415    #[serde(rename = "error")]
6416    pub error: OperationError,
6417}
6418
6419#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
6420pub struct TeamsAppDefinition {
6421    #[serde(rename = "teamsAppId")]
6422    pub teams_app_id: String,
6423    #[serde(rename = "displayName")]
6424    pub display_name: String,
6425    #[serde(rename = "version")]
6426    pub version: String,
6427}
6428
6429#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
6430pub struct TeamsTab {
6431    #[serde(rename = "displayName")]
6432    pub display_name: String,
6433    #[serde(rename = "webUrl")]
6434    pub web_url: String,
6435    #[serde(rename = "configuration")]
6436    pub configuration: TeamsTabConfiguration,
6437    #[serde(rename = "teamsApp")]
6438    pub teams_app: TeamsApp,
6439}
6440
6441#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
6442pub struct DataPolicyOperation {
6443    #[serde(rename = "completedDateTime")]
6444    pub completed_date_time: String,
6445    #[serde(rename = "status")]
6446    pub status: DataPolicyOperationStatus,
6447    #[serde(rename = "storageLocation")]
6448    pub storage_location: String,
6449    #[serde(rename = "userId")]
6450    pub user_id: String,
6451    #[serde(rename = "submittedDateTime")]
6452    pub submitted_date_time: String,
6453    #[serde(rename = "progress")]
6454    pub progress: i64,
6455}
6456
6457#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
6458pub struct IdentityProvider {
6459    #[serde(rename = "type")]
6460    pub _type: String,
6461    #[serde(rename = "name")]
6462    pub name: String,
6463    #[serde(rename = "clientId")]
6464    pub client_id: String,
6465    #[serde(rename = "clientSecret")]
6466    pub client_secret: String,
6467}
6468
6469#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
6470pub struct DirectoryAudit {
6471    #[serde(rename = "category")]
6472    pub category: String,
6473    #[serde(rename = "correlationId")]
6474    pub correlation_id: String,
6475    #[serde(rename = "result")]
6476    pub result: OperationResult,
6477    #[serde(rename = "resultReason")]
6478    pub result_reason: String,
6479    #[serde(rename = "activityDisplayName")]
6480    pub activity_display_name: String,
6481    #[serde(rename = "activityDateTime")]
6482    pub activity_date_time: String,
6483    #[serde(rename = "loggedByService")]
6484    pub logged_by_service: String,
6485    #[serde(rename = "operationType")]
6486    pub operation_type: String,
6487    #[serde(rename = "initiatedBy")]
6488    pub initiated_by: AuditActivityInitiator,
6489    #[serde(rename = "targetResources")]
6490    pub target_resources: Vec<TargetResource>,
6491    #[serde(rename = "additionalDetails")]
6492    pub additional_details: Vec<KeyValue>,
6493}
6494
6495#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
6496pub struct SignIn {
6497    #[serde(rename = "createdDateTime")]
6498    pub created_date_time: String,
6499    #[serde(rename = "userDisplayName")]
6500    pub user_display_name: String,
6501    #[serde(rename = "userPrincipalName")]
6502    pub user_principal_name: String,
6503    #[serde(rename = "userId")]
6504    pub user_id: String,
6505    #[serde(rename = "appId")]
6506    pub app_id: String,
6507    #[serde(rename = "appDisplayName")]
6508    pub app_display_name: String,
6509    #[serde(rename = "ipAddress")]
6510    pub ip_address: String,
6511    #[serde(rename = "status")]
6512    pub status: SignInStatus,
6513    #[serde(rename = "clientAppUsed")]
6514    pub client_app_used: String,
6515    #[serde(rename = "deviceDetail")]
6516    pub device_detail: DeviceDetail,
6517    #[serde(rename = "location")]
6518    pub location: SignInLocation,
6519    #[serde(rename = "correlationId")]
6520    pub correlation_id: String,
6521    #[serde(rename = "conditionalAccessStatus")]
6522    pub conditional_access_status: ConditionalAccessStatus,
6523    #[serde(rename = "appliedConditionalAccessPolicies")]
6524    pub applied_conditional_access_policies: Vec<AppliedConditionalAccessPolicy>,
6525    #[serde(rename = "isInteractive")]
6526    pub is_interactive: bool,
6527    #[serde(rename = "riskDetail")]
6528    pub risk_detail: RiskDetail,
6529    #[serde(rename = "riskLevelAggregated")]
6530    pub risk_level_aggregated: RiskLevel,
6531    #[serde(rename = "riskLevelDuringSignIn")]
6532    pub risk_level_during_sign_in: RiskLevel,
6533    #[serde(rename = "riskState")]
6534    pub risk_state: RiskState,
6535    #[serde(rename = "riskEventTypes")]
6536    pub risk_event_types: Vec<RiskEventType>,
6537    #[serde(rename = "resourceDisplayName")]
6538    pub resource_display_name: String,
6539    #[serde(rename = "resourceId")]
6540    pub resource_id: String,
6541}
6542
6543#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
6544pub struct RestrictedSignIn {
6545    #[serde(rename = "targetTenantId")]
6546    pub target_tenant_id: String,
6547}
6548
6549#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
6550pub struct AuditLogRoot {
6551    #[serde(rename = "signIns")]
6552    pub sign_ins: Vec<SignIn>,
6553    #[serde(rename = "directoryAudits")]
6554    pub directory_audits: Vec<DirectoryAudit>,
6555    #[serde(rename = "restrictedSignIns")]
6556    pub restricted_sign_ins: Vec<RestrictedSignIn>,
6557}