summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/yaegashi/msgraph.go/beta/ModelUser.go
blob: fd74221df00a904172bfe283702ec575acd15ddd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
// Code generated by msgraph-generate.go DO NOT EDIT.

package msgraph

import (
	"encoding/json"
	"time"
)

// User Represents an Azure Active Directory user object.
type User struct {
	// DirectoryObject is the base model of User
	DirectoryObject
	// SignInActivity undocumented
	SignInActivity *SignInActivity `json:"signInActivity,omitempty"`
	// AccountEnabled undocumented
	AccountEnabled *bool `json:"accountEnabled,omitempty"`
	// AgeGroup undocumented
	AgeGroup *string `json:"ageGroup,omitempty"`
	// AssignedLicenses undocumented
	AssignedLicenses []AssignedLicense `json:"assignedLicenses,omitempty"`
	// AssignedPlans undocumented
	AssignedPlans []AssignedPlan `json:"assignedPlans,omitempty"`
	// BusinessPhones undocumented
	BusinessPhones []string `json:"businessPhones,omitempty"`
	// City undocumented
	City *string `json:"city,omitempty"`
	// CompanyName undocumented
	CompanyName *string `json:"companyName,omitempty"`
	// ConsentProvidedForMinor undocumented
	ConsentProvidedForMinor *string `json:"consentProvidedForMinor,omitempty"`
	// Country undocumented
	Country *string `json:"country,omitempty"`
	// CreatedDateTime undocumented
	CreatedDateTime *time.Time `json:"createdDateTime,omitempty"`
	// CreationType undocumented
	CreationType *string `json:"creationType,omitempty"`
	// Department undocumented
	Department *string `json:"department,omitempty"`
	// DeviceKeys undocumented
	DeviceKeys []DeviceKey `json:"deviceKeys,omitempty"`
	// DisplayName undocumented
	DisplayName *string `json:"displayName,omitempty"`
	// EmployeeID undocumented
	EmployeeID *string `json:"employeeId,omitempty"`
	// FaxNumber undocumented
	FaxNumber *string `json:"faxNumber,omitempty"`
	// GivenName undocumented
	GivenName *string `json:"givenName,omitempty"`
	// Identities undocumented
	Identities []ObjectIdentity `json:"identities,omitempty"`
	// ImAddresses undocumented
	ImAddresses []string `json:"imAddresses,omitempty"`
	// IsResourceAccount undocumented
	IsResourceAccount *bool `json:"isResourceAccount,omitempty"`
	// JobTitle undocumented
	JobTitle *string `json:"jobTitle,omitempty"`
	// LastPasswordChangeDateTime undocumented
	LastPasswordChangeDateTime *time.Time `json:"lastPasswordChangeDateTime,omitempty"`
	// LegalAgeGroupClassification undocumented
	LegalAgeGroupClassification *string `json:"legalAgeGroupClassification,omitempty"`
	// LicenseAssignmentStates undocumented
	LicenseAssignmentStates []LicenseAssignmentState `json:"licenseAssignmentStates,omitempty"`
	// Mail undocumented
	Mail *string `json:"mail,omitempty"`
	// MailNickname undocumented
	MailNickname *string `json:"mailNickname,omitempty"`
	// MobilePhone undocumented
	MobilePhone *string `json:"mobilePhone,omitempty"`
	// OnPremisesDistinguishedName undocumented
	OnPremisesDistinguishedName *string `json:"onPremisesDistinguishedName,omitempty"`
	// OnPremisesExtensionAttributes undocumented
	OnPremisesExtensionAttributes *OnPremisesExtensionAttributes `json:"onPremisesExtensionAttributes,omitempty"`
	// OnPremisesImmutableID undocumented
	OnPremisesImmutableID *string `json:"onPremisesImmutableId,omitempty"`
	// OnPremisesLastSyncDateTime undocumented
	OnPremisesLastSyncDateTime *time.Time `json:"onPremisesLastSyncDateTime,omitempty"`
	// OnPremisesProvisioningErrors undocumented
	OnPremisesProvisioningErrors []OnPremisesProvisioningError `json:"onPremisesProvisioningErrors,omitempty"`
	// OnPremisesSecurityIdentifier undocumented
	OnPremisesSecurityIdentifier *string `json:"onPremisesSecurityIdentifier,omitempty"`
	// OnPremisesSyncEnabled undocumented
	OnPremisesSyncEnabled *bool `json:"onPremisesSyncEnabled,omitempty"`
	// OnPremisesDomainName undocumented
	OnPremisesDomainName *string `json:"onPremisesDomainName,omitempty"`
	// OnPremisesSamAccountName undocumented
	OnPremisesSamAccountName *string `json:"onPremisesSamAccountName,omitempty"`
	// OnPremisesUserPrincipalName undocumented
	OnPremisesUserPrincipalName *string `json:"onPremisesUserPrincipalName,omitempty"`
	// OtherMails undocumented
	OtherMails []string `json:"otherMails,omitempty"`
	// PasswordPolicies undocumented
	PasswordPolicies *string `json:"passwordPolicies,omitempty"`
	// PasswordProfile undocumented
	PasswordProfile *PasswordProfile `json:"passwordProfile,omitempty"`
	// OfficeLocation undocumented
	OfficeLocation *string `json:"officeLocation,omitempty"`
	// PostalCode undocumented
	PostalCode *string `json:"postalCode,omitempty"`
	// PreferredDataLocation undocumented
	PreferredDataLocation *string `json:"preferredDataLocation,omitempty"`
	// PreferredLanguage undocumented
	PreferredLanguage *string `json:"preferredLanguage,omitempty"`
	// ProvisionedPlans undocumented
	ProvisionedPlans []ProvisionedPlan `json:"provisionedPlans,omitempty"`
	// ProxyAddresses undocumented
	ProxyAddresses []string `json:"proxyAddresses,omitempty"`
	// RefreshTokensValidFromDateTime undocumented
	RefreshTokensValidFromDateTime *time.Time `json:"refreshTokensValidFromDateTime,omitempty"`
	// ShowInAddressList undocumented
	ShowInAddressList *bool `json:"showInAddressList,omitempty"`
	// SignInSessionsValidFromDateTime undocumented
	SignInSessionsValidFromDateTime *time.Time `json:"signInSessionsValidFromDateTime,omitempty"`
	// State undocumented
	State *string `json:"state,omitempty"`
	// StreetAddress undocumented
	StreetAddress *string `json:"streetAddress,omitempty"`
	// Surname undocumented
	Surname *string `json:"surname,omitempty"`
	// UsageLocation undocumented
	UsageLocation *string `json:"usageLocation,omitempty"`
	// UserPrincipalName undocumented
	UserPrincipalName *string `json:"userPrincipalName,omitempty"`
	// ExternalUserState undocumented
	ExternalUserState *string `json:"externalUserState,omitempty"`
	// ExternalUserStateChangeDateTime undocumented
	ExternalUserStateChangeDateTime *string `json:"externalUserStateChangeDateTime,omitempty"`
	// UserType undocumented
	UserType *string `json:"userType,omitempty"`
	// MailboxSettings undocumented
	MailboxSettings *MailboxSettings `json:"mailboxSettings,omitempty"`
	// IdentityUserRisk undocumented
	IdentityUserRisk *IdentityUserRisk `json:"identityUserRisk,omitempty"`
	// DeviceEnrollmentLimit The limit on the maximum number of devices that the user is permitted to enroll. Allowed values are 5 or 1000.
	DeviceEnrollmentLimit *int `json:"deviceEnrollmentLimit,omitempty"`
	// AboutMe undocumented
	AboutMe *string `json:"aboutMe,omitempty"`
	// Birthday undocumented
	Birthday *time.Time `json:"birthday,omitempty"`
	// HireDate undocumented
	HireDate *time.Time `json:"hireDate,omitempty"`
	// Interests undocumented
	Interests []string `json:"interests,omitempty"`
	// MySite undocumented
	MySite *string `json:"mySite,omitempty"`
	// PastProjects undocumented
	PastProjects []string `json:"pastProjects,omitempty"`
	// PreferredName undocumented
	PreferredName *string `json:"preferredName,omitempty"`
	// Responsibilities undocumented
	Responsibilities []string `json:"responsibilities,omitempty"`
	// Schools undocumented
	Schools []string `json:"schools,omitempty"`
	// Skills undocumented
	Skills []string `json:"skills,omitempty"`
	// Analytics undocumented
	Analytics *UserAnalytics `json:"analytics,omitempty"`
	// InformationProtection undocumented
	InformationProtection *InformationProtection `json:"informationProtection,omitempty"`
	// AppRoleAssignments undocumented
	AppRoleAssignments []AppRoleAssignment `json:"appRoleAssignments,omitempty"`
	// CreatedObjects undocumented
	CreatedObjects []DirectoryObject `json:"createdObjects,omitempty"`
	// DirectReports undocumented
	DirectReports []DirectoryObject `json:"directReports,omitempty"`
	// LicenseDetails undocumented
	LicenseDetails []LicenseDetails `json:"licenseDetails,omitempty"`
	// Manager undocumented
	Manager *DirectoryObject `json:"manager,omitempty"`
	// MemberOf undocumented
	MemberOf []DirectoryObject `json:"memberOf,omitempty"`
	// OwnedDevices undocumented
	OwnedDevices []DirectoryObject `json:"ownedDevices,omitempty"`
	// OwnedObjects undocumented
	OwnedObjects []DirectoryObject `json:"ownedObjects,omitempty"`
	// RegisteredDevices undocumented
	RegisteredDevices []DirectoryObject `json:"registeredDevices,omitempty"`
	// ScopedRoleMemberOf undocumented
	ScopedRoleMemberOf []ScopedRoleMembership `json:"scopedRoleMemberOf,omitempty"`
	// TransitiveMemberOf undocumented
	TransitiveMemberOf []DirectoryObject `json:"transitiveMemberOf,omitempty"`
	// Outlook undocumented
	Outlook *OutlookUser `json:"outlook,omitempty"`
	// Messages undocumented
	Messages []Message `json:"messages,omitempty"`
	// JoinedGroups undocumented
	JoinedGroups []Group `json:"joinedGroups,omitempty"`
	// MailFolders undocumented
	MailFolders []MailFolder `json:"mailFolders,omitempty"`
	// Calendar undocumented
	Calendar *Calendar `json:"calendar,omitempty"`
	// Calendars undocumented
	Calendars []Calendar `json:"calendars,omitempty"`
	// CalendarGroups undocumented
	CalendarGroups []CalendarGroup `json:"calendarGroups,omitempty"`
	// CalendarView undocumented
	CalendarView []Event `json:"calendarView,omitempty"`
	// Events undocumented
	Events []Event `json:"events,omitempty"`
	// People undocumented
	People []Person `json:"people,omitempty"`
	// Contacts undocumented
	Contacts []Contact `json:"contacts,omitempty"`
	// ContactFolders undocumented
	ContactFolders []ContactFolder `json:"contactFolders,omitempty"`
	// InferenceClassification undocumented
	InferenceClassification *InferenceClassification `json:"inferenceClassification,omitempty"`
	// Photo undocumented
	Photo *ProfilePhoto `json:"photo,omitempty"`
	// Photos undocumented
	Photos []ProfilePhoto `json:"photos,omitempty"`
	// Drive undocumented
	Drive *Drive `json:"drive,omitempty"`
	// Drives undocumented
	Drives []Drive `json:"drives,omitempty"`
	// FollowedSites undocumented
	FollowedSites []Site `json:"followedSites,omitempty"`
	// Extensions undocumented
	Extensions []Extension `json:"extensions,omitempty"`
	// AgreementAcceptances undocumented
	AgreementAcceptances []AgreementAcceptance `json:"agreementAcceptances,omitempty"`
	// DeviceEnrollmentConfigurations undocumented
	DeviceEnrollmentConfigurations []DeviceEnrollmentConfiguration `json:"deviceEnrollmentConfigurations,omitempty"`
	// ManagedDevices undocumented
	ManagedDevices []ManagedDevice `json:"managedDevices,omitempty"`
	// ManagedAppRegistrations undocumented
	ManagedAppRegistrations []ManagedAppRegistration `json:"managedAppRegistrations,omitempty"`
	// WindowsInformationProtectionDeviceRegistrations undocumented
	WindowsInformationProtectionDeviceRegistrations []WindowsInformationProtectionDeviceRegistration `json:"windowsInformationProtectionDeviceRegistrations,omitempty"`
	// DeviceManagementTroubleshootingEvents undocumented
	DeviceManagementTroubleshootingEvents []DeviceManagementTroubleshootingEvent `json:"deviceManagementTroubleshootingEvents,omitempty"`
	// MobileAppIntentAndStates undocumented
	MobileAppIntentAndStates []MobileAppIntentAndState `json:"mobileAppIntentAndStates,omitempty"`
	// MobileAppTroubleshootingEvents undocumented
	MobileAppTroubleshootingEvents []MobileAppTroubleshootingEvent `json:"mobileAppTroubleshootingEvents,omitempty"`
	// Notifications undocumented
	Notifications []Notification `json:"notifications,omitempty"`
	// Planner undocumented
	Planner *PlannerUser `json:"planner,omitempty"`
	// Insights undocumented
	Insights *OfficeGraphInsights `json:"insights,omitempty"`
	// Settings undocumented
	Settings *UserSettings `json:"settings,omitempty"`
	// Onenote undocumented
	Onenote *Onenote `json:"onenote,omitempty"`
	// Profile undocumented
	Profile *Profile `json:"profile,omitempty"`
	// Activities undocumented
	Activities []UserActivity `json:"activities,omitempty"`
	// Devices undocumented
	Devices []Device `json:"devices,omitempty"`
	// OnlineMeetings undocumented
	OnlineMeetings []OnlineMeeting `json:"onlineMeetings,omitempty"`
	// Presence undocumented
	Presence *Presence `json:"presence,omitempty"`
	// Chats undocumented
	Chats []Chat `json:"chats,omitempty"`
	// JoinedTeams undocumented
	JoinedTeams []Team `json:"joinedTeams,omitempty"`
	// Teamwork undocumented
	Teamwork *UserTeamwork `json:"teamwork,omitempty"`
}

