// Code generated by msgraph.go/gen DO NOT EDIT.

package msgraph

import "time"

// SignIn undocumented
type SignIn struct {
	// Entity is the base model of SignIn
	Entity
	// AlternateSignInName undocumented
	AlternateSignInName *string `json:"alternateSignInName,omitempty"`
	// AppDisplayName undocumented
	AppDisplayName *string `json:"appDisplayName,omitempty"`
	// AppID undocumented
	AppID *string `json:"appId,omitempty"`
	// AppliedConditionalAccessPolicies undocumented
	AppliedConditionalAccessPolicies []AppliedConditionalAccessPolicy `json:"appliedConditionalAccessPolicies,omitempty"`
	// AuthenticationDetails undocumented
	AuthenticationDetails []AuthenticationDetail `json:"authenticationDetails,omitempty"`
	// AuthenticationMethodsUsed undocumented
	AuthenticationMethodsUsed []string `json:"authenticationMethodsUsed,omitempty"`
	// AuthenticationProcessingDetails undocumented
	AuthenticationProcessingDetails []KeyValue `json:"authenticationProcessingDetails,omitempty"`
	// AuthenticationRequirementPolicies undocumented
	AuthenticationRequirementPolicies []AuthenticationRequirementPolicy `json:"authenticationRequirementPolicies,omitempty"`
	// ClientAppUsed undocumented
	ClientAppUsed *string `json:"clientAppUsed,omitempty"`
	// ConditionalAccessStatus undocumented
	ConditionalAccessStatus *ConditionalAccessStatus `json:"conditionalAccessStatus,omitempty"`
	// CorrelationID undocumented
	CorrelationID *string `json:"correlationId,omitempty"`
	// CreatedDateTime undocumented
	CreatedDateTime *time.Time `json:"createdDateTime,omitempty"`
	// DeviceDetail undocumented
	DeviceDetail *DeviceDetail `json:"deviceDetail,omitempty"`
	// IsInteractive undocumented
	IsInteractive *bool `json:"isInteractive,omitempty"`
	// IPAddress undocumented
	IPAddress *string `json:"ipAddress,omitempty"`
	// Location undocumented
	Location *SignInLocation `json:"location,omitempty"`
	// MFADetail undocumented
	MFADetail *MFADetail `json:"mfaDetail,omitempty"`
	// NetworkLocationDetails undocumented
	NetworkLocationDetails []NetworkLocationDetail `json:"networkLocationDetails,omitempty"`
	// OriginalRequestID undocumented
	OriginalRequestID *string `json:"originalRequestId,omitempty"`
	// ProcessingTimeInMilliseconds undocumented
	ProcessingTimeInMilliseconds *int `json:"processingTimeInMilliseconds,omitempty"`
	// RiskDetail undocumented
	RiskDetail *RiskDetail `json:"riskDetail,omitempty"`
	// RiskEventTypes undocumented
	RiskEventTypes []RiskEventType `json:"riskEventTypes,omitempty"`
	// RiskLevelAggregated undocumented
	RiskLevelAggregated *RiskLevel `json:"riskLevelAggregated,omitempty"`
	// RiskLevelDuringSignIn undocumented
	RiskLevelDuringSignIn *RiskLevel `json:"riskLevelDuringSignIn,omitempty"`
	// RiskState undocumented
	RiskState *RiskState `json:"riskState,omitempty"`
	// ResourceDisplayName undocumented
	ResourceDisplayName *string `json:"resourceDisplayName,omitempty"`
	// ResourceID undocumented
	ResourceID *string `json:"resourceId,omitempty"`
	// ServicePrincipalID undocumented
	ServicePrincipalID *string `json:"servicePrincipalId,omitempty"`
	// ServicePrincipalName undocumented
	ServicePrincipalName *string `json:"servicePrincipalName,omitempty"`
	// Status undocumented
	Status *SignInStatus `json:"status,omitempty"`
	// TokenIssuerName undocumented
	TokenIssuerName *string `json:"tokenIssuerName,omitempty"`
	// TokenIssuerType undocumented
	TokenIssuerType *TokenIssuerType `json:"tokenIssuerType,omitempty"`
	// UserAgent undocumented
	UserAgent *string `json:"userAgent,omitempty"`
	// UserDisplayName undocumented
	UserDisplayName *string `json:"userDisplayName,omitempty"`
	// UserID undocumented
	UserID *string `json:"userId,omitempty"`
	// UserPrincipalName undocumented
	UserPrincipalName *string `json:"userPrincipalName,omitempty"`
}

// SignInActivity undocumented
type SignInActivity struct {
	// Object is the base model of SignInActivity
	Object
	// LastSignInDateTime undocumented
	LastSignInDateTime *time.Time `json:"lastSignInDateTime,omitempty"`
	// LastSignInRequestID undocumented
	LastSignInRequestID *string `json:"lastSignInRequestId,omitempty"`
}

// SignInFrequencySessionControl undocumented
type SignInFrequencySessionControl struct {
	// ConditionalAccessSessionControl is the base model of SignInFrequencySessionControl
	ConditionalAccessSessionControl
	// Value undocumented
	Value *int `json:"value,omitempty"`
	// Type undocumented
	Type *SigninFrequencyType `json:"type,omitempty"`
}

// SignInLocation undocumented
type SignInLocation struct {
	// Object is the base model of SignInLocation
	Object
	// City undocumented
	City *string `json:"city,omitempty"`
	// State undocumented
	State *string `json:"state,omitempty"`
	// CountryOrRegion undocumented
	CountryOrRegion *string `json:"countryOrRegion,omitempty"`
	// GeoCoordinates undocumented
	GeoCoordinates *GeoCoordinates `json:"geoCoordinates,omitempty"`
}

// SignInStatus undocumented
type SignInStatus struct {
	// Object is the base model of SignInStatus
	Object
	// ErrorCode undocumented
	ErrorCode *int `json:"errorCode,omitempty"`
	// FailureReason undocumented
	FailureReason *string `json:"failureReason,omitempty"`
	// AdditionalDetails undocumented
	AdditionalDetails *string `json:"additionalDetails,omitempty"`
}