// Code generated by msgraph-generate.go DO NOT EDIT.

package msgraph

import "time"

// Application undocumented
type Application struct {
	// DirectoryObject is the base model of Application
	DirectoryObject
	// API undocumented
	API *APIApplication `json:"api,omitempty"`
	// AppID undocumented
	AppID *string `json:"appId,omitempty"`
	// AppRoles undocumented
	AppRoles []AppRole `json:"appRoles,omitempty"`
	// CreatedDateTime undocumented
	CreatedDateTime *time.Time `json:"createdDateTime,omitempty"`
	// IsFallbackPublicClient undocumented
	IsFallbackPublicClient *bool `json:"isFallbackPublicClient,omitempty"`
	// IdentifierUris undocumented
	IdentifierUris []string `json:"identifierUris,omitempty"`
	// DisplayName undocumented
	DisplayName *string `json:"displayName,omitempty"`
	// GroupMembershipClaims undocumented
	GroupMembershipClaims *string `json:"groupMembershipClaims,omitempty"`
	// Info undocumented
	Info *InformationalURL `json:"info,omitempty"`
	// IsDeviceOnlyAuthSupported undocumented
	IsDeviceOnlyAuthSupported *bool `json:"isDeviceOnlyAuthSupported,omitempty"`
	// KeyCredentials undocumented
	KeyCredentials []KeyCredential `json:"keyCredentials,omitempty"`
	// Logo undocumented
	Logo *Stream `json:"logo,omitempty"`
	// OptionalClaims undocumented
	OptionalClaims *OptionalClaims `json:"optionalClaims,omitempty"`
	// ParentalControlSettings undocumented
	ParentalControlSettings *ParentalControlSettings `json:"parentalControlSettings,omitempty"`
	// PasswordCredentials undocumented
	PasswordCredentials []PasswordCredential `json:"passwordCredentials,omitempty"`
	// PublicClient undocumented
	PublicClient *PublicClientApplication `json:"publicClient,omitempty"`
	// PublisherDomain undocumented
	PublisherDomain *string `json:"publisherDomain,omitempty"`
	// RequiredResourceAccess undocumented
	RequiredResourceAccess []RequiredResourceAccess `json:"requiredResourceAccess,omitempty"`
	// SignInAudience undocumented
	SignInAudience *string `json:"signInAudience,omitempty"`
	// Tags undocumented
	Tags []string `json:"tags,omitempty"`
	// TokenEncryptionKeyID undocumented
	TokenEncryptionKeyID *UUID `json:"tokenEncryptionKeyId,omitempty"`
	// Web undocumented
	Web *WebApplication `json:"web,omitempty"`
	// ExtensionProperties undocumented
	ExtensionProperties []ExtensionProperty `json:"extensionProperties,omitempty"`
	// CreatedOnBehalfOf undocumented
	CreatedOnBehalfOf *DirectoryObject `json:"createdOnBehalfOf,omitempty"`
	// Owners undocumented
	Owners []DirectoryObject `json:"owners,omitempty"`
	// Policies undocumented
	Policies []DirectoryObject `json:"policies,omitempty"`
	// Synchronization undocumented
	Synchronization *Synchronization `json:"synchronization,omitempty"`
}

// ApplicationEnforcedRestrictionsSessionControl undocumented
type ApplicationEnforcedRestrictionsSessionControl struct {
	// ConditionalAccessSessionControl is the base model of ApplicationEnforcedRestrictionsSessionControl
	ConditionalAccessSessionControl
}

// ApplicationServicePrincipal undocumented
type ApplicationServicePrincipal struct {
	// Object is the base model of ApplicationServicePrincipal
	Object
	// Application undocumented
	Application *Application `json:"application,omitempty"`
	// ServicePrincipal undocumented
	ServicePrincipal *ServicePrincipal `json:"servicePrincipal,omitempty"`
}

// ApplicationSignInDetailedSummary undocumented
type ApplicationSignInDetailedSummary struct {
	// Entity is the base model of ApplicationSignInDetailedSummary
	Entity
	// AppID undocumented
	AppID *string `json:"appId,omitempty"`
	// AppDisplayName undocumented
	AppDisplayName *string `json:"appDisplayName,omitempty"`
	// Status undocumented
	Status *SignInStatus `json:"status,omitempty"`
	// SignInCount undocumented
	SignInCount *int `json:"signInCount,omitempty"`
	// AggregatedEventDateTime undocumented
	AggregatedEventDateTime *time.Time `json:"aggregatedEventDateTime,omitempty"`
}

// ApplicationSignInSummary undocumented
type ApplicationSignInSummary struct {
	// Entity is the base model of ApplicationSignInSummary
	Entity
	// AppDisplayName undocumented
	AppDisplayName *string `json:"appDisplayName,omitempty"`
	// SuccessfulSignInCount undocumented
	SuccessfulSignInCount *int `json:"successfulSignInCount,omitempty"`
	// FailedSignInCount undocumented
	FailedSignInCount *int `json:"failedSignInCount,omitempty"`
	// SuccessPercentage undocumented
	SuccessPercentage *float64 `json:"successPercentage,omitempty"`
}

// ApplicationTemplate undocumented
type ApplicationTemplate struct {
	// Entity is the base model of ApplicationTemplate
	Entity
	// DisplayName undocumented
	DisplayName *string `json:"displayName,omitempty"`
	// HomePageURL undocumented
	HomePageURL *string `json:"homePageUrl,omitempty"`
	// SupportedSingleSignOnModes undocumented
	SupportedSingleSignOnModes []string `json:"supportedSingleSignOnModes,omitempty"`
	// SupportedProvisioningTypes undocumented
	SupportedProvisioningTypes []string `json:"supportedProvisioningTypes,omitempty"`
	// LogoURL undocumented
	LogoURL *string `json:"logoUrl,omitempty"`
	// Categories undocumented
	Categories []string `json:"categories,omitempty"`
	// Publisher undocumented
	Publisher *string `json:"publisher,omitempty"`
	// Description undocumented
	Description *string `json:"description,omitempty"`
}