// UserAccount undocumented
type UserAccount struct {
	// Object is the base model of UserAccount
	Object
	// DisplayName undocumented
	DisplayName *string `json:"displayName,omitempty"`
	// LastSeenDateTime undocumented
	LastSeenDateTime *time.Time `json:"lastSeenDateTime,omitempty"`
	// RiskScore undocumented
	RiskScore *string `json:"riskScore,omitempty"`
	// Service undocumented
	Service *string `json:"service,omitempty"`
	// SigninName undocumented
	SigninName *string `json:"signinName,omitempty"`
	// Status undocumented
	Status *AccountStatus `json:"status,omitempty"`
}

// UserAccountInformation undocumented
type UserAccountInformation struct {
	// ItemFacet is the base model of UserAccountInformation
	ItemFacet
	// AgeGroup undocumented
	AgeGroup *string `json:"ageGroup,omitempty"`
	// CountryCode undocumented
	CountryCode *string `json:"countryCode,omitempty"`
	// PreferredLanguageTag undocumented
	PreferredLanguageTag *LocaleInfo `json:"preferredLanguageTag,omitempty"`
	// UserPrincipalName undocumented
	UserPrincipalName *string `json:"userPrincipalName,omitempty"`
}

// UserActivationCounts undocumented
type UserActivationCounts struct {
	// Object is the base model of UserActivationCounts
	Object
	// ProductType undocumented
	ProductType *string `json:"productType,omitempty"`
	// LastActivatedDate undocumented
	LastActivatedDate *Date `json:"lastActivatedDate,omitempty"`
	// Windows undocumented
	Windows *int `json:"windows,omitempty"`
	// Mac undocumented
	Mac *int `json:"mac,omitempty"`
	// Windows10Mobile undocumented
	Windows10Mobile *int `json:"windows10Mobile,omitempty"`
	// IOS undocumented
	IOS *int `json:"ios,omitempty"`
	// Android undocumented
	Android *int `json:"android,omitempty"`
	// ActivatedOnSharedComputer undocumented
	ActivatedOnSharedComputer *bool `json:"activatedOnSharedComputer,omitempty"`
}

