// Code generated by msgraph.go/gen 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"`
}