// UserActivity undocumented
type UserActivity struct {
	// Entity is the base model of UserActivity
	Entity
	// VisualElements undocumented
	VisualElements *VisualInfo `json:"visualElements,omitempty"`
	// ActivitySourceHost undocumented
	ActivitySourceHost *string `json:"activitySourceHost,omitempty"`
	// ActivationURL undocumented
	ActivationURL *string `json:"activationUrl,omitempty"`
	// AppActivityID undocumented
	AppActivityID *string `json:"appActivityId,omitempty"`
	// AppDisplayName undocumented
	AppDisplayName *string `json:"appDisplayName,omitempty"`
	// ContentURL undocumented
	ContentURL *string `json:"contentUrl,omitempty"`
	// CreatedDateTime undocumented
	CreatedDateTime *time.Time `json:"createdDateTime,omitempty"`
	// ExpirationDateTime undocumented
	ExpirationDateTime *time.Time `json:"expirationDateTime,omitempty"`
	// FallbackURL undocumented
	FallbackURL *string `json:"fallbackUrl,omitempty"`
	// LastModifiedDateTime undocumented
	LastModifiedDateTime *time.Time `json:"lastModifiedDateTime,omitempty"`
	// UserTimezone undocumented
	UserTimezone *string `json:"userTimezone,omitempty"`
	// ContentInfo undocumented
	ContentInfo json.RawMessage `json:"contentInfo,omitempty"`
	// Status undocumented
	Status *Status `json:"status,omitempty"`
	// HistoryItems undocumented
	HistoryItems []ActivityHistoryItem `json:"historyItems,omitempty"`
}

// UserAnalytics undocumented
type UserAnalytics struct {
	// Entity is the base model of UserAnalytics
	Entity
	// Settings undocumented
	Settings *Settings `json:"settings,omitempty"`
	// ActivityStatistics undocumented
	ActivityStatistics []ActivityStatistics `json:"activityStatistics,omitempty"`
}

// UserAppInstallStatus Contains properties for the installation status for a user.
type UserAppInstallStatus struct {
	// Entity is the base model of UserAppInstallStatus
	Entity
	// UserName User name.
	UserName *string `json:"userName,omitempty"`
	// UserPrincipalName User Principal Name.
	UserPrincipalName *string `json:"userPrincipalName,omitempty"`
	// InstalledDeviceCount Installed Device Count.
	InstalledDeviceCount *int `json:"installedDeviceCount,omitempty"`
	// FailedDeviceCount Failed Device Count.
	FailedDeviceCount *int `json:"failedDeviceCount,omitempty"`
	// NotInstalledDeviceCount Not installed device count.
	NotInstalledDeviceCount *int `json:"notInstalledDeviceCount,omitempty"`
	// App undocumented
	App *MobileApp `json:"app,omitempty"`
	// DeviceStatuses undocumented
	DeviceStatuses []MobileAppInstallStatus `json:"deviceStatuses,omitempty"`
}

// UserConfiguration undocumented
type UserConfiguration struct {
	// Entity is the base model of UserConfiguration
	Entity
	// BinaryData undocumented
	BinaryData *Binary `json:"binaryData,omitempty"`
}

// UserCredentialUsageDetails undocumented
type UserCredentialUsageDetails struct {
	// Entity is the base model of UserCredentialUsageDetails
	Entity
	// Feature undocumented
	Feature *FeatureType `json:"feature,omitempty"`
	// UserPrincipalName undocumented
	UserPrincipalName *string `json:"userPrincipalName,omitempty"`
	// UserDisplayName undocumented
	UserDisplayName *string `json:"userDisplayName,omitempty"`
	// IsSuccess undocumented
	IsSuccess *bool `json:"isSuccess,omitempty"`
	// AuthMethod undocumented
	AuthMethod *UsageAuthMethod `json:"authMethod,omitempty"`
	// FailureReason undocumented
	FailureReason *string `json:"failureReason,omitempty"`
	// EventDateTime undocumented
	EventDateTime *time.Time `json:"eventDateTime,omitempty"`
}

// UserExperienceAnalyticsBaseline The user experience analytics baseline entity contains baseline values against which to compare the user experience analytics scores.
type UserExperienceAnalyticsBaseline struct {
	// Entity is the base model of UserExperienceAnalyticsBaseline
	Entity
	// DisplayName The name of the user experience analytics baseline.
	DisplayName *string `json:"displayName,omitempty"`
	// IsBuiltIn Signifies if the current baseline is the commercial median baseline or a custom baseline.
	IsBuiltIn *bool `json:"isBuiltIn,omitempty"`
	// CreatedDateTime The date the custom baseline was created.
	CreatedDateTime *time.Time `json:"createdDateTime,omitempty"`
	// DeviceBootPerformanceMetrics undocumented
	DeviceBootPerformanceMetrics *UserExperienceAnalyticsCategory `json:"deviceBootPerformanceMetrics,omitempty"`
	// BestPracticesMetrics undocumented
	BestPracticesMetrics *UserExperienceAnalyticsCategory `json:"bestPracticesMetrics,omitempty"`
}

// UserExperienceAnalyticsCategory The user experience analytics category entity contains the scores and insights for the various metrics of a category.
type UserExperienceAnalyticsCategory struct {
	// Entity is the base model of UserExperienceAnalyticsCategory
	Entity
	// Insights The insights for the user experience analytics category.
	Insights []UserExperienceAnalyticsInsight `json:"insights,omitempty"`
	// MetricValues undocumented
	MetricValues []UserExperienceAnalyticsMetric `json:"metricValues,omitempty"`
}

// UserExperienceAnalyticsDevicePerformance The user experience analytics device performance entity contains device boot performance details.
type UserExperienceAnalyticsDevicePerformance struct {
	// Entity is the base model of UserExperienceAnalyticsDevicePerformance
	Entity
	// DeviceName The user experience analytics device name.
	DeviceName *string `json:"deviceName,omitempty"`
	// Model The user experience analytics device model.
	Model *string `json:"model,omitempty"`
	// Manufacturer The user experience analytics device manufacturer.
	Manufacturer *string `json:"manufacturer,omitempty"`
	// DiskType The user experience analytics device disk type.
	DiskType *DiskType `json:"diskType,omitempty"`
	// OperatingSystemVersion The user experience analytics device Operating System version.
	OperatingSystemVersion *string `json:"operatingSystemVersion,omitempty"`
	// BootScore The user experience analytics device boot score.
	BootScore *int `json:"bootScore,omitempty"`
	// CoreBootTimeInMs The user experience analytics device core boot time in milliseconds.
	CoreBootTimeInMs *int `json:"coreBootTimeInMs,omitempty"`
	// GroupPolicyBootTimeInMs The user experience analytics device group policy boot time in milliseconds.
	GroupPolicyBootTimeInMs *int `json:"groupPolicyBootTimeInMs,omitempty"`
	// HealthStatus The health state of the user experience analytics device.
	HealthStatus *UserExperienceAnalyticsHealthState `json:"healthStatus,omitempty"`
	// LoginScore The user experience analytics device login score.
	LoginScore *int `json:"loginScore,omitempty"`
	// CoreLoginTimeInMs The user experience analytics device core login time in milliseconds.
	CoreLoginTimeInMs *int `json:"coreLoginTimeInMs,omitempty"`
	// GroupPolicyLoginTimeInMs The user experience analytics device group policy login time in milliseconds.
	GroupPolicyLoginTimeInMs *int `json:"groupPolicyLoginTimeInMs,omitempty"`
	// DeviceCount User experience analytics summarized device count.
	DeviceCount *int `json:"deviceCount,omitempty"`
}

// UserExperienceAnalyticsDeviceStartupHistory The user experience analytics device startup history entity contains device boot performance history details.
type UserExperienceAnalyticsDeviceStartupHistory struct {
	// Entity is the base model of UserExperienceAnalyticsDeviceStartupHistory
	Entity
	// DeviceID The user experience analytics device id.
	DeviceID *string `json:"deviceId,omitempty"`
	// StartTime The user experience analytics device boot start time.
	StartTime *time.Time `json:"startTime,omitempty"`
	// CoreBootTimeInMs The user experience analytics device core boot time in milliseconds.
	CoreBootTimeInMs *int `json:"coreBootTimeInMs,omitempty"`
	// GroupPolicyBootTimeInMs The User experience analytics Device group policy boot time in milliseconds.
	GroupPolicyBootTimeInMs *int `json:"groupPolicyBootTimeInMs,omitempty"`
	// FeatureUpdateBootTimeInMs The user experience analytics device feature update time in milliseconds.
	FeatureUpdateBootTimeInMs *int `json:"featureUpdateBootTimeInMs,omitempty"`
	// TotalBootTimeInMs The user experience analytics device total boot time in milliseconds.
	TotalBootTimeInMs *int `json:"totalBootTimeInMs,omitempty"`
	// GroupPolicyLoginTimeInMs The User experience analytics Device group policy login time in milliseconds.
	GroupPolicyLoginTimeInMs *int `json:"groupPolicyLoginTimeInMs,omitempty"`
	// CoreLoginTimeInMs The user experience analytics device core login time in milliseconds.
	CoreLoginTimeInMs *int `json:"coreLoginTimeInMs,omitempty"`
	// TotalLoginTimeInMs The user experience analytics device total login time in milliseconds.
	TotalLoginTimeInMs *int `json:"totalLoginTimeInMs,omitempty"`
	// IsFirstLogin The user experience analytics device first login.
	IsFirstLogin *bool `json:"isFirstLogin,omitempty"`
}

// UserExperienceAnalyticsInsight undocumented
type UserExperienceAnalyticsInsight struct {
	// Object is the base model of UserExperienceAnalyticsInsight
	Object
	// UserExperienceAnalyticsMetricID The unique identifier of the user experience analytics insight.
	UserExperienceAnalyticsMetricID *string `json:"userExperienceAnalyticsMetricId,omitempty"`
	// InsightID The unique identifier of the user experience analytics insight.
	InsightID *string `json:"insightId,omitempty"`
	// Values The value of the user experience analytics insight.
	Values []UserExperienceAnalyticsInsightValue `json:"values,omitempty"`
	// Severity The value of the user experience analytics insight.
	Severity *UserExperienceAnalyticsInsightSeverity `json:"severity,omitempty"`
}

// UserExperienceAnalyticsInsightValue undocumented
type UserExperienceAnalyticsInsightValue struct {
	// Object is the base model of UserExperienceAnalyticsInsightValue
	Object
}

// UserExperienceAnalyticsMetric The user experience analytics metric contains the score and units of a metric of a user experience anlaytics category.
type UserExperienceAnalyticsMetric struct {
	// Entity is the base model of UserExperienceAnalyticsMetric
	Entity
	// Value The value of the user experience analytics metric.
	Value *float64 `json:"value,omitempty"`
	// Unit The unit of the user experience analytics metric.
	Unit *string `json:"unit,omitempty"`
}

// UserExperienceAnalyticsOverview The user experience analytics overview entity contains the overall score and the scores and insights of every metric of all categories.
type UserExperienceAnalyticsOverview struct {
	// Entity is the base model of UserExperienceAnalyticsOverview
	Entity
	// Insights The user experience analytics insights.
	Insights []UserExperienceAnalyticsInsight `json:"insights,omitempty"`
}

// UserExperienceAnalyticsRegressionSummary The user experience analytics Regression Summary.
type UserExperienceAnalyticsRegressionSummary struct {
	// Entity is the base model of UserExperienceAnalyticsRegressionSummary
	Entity
	// ModelRegression undocumented
	ModelRegression []UserExperienceAnalyticsMetric `json:"modelRegression,omitempty"`
	// ManufacturerRegression undocumented
	ManufacturerRegression []UserExperienceAnalyticsMetric `json:"manufacturerRegression,omitempty"`
	// OperatingSystemRegression undocumented
	OperatingSystemRegression []UserExperienceAnalyticsMetric `json:"operatingSystemRegression,omitempty"`
}

// UserGovernanceCriteria undocumented
type UserGovernanceCriteria struct {
	// GovernanceCriteria is the base model of UserGovernanceCriteria
	GovernanceCriteria
	// UserID undocumented
	UserID *string `json:"userId,omitempty"`
}

// UserIdentity undocumented
type UserIdentity struct {
	// Object is the base model of UserIdentity
	Object
	// ID undocumented
	ID *string `json:"id,omitempty"`
	// DisplayName undocumented
	DisplayName *string `json:"displayName,omitempty"`
	// IPAddress undocumented
	IPAddress *string `json:"ipAddress,omitempty"`
	// UserPrincipalName undocumented
	UserPrincipalName *string `json:"userPrincipalName,omitempty"`
}

// UserInstallStateSummary Contains properties for the installation state summary for a user.
type UserInstallStateSummary struct {
	// Entity is the base model of UserInstallStateSummary
	Entity
	// UserName User name.
	UserName *string `json:"userName,omitempty"`
	// InstalledDeviceCount Installed Device Count.
	InstalledDeviceCount *int `json:"installedDeviceCount,omitempty"`
	// FailedDeviceCount Failed Device Count.
	FailedDeviceCount *int `json:"failedDeviceCount,omitempty"`
	// NotInstalledDeviceCount Not installed device count.
	NotInstalledDeviceCount *int `json:"notInstalledDeviceCount,omitempty"`
	// DeviceStates undocumented
	DeviceStates []DeviceInstallState `json:"deviceStates,omitempty"`
}

// UserPFXCertificate Entity that encapsulates all information required for a user's PFX certificates.
type UserPFXCertificate struct {
	// Entity is the base model of UserPFXCertificate
	Entity
	// Thumbprint SHA-1 thumbprint of the PFX certificate.
	Thumbprint *string `json:"thumbprint,omitempty"`
	// IntendedPurpose Certificate's intended purpose from the point-of-view of deployment.
	IntendedPurpose *UserPfxIntendedPurpose `json:"intendedPurpose,omitempty"`
	// UserPrincipalName User Principal Name of the PFX certificate.
	UserPrincipalName *string `json:"userPrincipalName,omitempty"`
	// StartDateTime Certificate's validity start date/time.
	StartDateTime *time.Time `json:"startDateTime,omitempty"`
	// ExpirationDateTime Certificate's validity expiration date/time.
	ExpirationDateTime *time.Time `json:"expirationDateTime,omitempty"`
	// ProviderName Crypto provider used to encrypt this blob.
	ProviderName *string `json:"providerName,omitempty"`
	// KeyName Name of the key (within the provider) used to encrypt the blob.
	KeyName *string `json:"keyName,omitempty"`
	// PaddingScheme Padding scheme used by the provider during encryption/decryption.
	PaddingScheme *UserPfxPaddingScheme `json:"paddingScheme,omitempty"`
	// EncryptedPfxBlob Encrypted PFX blob.
	EncryptedPfxBlob *Binary `json:"encryptedPfxBlob,omitempty"`
	// EncryptedPfxPassword Encrypted PFX password.
	EncryptedPfxPassword *string `json:"encryptedPfxPassword,omitempty"`
	// CreatedDateTime Date/time when this PFX certificate was imported.
	CreatedDateTime *time.Time `json:"createdDateTime,omitempty"`
	// LastModifiedDateTime Date/time when this PFX certificate was last modified.
	LastModifiedDateTime *time.Time `json:"lastModifiedDateTime,omitempty"`
}

// UserRegistrationCount undocumented
type UserRegistrationCount struct {
	// Object is the base model of UserRegistrationCount
	Object
	// RegistrationStatus undocumented
	RegistrationStatus *RegistrationStatusType `json:"registrationStatus,omitempty"`
	// RegistrationCount undocumented
	RegistrationCount *int `json:"registrationCount,omitempty"`
}

// UserSecurityProfile undocumented
type UserSecurityProfile struct {
	// Entity is the base model of UserSecurityProfile
	Entity
	// Accounts undocumented
	Accounts []UserAccount `json:"accounts,omitempty"`
	// AzureSubscriptionID undocumented
	AzureSubscriptionID *string `json:"azureSubscriptionId,omitempty"`
	// AzureTenantID undocumented
	AzureTenantID *string `json:"azureTenantId,omitempty"`
	// CreatedDateTime undocumented
	CreatedDateTime *time.Time `json:"createdDateTime,omitempty"`
	// DisplayName undocumented
	DisplayName *string `json:"displayName,omitempty"`
	// LastModifiedDateTime undocumented
	LastModifiedDateTime *time.Time `json:"lastModifiedDateTime,omitempty"`
	// RiskScore undocumented
	RiskScore *string `json:"riskScore,omitempty"`
	// Tags undocumented
	Tags []string `json:"tags,omitempty"`
	// UserPrincipalName undocumented
	UserPrincipalName *string `json:"userPrincipalName,omitempty"`
	// VendorInformation undocumented
	VendorInformation *SecurityVendorInformation `json:"vendorInformation,omitempty"`
}

// UserSecurityState undocumented
type UserSecurityState struct {
	// Object is the base model of UserSecurityState
	Object
	// AadUserID undocumented
	AadUserID *string `json:"aadUserId,omitempty"`
	// AccountName undocumented
	AccountName *string `json:"accountName,omitempty"`
	// DomainName undocumented
	DomainName *string `json:"domainName,omitempty"`
	// EmailRole undocumented
	EmailRole *EmailRole `json:"emailRole,omitempty"`
	// IsVPN undocumented
	IsVPN *bool `json:"isVpn,omitempty"`
	// LogonDateTime undocumented
	LogonDateTime *time.Time `json:"logonDateTime,omitempty"`
	// LogonID undocumented
	LogonID *string `json:"logonId,omitempty"`
	// LogonIP undocumented
	LogonIP *string `json:"logonIp,omitempty"`
	// LogonLocation undocumented
	LogonLocation *string `json:"logonLocation,omitempty"`
	// LogonType undocumented
	LogonType *LogonType `json:"logonType,omitempty"`
	// OnPremisesSecurityIdentifier undocumented
	OnPremisesSecurityIdentifier *string `json:"onPremisesSecurityIdentifier,omitempty"`
	// RiskScore undocumented
	RiskScore *string `json:"riskScore,omitempty"`
	// UserAccountType undocumented
	UserAccountType *UserAccountSecurityType `json:"userAccountType,omitempty"`
	// UserPrincipalName undocumented
	UserPrincipalName *string `json:"userPrincipalName,omitempty"`
}

// UserSettings undocumented
type UserSettings struct {
	// Entity is the base model of UserSettings
	Entity
	// ContributionToContentDiscoveryDisabled undocumented
	ContributionToContentDiscoveryDisabled *bool `json:"contributionToContentDiscoveryDisabled,omitempty"`
	// ContributionToContentDiscoveryAsOrganizationDisabled undocumented
	ContributionToContentDiscoveryAsOrganizationDisabled *bool `json:"contributionToContentDiscoveryAsOrganizationDisabled,omitempty"`
}

// UserTeamwork undocumented
type UserTeamwork struct {
	// Entity is the base model of UserTeamwork
	Entity
	// InstalledApps undocumented
	InstalledApps []TeamsAppInstallation `json:"installedApps,omitempty"`
}