github.com/yaegashi/msgraph.go@v0.1.4/v1.0/ModelDevice.go (about)

     1  // Code generated by msgraph.go/gen DO NOT EDIT.
     2  
     3  package msgraph
     4  
     5  import "time"
     6  
     7  // Device undocumented
     8  type Device struct {
     9  	// DirectoryObject is the base model of Device
    10  	DirectoryObject
    11  	// AccountEnabled undocumented
    12  	AccountEnabled *bool `json:"accountEnabled,omitempty"`
    13  	// AlternativeSecurityIDs undocumented
    14  	AlternativeSecurityIDs []AlternativeSecurityID `json:"alternativeSecurityIds,omitempty"`
    15  	// ApproximateLastSignInDateTime undocumented
    16  	ApproximateLastSignInDateTime *time.Time `json:"approximateLastSignInDateTime,omitempty"`
    17  	// ComplianceExpirationDateTime undocumented
    18  	ComplianceExpirationDateTime *time.Time `json:"complianceExpirationDateTime,omitempty"`
    19  	// DeviceID undocumented
    20  	DeviceID *string `json:"deviceId,omitempty"`
    21  	// DeviceMetadata undocumented
    22  	DeviceMetadata *string `json:"deviceMetadata,omitempty"`
    23  	// DeviceVersion undocumented
    24  	DeviceVersion *int `json:"deviceVersion,omitempty"`
    25  	// DisplayName undocumented
    26  	DisplayName *string `json:"displayName,omitempty"`
    27  	// IsCompliant undocumented
    28  	IsCompliant *bool `json:"isCompliant,omitempty"`
    29  	// IsManaged undocumented
    30  	IsManaged *bool `json:"isManaged,omitempty"`
    31  	// MDMAppID undocumented
    32  	MDMAppID *string `json:"mdmAppId,omitempty"`
    33  	// OnPremisesLastSyncDateTime undocumented
    34  	OnPremisesLastSyncDateTime *time.Time `json:"onPremisesLastSyncDateTime,omitempty"`
    35  	// OnPremisesSyncEnabled undocumented
    36  	OnPremisesSyncEnabled *bool `json:"onPremisesSyncEnabled,omitempty"`
    37  	// OperatingSystem undocumented
    38  	OperatingSystem *string `json:"operatingSystem,omitempty"`
    39  	// OperatingSystemVersion undocumented
    40  	OperatingSystemVersion *string `json:"operatingSystemVersion,omitempty"`
    41  	// PhysicalIDs undocumented
    42  	PhysicalIDs []string `json:"physicalIds,omitempty"`
    43  	// ProfileType undocumented
    44  	ProfileType *string `json:"profileType,omitempty"`
    45  	// SystemLabels undocumented
    46  	SystemLabels []string `json:"systemLabels,omitempty"`
    47  	// TrustType undocumented
    48  	TrustType *string `json:"trustType,omitempty"`
    49  	// MemberOf undocumented
    50  	MemberOf []DirectoryObject `json:"memberOf,omitempty"`
    51  	// RegisteredOwners undocumented
    52  	RegisteredOwners []DirectoryObject `json:"registeredOwners,omitempty"`
    53  	// RegisteredUsers undocumented
    54  	RegisteredUsers []DirectoryObject `json:"registeredUsers,omitempty"`
    55  	// TransitiveMemberOf undocumented
    56  	TransitiveMemberOf []DirectoryObject `json:"transitiveMemberOf,omitempty"`
    57  	// Extensions undocumented
    58  	Extensions []Extension `json:"extensions,omitempty"`
    59  }
    60  
    61  // DeviceActionResult undocumented
    62  type DeviceActionResult struct {
    63  	// Object is the base model of DeviceActionResult
    64  	Object
    65  	// ActionName Action name
    66  	ActionName *string `json:"actionName,omitempty"`
    67  	// ActionState State of the action
    68  	ActionState *ActionState `json:"actionState,omitempty"`
    69  	// StartDateTime Time the action was initiated
    70  	StartDateTime *time.Time `json:"startDateTime,omitempty"`
    71  	// LastUpdatedDateTime Time the action state was last updated
    72  	LastUpdatedDateTime *time.Time `json:"lastUpdatedDateTime,omitempty"`
    73  }
    74  
    75  // DeviceAndAppManagementAssignmentTarget undocumented
    76  type DeviceAndAppManagementAssignmentTarget struct {
    77  	// Object is the base model of DeviceAndAppManagementAssignmentTarget
    78  	Object
    79  }
    80  
    81  // DeviceAndAppManagementRoleAssignment The Role Assignment resource. Role assignments tie together a role definition with members and scopes. There can be one or more role assignments per role. This applies to custom and built-in roles.
    82  type DeviceAndAppManagementRoleAssignment struct {
    83  	// RoleAssignment is the base model of DeviceAndAppManagementRoleAssignment
    84  	RoleAssignment
    85  	// Members The list of ids of role member security groups. These are IDs from Azure Active Directory.
    86  	Members []string `json:"members,omitempty"`
    87  }
    88  
    89  // DeviceAndAppManagementRoleDefinition The Role Definition resource. The role definition is the foundation of role based access in Intune. The role combines an Intune resource such as a Mobile App and associated role permissions such as Create or Read for the resource. There are two types of roles, built-in and custom. Built-in roles cannot be modified. Both built-in roles and custom roles must have assignments to be enforced. Create custom roles if you want to define a role that allows any of the available resources and role permissions to be combined into a single role.
    90  type DeviceAndAppManagementRoleDefinition struct {
    91  	// RoleDefinition is the base model of DeviceAndAppManagementRoleDefinition
    92  	RoleDefinition
    93  }
    94  
    95  // DeviceAppManagement Device app management singleton entity.
    96  type DeviceAppManagement struct {
    97  	// Entity is the base model of DeviceAppManagement
    98  	Entity
    99  	// MicrosoftStoreForBusinessLastSuccessfulSyncDateTime The last time the apps from the Microsoft Store for Business were synced successfully for the account.
   100  	MicrosoftStoreForBusinessLastSuccessfulSyncDateTime *time.Time `json:"microsoftStoreForBusinessLastSuccessfulSyncDateTime,omitempty"`
   101  	// IsEnabledForMicrosoftStoreForBusiness Whether the account is enabled for syncing applications from the Microsoft Store for Business.
   102  	IsEnabledForMicrosoftStoreForBusiness *bool `json:"isEnabledForMicrosoftStoreForBusiness,omitempty"`
   103  	// MicrosoftStoreForBusinessLanguage The locale information used to sync applications from the Microsoft Store for Business. Cultures that are specific to a country/region. The names of these cultures follow RFC 4646 (Windows Vista and later). The format is <languagecode2>-<country/regioncode2>, where <languagecode2> is a lowercase two-letter code derived from ISO 639-1 and <country/regioncode2> is an uppercase two-letter code derived from ISO 3166. For example, en-US for English (United States) is a specific culture.
   104  	MicrosoftStoreForBusinessLanguage *string `json:"microsoftStoreForBusinessLanguage,omitempty"`
   105  	// MicrosoftStoreForBusinessLastCompletedApplicationSyncTime The last time an application sync from the Microsoft Store for Business was completed.
   106  	MicrosoftStoreForBusinessLastCompletedApplicationSyncTime *time.Time `json:"microsoftStoreForBusinessLastCompletedApplicationSyncTime,omitempty"`
   107  	// ManagedEBooks undocumented
   108  	ManagedEBooks []ManagedEBook `json:"managedEBooks,omitempty"`
   109  	// MobileApps undocumented
   110  	MobileApps []MobileApp `json:"mobileApps,omitempty"`
   111  	// MobileAppCategories undocumented
   112  	MobileAppCategories []MobileAppCategory `json:"mobileAppCategories,omitempty"`
   113  	// MobileAppConfigurations undocumented
   114  	MobileAppConfigurations []ManagedDeviceMobileAppConfiguration `json:"mobileAppConfigurations,omitempty"`
   115  	// VPPTokens undocumented
   116  	VPPTokens []VPPToken `json:"vppTokens,omitempty"`
   117  	// ManagedAppPolicies undocumented
   118  	ManagedAppPolicies []ManagedAppPolicy `json:"managedAppPolicies,omitempty"`
   119  	// IOSManagedAppProtections undocumented
   120  	IOSManagedAppProtections []IOSManagedAppProtection `json:"iosManagedAppProtections,omitempty"`
   121  	// AndroidManagedAppProtections undocumented
   122  	AndroidManagedAppProtections []AndroidManagedAppProtection `json:"androidManagedAppProtections,omitempty"`
   123  	// DefaultManagedAppProtections undocumented
   124  	DefaultManagedAppProtections []DefaultManagedAppProtection `json:"defaultManagedAppProtections,omitempty"`
   125  	// TargetedManagedAppConfigurations undocumented
   126  	TargetedManagedAppConfigurations []TargetedManagedAppConfiguration `json:"targetedManagedAppConfigurations,omitempty"`
   127  	// MDMWindowsInformationProtectionPolicies undocumented
   128  	MDMWindowsInformationProtectionPolicies []MDMWindowsInformationProtectionPolicy `json:"mdmWindowsInformationProtectionPolicies,omitempty"`
   129  	// WindowsInformationProtectionPolicies undocumented
   130  	WindowsInformationProtectionPolicies []WindowsInformationProtectionPolicy `json:"windowsInformationProtectionPolicies,omitempty"`
   131  	// ManagedAppRegistrations undocumented
   132  	ManagedAppRegistrations []ManagedAppRegistration `json:"managedAppRegistrations,omitempty"`
   133  	// ManagedAppStatuses undocumented
   134  	ManagedAppStatuses []ManagedAppStatus `json:"managedAppStatuses,omitempty"`
   135  }
   136  
   137  // DeviceCategory Device categories provides a way to organize your devices. Using device categories, company administrators can define their own categories that make sense to their company. These categories can then be applied to a device in the Intune Azure console or selected by a user during device enrollment. You can filter reports and create dynamic Azure Active Directory device groups based on device categories.
   138  type DeviceCategory struct {
   139  	// Entity is the base model of DeviceCategory
   140  	Entity
   141  	// DisplayName Display name for the device category.
   142  	DisplayName *string `json:"displayName,omitempty"`
   143  	// Description Optional description for the device category.
   144  	Description *string `json:"description,omitempty"`
   145  }
   146  
   147  // DeviceComplianceActionItem Scheduled Action Configuration
   148  type DeviceComplianceActionItem struct {
   149  	// Entity is the base model of DeviceComplianceActionItem
   150  	Entity
   151  	// GracePeriodHours Number of hours to wait till the action will be enforced. Valid values 0 to 8760
   152  	GracePeriodHours *int `json:"gracePeriodHours,omitempty"`
   153  	// ActionType What action to take
   154  	ActionType *DeviceComplianceActionType `json:"actionType,omitempty"`
   155  	// NotificationTemplateID What notification Message template to use
   156  	NotificationTemplateID *string `json:"notificationTemplateId,omitempty"`
   157  	// NotificationMessageCCList A list of group IDs to speicify who to CC this notification message to.
   158  	NotificationMessageCCList []string `json:"notificationMessageCCList,omitempty"`
   159  }
   160  
   161  // DeviceComplianceDeviceOverview undocumented
   162  type DeviceComplianceDeviceOverview struct {
   163  	// Entity is the base model of DeviceComplianceDeviceOverview
   164  	Entity
   165  	// PendingCount Number of pending devices
   166  	PendingCount *int `json:"pendingCount,omitempty"`
   167  	// NotApplicableCount Number of not applicable devices
   168  	NotApplicableCount *int `json:"notApplicableCount,omitempty"`
   169  	// SuccessCount Number of succeeded devices
   170  	SuccessCount *int `json:"successCount,omitempty"`
   171  	// ErrorCount Number of error devices
   172  	ErrorCount *int `json:"errorCount,omitempty"`
   173  	// FailedCount Number of failed devices
   174  	FailedCount *int `json:"failedCount,omitempty"`
   175  	// LastUpdateDateTime Last update time
   176  	LastUpdateDateTime *time.Time `json:"lastUpdateDateTime,omitempty"`
   177  	// ConfigurationVersion Version of the policy for that overview
   178  	ConfigurationVersion *int `json:"configurationVersion,omitempty"`
   179  }
   180  
   181  // DeviceComplianceDeviceStatus undocumented
   182  type DeviceComplianceDeviceStatus struct {
   183  	// Entity is the base model of DeviceComplianceDeviceStatus
   184  	Entity
   185  	// DeviceDisplayName Device name of the DevicePolicyStatus.
   186  	DeviceDisplayName *string `json:"deviceDisplayName,omitempty"`
   187  	// UserName The User Name that is being reported
   188  	UserName *string `json:"userName,omitempty"`
   189  	// DeviceModel The device model that is being reported
   190  	DeviceModel *string `json:"deviceModel,omitempty"`
   191  	// ComplianceGracePeriodExpirationDateTime The DateTime when device compliance grace period expires
   192  	ComplianceGracePeriodExpirationDateTime *time.Time `json:"complianceGracePeriodExpirationDateTime,omitempty"`
   193  	// Status Compliance status of the policy report.
   194  	Status *ComplianceStatus `json:"status,omitempty"`
   195  	// LastReportedDateTime Last modified date time of the policy report.
   196  	LastReportedDateTime *time.Time `json:"lastReportedDateTime,omitempty"`
   197  	// UserPrincipalName UserPrincipalName.
   198  	UserPrincipalName *string `json:"userPrincipalName,omitempty"`
   199  }
   200  
   201  // DeviceCompliancePolicy This is the base class for Compliance policy. Compliance policies are platform specific and individual per-platform compliance policies inherit from here.
   202  type DeviceCompliancePolicy struct {
   203  	// Entity is the base model of DeviceCompliancePolicy
   204  	Entity
   205  	// CreatedDateTime DateTime the object was created.
   206  	CreatedDateTime *time.Time `json:"createdDateTime,omitempty"`
   207  	// Description Admin provided description of the Device Configuration.
   208  	Description *string `json:"description,omitempty"`
   209  	// LastModifiedDateTime DateTime the object was last modified.
   210  	LastModifiedDateTime *time.Time `json:"lastModifiedDateTime,omitempty"`
   211  	// DisplayName Admin provided name of the device configuration.
   212  	DisplayName *string `json:"displayName,omitempty"`
   213  	// Version Version of the device configuration.
   214  	Version *int `json:"version,omitempty"`
   215  	// ScheduledActionsForRule undocumented
   216  	ScheduledActionsForRule []DeviceComplianceScheduledActionForRule `json:"scheduledActionsForRule,omitempty"`
   217  	// DeviceStatuses undocumented
   218  	DeviceStatuses []DeviceComplianceDeviceStatus `json:"deviceStatuses,omitempty"`
   219  	// UserStatuses undocumented
   220  	UserStatuses []DeviceComplianceUserStatus `json:"userStatuses,omitempty"`
   221  	// DeviceStatusOverview undocumented
   222  	DeviceStatusOverview *DeviceComplianceDeviceOverview `json:"deviceStatusOverview,omitempty"`
   223  	// UserStatusOverview undocumented
   224  	UserStatusOverview *DeviceComplianceUserOverview `json:"userStatusOverview,omitempty"`
   225  	// DeviceSettingStateSummaries undocumented
   226  	DeviceSettingStateSummaries []SettingStateDeviceSummary `json:"deviceSettingStateSummaries,omitempty"`
   227  	// Assignments undocumented
   228  	Assignments []DeviceCompliancePolicyAssignment `json:"assignments,omitempty"`
   229  }
   230  
   231  // DeviceCompliancePolicyAssignment Device compliance policy assignment.
   232  type DeviceCompliancePolicyAssignment struct {
   233  	// Entity is the base model of DeviceCompliancePolicyAssignment
   234  	Entity
   235  	// Target Target for the compliance policy assignment.
   236  	Target *DeviceAndAppManagementAssignmentTarget `json:"target,omitempty"`
   237  }
   238  
   239  // DeviceCompliancePolicyDeviceStateSummary undocumented
   240  type DeviceCompliancePolicyDeviceStateSummary struct {
   241  	// Entity is the base model of DeviceCompliancePolicyDeviceStateSummary
   242  	Entity
   243  	// InGracePeriodCount Number of devices that are in grace period
   244  	InGracePeriodCount *int `json:"inGracePeriodCount,omitempty"`
   245  	// ConfigManagerCount Number of devices that have compliance managed by System Center Configuration Manager
   246  	ConfigManagerCount *int `json:"configManagerCount,omitempty"`
   247  	// UnknownDeviceCount Number of unknown devices
   248  	UnknownDeviceCount *int `json:"unknownDeviceCount,omitempty"`
   249  	// NotApplicableDeviceCount Number of not applicable devices
   250  	NotApplicableDeviceCount *int `json:"notApplicableDeviceCount,omitempty"`
   251  	// CompliantDeviceCount Number of compliant devices
   252  	CompliantDeviceCount *int `json:"compliantDeviceCount,omitempty"`
   253  	// RemediatedDeviceCount Number of remediated devices
   254  	RemediatedDeviceCount *int `json:"remediatedDeviceCount,omitempty"`
   255  	// NonCompliantDeviceCount Number of NonCompliant devices
   256  	NonCompliantDeviceCount *int `json:"nonCompliantDeviceCount,omitempty"`
   257  	// ErrorDeviceCount Number of error devices
   258  	ErrorDeviceCount *int `json:"errorDeviceCount,omitempty"`
   259  	// ConflictDeviceCount Number of conflict devices
   260  	ConflictDeviceCount *int `json:"conflictDeviceCount,omitempty"`
   261  }
   262  
   263  // DeviceCompliancePolicySettingState undocumented
   264  type DeviceCompliancePolicySettingState struct {
   265  	// Object is the base model of DeviceCompliancePolicySettingState
   266  	Object
   267  	// Setting The setting that is being reported
   268  	Setting *string `json:"setting,omitempty"`
   269  	// SettingName Localized/user friendly setting name that is being reported
   270  	SettingName *string `json:"settingName,omitempty"`
   271  	// InstanceDisplayName Name of setting instance that is being reported.
   272  	InstanceDisplayName *string `json:"instanceDisplayName,omitempty"`
   273  	// State The compliance state of the setting
   274  	State *ComplianceStatus `json:"state,omitempty"`
   275  	// ErrorCode Error code for the setting
   276  	ErrorCode *int `json:"errorCode,omitempty"`
   277  	// ErrorDescription Error description
   278  	ErrorDescription *string `json:"errorDescription,omitempty"`
   279  	// UserID UserId
   280  	UserID *string `json:"userId,omitempty"`
   281  	// UserName UserName
   282  	UserName *string `json:"userName,omitempty"`
   283  	// UserEmail UserEmail
   284  	UserEmail *string `json:"userEmail,omitempty"`
   285  	// UserPrincipalName UserPrincipalName.
   286  	UserPrincipalName *string `json:"userPrincipalName,omitempty"`
   287  	// Sources Contributing policies
   288  	Sources []SettingSource `json:"sources,omitempty"`
   289  	// CurrentValue Current value of setting on device
   290  	CurrentValue *string `json:"currentValue,omitempty"`
   291  }
   292  
   293  // DeviceCompliancePolicySettingStateSummary Device Compilance Policy Setting State summary across the account.
   294  type DeviceCompliancePolicySettingStateSummary struct {
   295  	// Entity is the base model of DeviceCompliancePolicySettingStateSummary
   296  	Entity
   297  	// Setting The setting class name and property name.
   298  	Setting *string `json:"setting,omitempty"`
   299  	// SettingName Name of the setting.
   300  	SettingName *string `json:"settingName,omitempty"`
   301  	// PlatformType Setting platform
   302  	PlatformType *PolicyPlatformType `json:"platformType,omitempty"`
   303  	// UnknownDeviceCount Number of unknown devices
   304  	UnknownDeviceCount *int `json:"unknownDeviceCount,omitempty"`
   305  	// NotApplicableDeviceCount Number of not applicable devices
   306  	NotApplicableDeviceCount *int `json:"notApplicableDeviceCount,omitempty"`
   307  	// CompliantDeviceCount Number of compliant devices
   308  	CompliantDeviceCount *int `json:"compliantDeviceCount,omitempty"`
   309  	// RemediatedDeviceCount Number of remediated devices
   310  	RemediatedDeviceCount *int `json:"remediatedDeviceCount,omitempty"`
   311  	// NonCompliantDeviceCount Number of NonCompliant devices
   312  	NonCompliantDeviceCount *int `json:"nonCompliantDeviceCount,omitempty"`
   313  	// ErrorDeviceCount Number of error devices
   314  	ErrorDeviceCount *int `json:"errorDeviceCount,omitempty"`
   315  	// ConflictDeviceCount Number of conflict devices
   316  	ConflictDeviceCount *int `json:"conflictDeviceCount,omitempty"`
   317  	// DeviceComplianceSettingStates undocumented
   318  	DeviceComplianceSettingStates []DeviceComplianceSettingState `json:"deviceComplianceSettingStates,omitempty"`
   319  }
   320  
   321  // DeviceCompliancePolicyState Device Compliance Policy State for a given device.
   322  type DeviceCompliancePolicyState struct {
   323  	// Entity is the base model of DeviceCompliancePolicyState
   324  	Entity
   325  	// SettingStates undocumented
   326  	SettingStates []DeviceCompliancePolicySettingState `json:"settingStates,omitempty"`
   327  	// DisplayName The name of the policy for this policyBase
   328  	DisplayName *string `json:"displayName,omitempty"`
   329  	// Version The version of the policy
   330  	Version *int `json:"version,omitempty"`
   331  	// PlatformType Platform type that the policy applies to
   332  	PlatformType *PolicyPlatformType `json:"platformType,omitempty"`
   333  	// State The compliance state of the policy
   334  	State *ComplianceStatus `json:"state,omitempty"`
   335  	// SettingCount Count of how many setting a policy holds
   336  	SettingCount *int `json:"settingCount,omitempty"`
   337  }
   338  
   339  // DeviceComplianceScheduledActionForRule Scheduled Action for Rule
   340  type DeviceComplianceScheduledActionForRule struct {
   341  	// Entity is the base model of DeviceComplianceScheduledActionForRule
   342  	Entity
   343  	// RuleName Name of the rule which this scheduled action applies to.
   344  	RuleName *string `json:"ruleName,omitempty"`
   345  	// ScheduledActionConfigurations undocumented
   346  	ScheduledActionConfigurations []DeviceComplianceActionItem `json:"scheduledActionConfigurations,omitempty"`
   347  }
   348  
   349  // DeviceComplianceSettingState Device compliance setting State for a given device.
   350  type DeviceComplianceSettingState struct {
   351  	// Entity is the base model of DeviceComplianceSettingState
   352  	Entity
   353  	// Setting The setting class name and property name.
   354  	Setting *string `json:"setting,omitempty"`
   355  	// SettingName The Setting Name that is being reported
   356  	SettingName *string `json:"settingName,omitempty"`
   357  	// DeviceID The Device Id that is being reported
   358  	DeviceID *string `json:"deviceId,omitempty"`
   359  	// DeviceName The Device Name that is being reported
   360  	DeviceName *string `json:"deviceName,omitempty"`
   361  	// UserID The user Id that is being reported
   362  	UserID *string `json:"userId,omitempty"`
   363  	// UserEmail The User email address that is being reported
   364  	UserEmail *string `json:"userEmail,omitempty"`
   365  	// UserName The User Name that is being reported
   366  	UserName *string `json:"userName,omitempty"`
   367  	// UserPrincipalName The User PrincipalName that is being reported
   368  	UserPrincipalName *string `json:"userPrincipalName,omitempty"`
   369  	// DeviceModel The device model that is being reported
   370  	DeviceModel *string `json:"deviceModel,omitempty"`
   371  	// State The compliance state of the setting
   372  	State *ComplianceStatus `json:"state,omitempty"`
   373  	// ComplianceGracePeriodExpirationDateTime The DateTime when device compliance grace period expires
   374  	ComplianceGracePeriodExpirationDateTime *time.Time `json:"complianceGracePeriodExpirationDateTime,omitempty"`
   375  }
   376  
   377  // DeviceComplianceUserOverview undocumented
   378  type DeviceComplianceUserOverview struct {
   379  	// Entity is the base model of DeviceComplianceUserOverview
   380  	Entity
   381  	// PendingCount Number of pending Users
   382  	PendingCount *int `json:"pendingCount,omitempty"`
   383  	// NotApplicableCount Number of not applicable users
   384  	NotApplicableCount *int `json:"notApplicableCount,omitempty"`
   385  	// SuccessCount Number of succeeded Users
   386  	SuccessCount *int `json:"successCount,omitempty"`
   387  	// ErrorCount Number of error Users
   388  	ErrorCount *int `json:"errorCount,omitempty"`
   389  	// FailedCount Number of failed Users
   390  	FailedCount *int `json:"failedCount,omitempty"`
   391  	// LastUpdateDateTime Last update time
   392  	LastUpdateDateTime *time.Time `json:"lastUpdateDateTime,omitempty"`
   393  	// ConfigurationVersion Version of the policy for that overview
   394  	ConfigurationVersion *int `json:"configurationVersion,omitempty"`
   395  }
   396  
   397  // DeviceComplianceUserStatus undocumented
   398  type DeviceComplianceUserStatus struct {
   399  	// Entity is the base model of DeviceComplianceUserStatus
   400  	Entity
   401  	// UserDisplayName User name of the DevicePolicyStatus.
   402  	UserDisplayName *string `json:"userDisplayName,omitempty"`
   403  	// DevicesCount Devices count for that user.
   404  	DevicesCount *int `json:"devicesCount,omitempty"`
   405  	// Status Compliance status of the policy report.
   406  	Status *ComplianceStatus `json:"status,omitempty"`
   407  	// LastReportedDateTime Last modified date time of the policy report.
   408  	LastReportedDateTime *time.Time `json:"lastReportedDateTime,omitempty"`
   409  	// UserPrincipalName UserPrincipalName.
   410  	UserPrincipalName *string `json:"userPrincipalName,omitempty"`
   411  }
   412  
   413  // DeviceConfiguration Device Configuration.
   414  type DeviceConfiguration struct {
   415  	// Entity is the base model of DeviceConfiguration
   416  	Entity
   417  	// LastModifiedDateTime DateTime the object was last modified.
   418  	LastModifiedDateTime *time.Time `json:"lastModifiedDateTime,omitempty"`
   419  	// CreatedDateTime DateTime the object was created.
   420  	CreatedDateTime *time.Time `json:"createdDateTime,omitempty"`
   421  	// Description Admin provided description of the Device Configuration.
   422  	Description *string `json:"description,omitempty"`
   423  	// DisplayName Admin provided name of the device configuration.
   424  	DisplayName *string `json:"displayName,omitempty"`
   425  	// Version Version of the device configuration.
   426  	Version *int `json:"version,omitempty"`
   427  	// Assignments undocumented
   428  	Assignments []DeviceConfigurationAssignment `json:"assignments,omitempty"`
   429  	// DeviceStatuses undocumented
   430  	DeviceStatuses []DeviceConfigurationDeviceStatus `json:"deviceStatuses,omitempty"`
   431  	// UserStatuses undocumented
   432  	UserStatuses []DeviceConfigurationUserStatus `json:"userStatuses,omitempty"`
   433  	// DeviceStatusOverview undocumented
   434  	DeviceStatusOverview *DeviceConfigurationDeviceOverview `json:"deviceStatusOverview,omitempty"`
   435  	// UserStatusOverview undocumented
   436  	UserStatusOverview *DeviceConfigurationUserOverview `json:"userStatusOverview,omitempty"`
   437  	// DeviceSettingStateSummaries undocumented
   438  	DeviceSettingStateSummaries []SettingStateDeviceSummary `json:"deviceSettingStateSummaries,omitempty"`
   439  }
   440  
   441  // DeviceConfigurationAssignment The device configuration assignment entity assigns an AAD group to a specific device configuration.
   442  type DeviceConfigurationAssignment struct {
   443  	// Entity is the base model of DeviceConfigurationAssignment
   444  	Entity
   445  	// Target The assignment target for the device configuration.
   446  	Target *DeviceAndAppManagementAssignmentTarget `json:"target,omitempty"`
   447  }
   448  
   449  // DeviceConfigurationDeviceOverview undocumented
   450  type DeviceConfigurationDeviceOverview struct {
   451  	// Entity is the base model of DeviceConfigurationDeviceOverview
   452  	Entity
   453  	// PendingCount Number of pending devices
   454  	PendingCount *int `json:"pendingCount,omitempty"`
   455  	// NotApplicableCount Number of not applicable devices
   456  	NotApplicableCount *int `json:"notApplicableCount,omitempty"`
   457  	// SuccessCount Number of succeeded devices
   458  	SuccessCount *int `json:"successCount,omitempty"`
   459  	// ErrorCount Number of error devices
   460  	ErrorCount *int `json:"errorCount,omitempty"`
   461  	// FailedCount Number of failed devices
   462  	FailedCount *int `json:"failedCount,omitempty"`
   463  	// LastUpdateDateTime Last update time
   464  	LastUpdateDateTime *time.Time `json:"lastUpdateDateTime,omitempty"`
   465  	// ConfigurationVersion Version of the policy for that overview
   466  	ConfigurationVersion *int `json:"configurationVersion,omitempty"`
   467  }
   468  
   469  // DeviceConfigurationDeviceStateSummary undocumented
   470  type DeviceConfigurationDeviceStateSummary struct {
   471  	// Entity is the base model of DeviceConfigurationDeviceStateSummary
   472  	Entity
   473  	// UnknownDeviceCount Number of unknown devices
   474  	UnknownDeviceCount *int `json:"unknownDeviceCount,omitempty"`
   475  	// NotApplicableDeviceCount Number of not applicable devices
   476  	NotApplicableDeviceCount *int `json:"notApplicableDeviceCount,omitempty"`
   477  	// CompliantDeviceCount Number of compliant devices
   478  	CompliantDeviceCount *int `json:"compliantDeviceCount,omitempty"`
   479  	// RemediatedDeviceCount Number of remediated devices
   480  	RemediatedDeviceCount *int `json:"remediatedDeviceCount,omitempty"`
   481  	// NonCompliantDeviceCount Number of NonCompliant devices
   482  	NonCompliantDeviceCount *int `json:"nonCompliantDeviceCount,omitempty"`
   483  	// ErrorDeviceCount Number of error devices
   484  	ErrorDeviceCount *int `json:"errorDeviceCount,omitempty"`
   485  	// ConflictDeviceCount Number of conflict devices
   486  	ConflictDeviceCount *int `json:"conflictDeviceCount,omitempty"`
   487  }
   488  
   489  // DeviceConfigurationDeviceStatus undocumented
   490  type DeviceConfigurationDeviceStatus struct {
   491  	// Entity is the base model of DeviceConfigurationDeviceStatus
   492  	Entity
   493  	// DeviceDisplayName Device name of the DevicePolicyStatus.
   494  	DeviceDisplayName *string `json:"deviceDisplayName,omitempty"`
   495  	// UserName The User Name that is being reported
   496  	UserName *string `json:"userName,omitempty"`
   497  	// DeviceModel The device model that is being reported
   498  	DeviceModel *string `json:"deviceModel,omitempty"`
   499  	// ComplianceGracePeriodExpirationDateTime The DateTime when device compliance grace period expires
   500  	ComplianceGracePeriodExpirationDateTime *time.Time `json:"complianceGracePeriodExpirationDateTime,omitempty"`
   501  	// Status Compliance status of the policy report.
   502  	Status *ComplianceStatus `json:"status,omitempty"`
   503  	// LastReportedDateTime Last modified date time of the policy report.
   504  	LastReportedDateTime *time.Time `json:"lastReportedDateTime,omitempty"`
   505  	// UserPrincipalName UserPrincipalName.
   506  	UserPrincipalName *string `json:"userPrincipalName,omitempty"`
   507  }
   508  
   509  // DeviceConfigurationSettingState undocumented
   510  type DeviceConfigurationSettingState struct {
   511  	// Object is the base model of DeviceConfigurationSettingState
   512  	Object
   513  	// Setting The setting that is being reported
   514  	Setting *string `json:"setting,omitempty"`
   515  	// SettingName Localized/user friendly setting name that is being reported
   516  	SettingName *string `json:"settingName,omitempty"`
   517  	// InstanceDisplayName Name of setting instance that is being reported.
   518  	InstanceDisplayName *string `json:"instanceDisplayName,omitempty"`
   519  	// State The compliance state of the setting
   520  	State *ComplianceStatus `json:"state,omitempty"`
   521  	// ErrorCode Error code for the setting
   522  	ErrorCode *int `json:"errorCode,omitempty"`
   523  	// ErrorDescription Error description
   524  	ErrorDescription *string `json:"errorDescription,omitempty"`
   525  	// UserID UserId
   526  	UserID *string `json:"userId,omitempty"`
   527  	// UserName UserName
   528  	UserName *string `json:"userName,omitempty"`
   529  	// UserEmail UserEmail
   530  	UserEmail *string `json:"userEmail,omitempty"`
   531  	// UserPrincipalName UserPrincipalName.
   532  	UserPrincipalName *string `json:"userPrincipalName,omitempty"`
   533  	// Sources Contributing policies
   534  	Sources []SettingSource `json:"sources,omitempty"`
   535  	// CurrentValue Current value of setting on device
   536  	CurrentValue *string `json:"currentValue,omitempty"`
   537  }
   538  
   539  // DeviceConfigurationState Device Configuration State for a given device.
   540  type DeviceConfigurationState struct {
   541  	// Entity is the base model of DeviceConfigurationState
   542  	Entity
   543  	// SettingStates undocumented
   544  	SettingStates []DeviceConfigurationSettingState `json:"settingStates,omitempty"`
   545  	// DisplayName The name of the policy for this policyBase
   546  	DisplayName *string `json:"displayName,omitempty"`
   547  	// Version The version of the policy
   548  	Version *int `json:"version,omitempty"`
   549  	// PlatformType Platform type that the policy applies to
   550  	PlatformType *PolicyPlatformType `json:"platformType,omitempty"`
   551  	// State The compliance state of the policy
   552  	State *ComplianceStatus `json:"state,omitempty"`
   553  	// SettingCount Count of how many setting a policy holds
   554  	SettingCount *int `json:"settingCount,omitempty"`
   555  }
   556  
   557  // DeviceConfigurationUserOverview undocumented
   558  type DeviceConfigurationUserOverview struct {
   559  	// Entity is the base model of DeviceConfigurationUserOverview
   560  	Entity
   561  	// PendingCount Number of pending Users
   562  	PendingCount *int `json:"pendingCount,omitempty"`
   563  	// NotApplicableCount Number of not applicable users
   564  	NotApplicableCount *int `json:"notApplicableCount,omitempty"`
   565  	// SuccessCount Number of succeeded Users
   566  	SuccessCount *int `json:"successCount,omitempty"`
   567  	// ErrorCount Number of error Users
   568  	ErrorCount *int `json:"errorCount,omitempty"`
   569  	// FailedCount Number of failed Users
   570  	FailedCount *int `json:"failedCount,omitempty"`
   571  	// LastUpdateDateTime Last update time
   572  	LastUpdateDateTime *time.Time `json:"lastUpdateDateTime,omitempty"`
   573  	// ConfigurationVersion Version of the policy for that overview
   574  	ConfigurationVersion *int `json:"configurationVersion,omitempty"`
   575  }
   576  
   577  // DeviceConfigurationUserStatus undocumented
   578  type DeviceConfigurationUserStatus struct {
   579  	// Entity is the base model of DeviceConfigurationUserStatus
   580  	Entity
   581  	// UserDisplayName User name of the DevicePolicyStatus.
   582  	UserDisplayName *string `json:"userDisplayName,omitempty"`
   583  	// DevicesCount Devices count for that user.
   584  	DevicesCount *int `json:"devicesCount,omitempty"`
   585  	// Status Compliance status of the policy report.
   586  	Status *ComplianceStatus `json:"status,omitempty"`
   587  	// LastReportedDateTime Last modified date time of the policy report.
   588  	LastReportedDateTime *time.Time `json:"lastReportedDateTime,omitempty"`
   589  	// UserPrincipalName UserPrincipalName.
   590  	UserPrincipalName *string `json:"userPrincipalName,omitempty"`
   591  }
   592  
   593  // DeviceDetail undocumented
   594  type DeviceDetail struct {
   595  	// Object is the base model of DeviceDetail
   596  	Object
   597  	// DeviceID undocumented
   598  	DeviceID *string `json:"deviceId,omitempty"`
   599  	// DisplayName undocumented
   600  	DisplayName *string `json:"displayName,omitempty"`
   601  	// OperatingSystem undocumented
   602  	OperatingSystem *string `json:"operatingSystem,omitempty"`
   603  	// Browser undocumented
   604  	Browser *string `json:"browser,omitempty"`
   605  	// IsCompliant undocumented
   606  	IsCompliant *bool `json:"isCompliant,omitempty"`
   607  	// IsManaged undocumented
   608  	IsManaged *bool `json:"isManaged,omitempty"`
   609  	// TrustType undocumented
   610  	TrustType *string `json:"trustType,omitempty"`
   611  }
   612  
   613  // DeviceEnrollmentConfiguration undocumented
   614  type DeviceEnrollmentConfiguration struct {
   615  	// Entity is the base model of DeviceEnrollmentConfiguration
   616  	Entity
   617  	// DisplayName undocumented
   618  	DisplayName *string `json:"displayName,omitempty"`
   619  	// Description undocumented
   620  	Description *string `json:"description,omitempty"`
   621  	// Priority undocumented
   622  	Priority *int `json:"priority,omitempty"`
   623  	// CreatedDateTime undocumented
   624  	CreatedDateTime *time.Time `json:"createdDateTime,omitempty"`
   625  	// LastModifiedDateTime undocumented
   626  	LastModifiedDateTime *time.Time `json:"lastModifiedDateTime,omitempty"`
   627  	// Version undocumented
   628  	Version *int `json:"version,omitempty"`
   629  	// Assignments undocumented
   630  	Assignments []EnrollmentConfigurationAssignment `json:"assignments,omitempty"`
   631  }
   632  
   633  // DeviceEnrollmentLimitConfiguration undocumented
   634  type DeviceEnrollmentLimitConfiguration struct {
   635  	// DeviceEnrollmentConfiguration is the base model of DeviceEnrollmentLimitConfiguration
   636  	DeviceEnrollmentConfiguration
   637  	// Limit undocumented
   638  	Limit *int `json:"limit,omitempty"`
   639  }
   640  
   641  // DeviceEnrollmentPlatformRestriction undocumented
   642  type DeviceEnrollmentPlatformRestriction struct {
   643  	// Object is the base model of DeviceEnrollmentPlatformRestriction
   644  	Object
   645  	// PlatformBlocked Block the platform from enrolling
   646  	PlatformBlocked *bool `json:"platformBlocked,omitempty"`
   647  	// PersonalDeviceEnrollmentBlocked Block personally owned devices from enrolling
   648  	PersonalDeviceEnrollmentBlocked *bool `json:"personalDeviceEnrollmentBlocked,omitempty"`
   649  	// OsMinimumVersion Min OS version supported
   650  	OsMinimumVersion *string `json:"osMinimumVersion,omitempty"`
   651  	// OsMaximumVersion Max OS version supported
   652  	OsMaximumVersion *string `json:"osMaximumVersion,omitempty"`
   653  }
   654  
   655  // DeviceEnrollmentPlatformRestrictionsConfiguration undocumented
   656  type DeviceEnrollmentPlatformRestrictionsConfiguration struct {
   657  	// DeviceEnrollmentConfiguration is the base model of DeviceEnrollmentPlatformRestrictionsConfiguration
   658  	DeviceEnrollmentConfiguration
   659  	// IOSRestriction undocumented
   660  	IOSRestriction *DeviceEnrollmentPlatformRestriction `json:"iosRestriction,omitempty"`
   661  	// WindowsRestriction undocumented
   662  	WindowsRestriction *DeviceEnrollmentPlatformRestriction `json:"windowsRestriction,omitempty"`
   663  	// WindowsMobileRestriction undocumented
   664  	WindowsMobileRestriction *DeviceEnrollmentPlatformRestriction `json:"windowsMobileRestriction,omitempty"`
   665  	// AndroidRestriction undocumented
   666  	AndroidRestriction *DeviceEnrollmentPlatformRestriction `json:"androidRestriction,omitempty"`
   667  	// MacOSRestriction undocumented
   668  	MacOSRestriction *DeviceEnrollmentPlatformRestriction `json:"macOSRestriction,omitempty"`
   669  }
   670  
   671  // DeviceEnrollmentWindowsHelloForBusinessConfiguration undocumented
   672  type DeviceEnrollmentWindowsHelloForBusinessConfiguration struct {
   673  	// DeviceEnrollmentConfiguration is the base model of DeviceEnrollmentWindowsHelloForBusinessConfiguration
   674  	DeviceEnrollmentConfiguration
   675  	// PinMinimumLength undocumented
   676  	PinMinimumLength *int `json:"pinMinimumLength,omitempty"`
   677  	// PinMaximumLength undocumented
   678  	PinMaximumLength *int `json:"pinMaximumLength,omitempty"`
   679  	// PinUppercaseCharactersUsage undocumented
   680  	PinUppercaseCharactersUsage *WindowsHelloForBusinessPinUsage `json:"pinUppercaseCharactersUsage,omitempty"`
   681  	// PinLowercaseCharactersUsage undocumented
   682  	PinLowercaseCharactersUsage *WindowsHelloForBusinessPinUsage `json:"pinLowercaseCharactersUsage,omitempty"`
   683  	// PinSpecialCharactersUsage undocumented
   684  	PinSpecialCharactersUsage *WindowsHelloForBusinessPinUsage `json:"pinSpecialCharactersUsage,omitempty"`
   685  	// State undocumented
   686  	State *Enablement `json:"state,omitempty"`
   687  	// SecurityDeviceRequired undocumented
   688  	SecurityDeviceRequired *bool `json:"securityDeviceRequired,omitempty"`
   689  	// UnlockWithBiometricsEnabled undocumented
   690  	UnlockWithBiometricsEnabled *bool `json:"unlockWithBiometricsEnabled,omitempty"`
   691  	// RemotePassportEnabled undocumented
   692  	RemotePassportEnabled *bool `json:"remotePassportEnabled,omitempty"`
   693  	// PinPreviousBlockCount undocumented
   694  	PinPreviousBlockCount *int `json:"pinPreviousBlockCount,omitempty"`
   695  	// PinExpirationInDays undocumented
   696  	PinExpirationInDays *int `json:"pinExpirationInDays,omitempty"`
   697  	// EnhancedBiometricsState undocumented
   698  	EnhancedBiometricsState *Enablement `json:"enhancedBiometricsState,omitempty"`
   699  }
   700  
   701  // DeviceExchangeAccessStateSummary undocumented
   702  type DeviceExchangeAccessStateSummary struct {
   703  	// Object is the base model of DeviceExchangeAccessStateSummary
   704  	Object
   705  	// AllowedDeviceCount Total count of devices with Exchange Access State: Allowed.
   706  	AllowedDeviceCount *int `json:"allowedDeviceCount,omitempty"`
   707  	// BlockedDeviceCount Total count of devices with Exchange Access State: Blocked.
   708  	BlockedDeviceCount *int `json:"blockedDeviceCount,omitempty"`
   709  	// QuarantinedDeviceCount Total count of devices with Exchange Access State: Quarantined.
   710  	QuarantinedDeviceCount *int `json:"quarantinedDeviceCount,omitempty"`
   711  	// UnknownDeviceCount Total count of devices with Exchange Access State: Unknown.
   712  	UnknownDeviceCount *int `json:"unknownDeviceCount,omitempty"`
   713  	// UnavailableDeviceCount Total count of devices for which no Exchange Access State could be found.
   714  	UnavailableDeviceCount *int `json:"unavailableDeviceCount,omitempty"`
   715  }
   716  
   717  // DeviceGeoLocation undocumented
   718  type DeviceGeoLocation struct {
   719  	// Object is the base model of DeviceGeoLocation
   720  	Object
   721  	// LastCollectedDateTime Time at which location was recorded, relative to UTC
   722  	LastCollectedDateTime *time.Time `json:"lastCollectedDateTime,omitempty"`
   723  	// Longitude Longitude coordinate of the device's location
   724  	Longitude *float64 `json:"longitude,omitempty"`
   725  	// Latitude Latitude coordinate of the device's location
   726  	Latitude *float64 `json:"latitude,omitempty"`
   727  	// Altitude Altitude, given in meters above sea level
   728  	Altitude *float64 `json:"altitude,omitempty"`
   729  	// HorizontalAccuracy Accuracy of longitude and latitude in meters
   730  	HorizontalAccuracy *float64 `json:"horizontalAccuracy,omitempty"`
   731  	// VerticalAccuracy Accuracy of altitude in meters
   732  	VerticalAccuracy *float64 `json:"verticalAccuracy,omitempty"`
   733  	// Heading Heading in degrees from true north
   734  	Heading *float64 `json:"heading,omitempty"`
   735  	// Speed Speed the device is traveling in meters per second
   736  	Speed *float64 `json:"speed,omitempty"`
   737  }
   738  
   739  // DeviceHealthAttestationState undocumented
   740  type DeviceHealthAttestationState struct {
   741  	// Object is the base model of DeviceHealthAttestationState
   742  	Object
   743  	// LastUpdateDateTime The Timestamp of the last update.
   744  	LastUpdateDateTime *string `json:"lastUpdateDateTime,omitempty"`
   745  	// ContentNamespaceURL The DHA report version. (Namespace version)
   746  	ContentNamespaceURL *string `json:"contentNamespaceUrl,omitempty"`
   747  	// DeviceHealthAttestationStatus The DHA report version. (Namespace version)
   748  	DeviceHealthAttestationStatus *string `json:"deviceHealthAttestationStatus,omitempty"`
   749  	// ContentVersion The HealthAttestation state schema version
   750  	ContentVersion *string `json:"contentVersion,omitempty"`
   751  	// IssuedDateTime The DateTime when device was evaluated or issued to MDM
   752  	IssuedDateTime *time.Time `json:"issuedDateTime,omitempty"`
   753  	// AttestationIdentityKey TWhen an Attestation Identity Key (AIK) is present on a device, it indicates that the device has an endorsement key (EK) certificate.
   754  	AttestationIdentityKey *string `json:"attestationIdentityKey,omitempty"`
   755  	// ResetCount The number of times a PC device has hibernated or resumed
   756  	ResetCount *int `json:"resetCount,omitempty"`
   757  	// RestartCount The number of times a PC device has rebooted
   758  	RestartCount *int `json:"restartCount,omitempty"`
   759  	// DataExcutionPolicy DEP Policy defines a set of hardware and software technologies that perform additional checks on memory
   760  	DataExcutionPolicy *string `json:"dataExcutionPolicy,omitempty"`
   761  	// BitLockerStatus On or Off of BitLocker Drive Encryption
   762  	BitLockerStatus *string `json:"bitLockerStatus,omitempty"`
   763  	// BootManagerVersion The version of the Boot Manager
   764  	BootManagerVersion *string `json:"bootManagerVersion,omitempty"`
   765  	// CodeIntegrityCheckVersion The version of the Boot Manager
   766  	CodeIntegrityCheckVersion *string `json:"codeIntegrityCheckVersion,omitempty"`
   767  	// SecureBoot When Secure Boot is enabled, the core components must have the correct cryptographic signatures
   768  	SecureBoot *string `json:"secureBoot,omitempty"`
   769  	// BootDebugging When bootDebugging is enabled, the device is used in development and testing
   770  	BootDebugging *string `json:"bootDebugging,omitempty"`
   771  	// OperatingSystemKernelDebugging When operatingSystemKernelDebugging is enabled, the device is used in development and testing
   772  	OperatingSystemKernelDebugging *string `json:"operatingSystemKernelDebugging,omitempty"`
   773  	// CodeIntegrity  When code integrity is enabled, code execution is restricted to integrity verified code
   774  	CodeIntegrity *string `json:"codeIntegrity,omitempty"`
   775  	// TestSigning When test signing is allowed, the device does not enforce signature validation during boot
   776  	TestSigning *string `json:"testSigning,omitempty"`
   777  	// SafeMode Safe mode is a troubleshooting option for Windows that starts your computer in a limited state
   778  	SafeMode *string `json:"safeMode,omitempty"`
   779  	// WindowsPE Operating system running with limited services that is used to prepare a computer for Windows
   780  	WindowsPE *string `json:"windowsPE,omitempty"`
   781  	// EarlyLaunchAntiMalwareDriverProtection ELAM provides protection for the computers in your network when they start up
   782  	EarlyLaunchAntiMalwareDriverProtection *string `json:"earlyLaunchAntiMalwareDriverProtection,omitempty"`
   783  	// VirtualSecureMode VSM is a container that protects high value assets from a compromised kernel
   784  	VirtualSecureMode *string `json:"virtualSecureMode,omitempty"`
   785  	// PcrHashAlgorithm Informational attribute that identifies the HASH algorithm that was used by TPM
   786  	PcrHashAlgorithm *string `json:"pcrHashAlgorithm,omitempty"`
   787  	// BootAppSecurityVersion The security version number of the Boot Application
   788  	BootAppSecurityVersion *string `json:"bootAppSecurityVersion,omitempty"`
   789  	// BootManagerSecurityVersion The security version number of the Boot Application
   790  	BootManagerSecurityVersion *string `json:"bootManagerSecurityVersion,omitempty"`
   791  	// TpmVersion The security version number of the Boot Application
   792  	TpmVersion *string `json:"tpmVersion,omitempty"`
   793  	// Pcr0 The measurement that is captured in PCR[0]
   794  	Pcr0 *string `json:"pcr0,omitempty"`
   795  	// SecureBootConfigurationPolicyFingerPrint Fingerprint of the Custom Secure Boot Configuration Policy
   796  	SecureBootConfigurationPolicyFingerPrint *string `json:"secureBootConfigurationPolicyFingerPrint,omitempty"`
   797  	// CodeIntegrityPolicy The Code Integrity policy that is controlling the security of the boot environment
   798  	CodeIntegrityPolicy *string `json:"codeIntegrityPolicy,omitempty"`
   799  	// BootRevisionListInfo The Boot Revision List that was loaded during initial boot on the attested device
   800  	BootRevisionListInfo *string `json:"bootRevisionListInfo,omitempty"`
   801  	// OperatingSystemRevListInfo The Operating System Revision List that was loaded during initial boot on the attested device
   802  	OperatingSystemRevListInfo *string `json:"operatingSystemRevListInfo,omitempty"`
   803  	// HealthStatusMismatchInfo This attribute appears if DHA-Service detects an integrity issue
   804  	HealthStatusMismatchInfo *string `json:"healthStatusMismatchInfo,omitempty"`
   805  	// HealthAttestationSupportedStatus This attribute indicates if DHA is supported for the device
   806  	HealthAttestationSupportedStatus *string `json:"healthAttestationSupportedStatus,omitempty"`
   807  }
   808  
   809  // DeviceInstallState Contains properties for the installation state for a device.
   810  type DeviceInstallState struct {
   811  	// Entity is the base model of DeviceInstallState
   812  	Entity
   813  	// DeviceName Device name.
   814  	DeviceName *string `json:"deviceName,omitempty"`
   815  	// DeviceID Device Id.
   816  	DeviceID *string `json:"deviceId,omitempty"`
   817  	// LastSyncDateTime Last sync date and time.
   818  	LastSyncDateTime *time.Time `json:"lastSyncDateTime,omitempty"`
   819  	// InstallState The install state of the eBook.
   820  	InstallState *InstallState `json:"installState,omitempty"`
   821  	// ErrorCode The error code for install failures.
   822  	ErrorCode *string `json:"errorCode,omitempty"`
   823  	// OsVersion OS Version.
   824  	OsVersion *string `json:"osVersion,omitempty"`
   825  	// OsDescription OS Description.
   826  	OsDescription *string `json:"osDescription,omitempty"`
   827  	// UserName Device User Name.
   828  	UserName *string `json:"userName,omitempty"`
   829  }
   830  
   831  // DeviceManagement Singleton entity that acts as a container for all device management functionality.
   832  type DeviceManagement struct {
   833  	// Entity is the base model of DeviceManagement
   834  	Entity
   835  	// Settings Account level settings.
   836  	Settings *DeviceManagementSettings `json:"settings,omitempty"`
   837  	// IntuneBrand intuneBrand contains data which is used in customizing the appearance of the Company Portal applications as well as the end user web portal.
   838  	IntuneBrand *IntuneBrand `json:"intuneBrand,omitempty"`
   839  	// SubscriptionState Tenant mobile device management subscription state.
   840  	SubscriptionState *DeviceManagementSubscriptionState `json:"subscriptionState,omitempty"`
   841  	// TermsAndConditions undocumented
   842  	TermsAndConditions []TermsAndConditions `json:"termsAndConditions,omitempty"`
   843  	// DeviceConfigurations undocumented
   844  	DeviceConfigurations []DeviceConfiguration `json:"deviceConfigurations,omitempty"`
   845  	// DeviceCompliancePolicies undocumented
   846  	DeviceCompliancePolicies []DeviceCompliancePolicy `json:"deviceCompliancePolicies,omitempty"`
   847  	// SoftwareUpdateStatusSummary undocumented
   848  	SoftwareUpdateStatusSummary *SoftwareUpdateStatusSummary `json:"softwareUpdateStatusSummary,omitempty"`
   849  	// DeviceCompliancePolicyDeviceStateSummary undocumented
   850  	DeviceCompliancePolicyDeviceStateSummary *DeviceCompliancePolicyDeviceStateSummary `json:"deviceCompliancePolicyDeviceStateSummary,omitempty"`
   851  	// DeviceCompliancePolicySettingStateSummaries undocumented
   852  	DeviceCompliancePolicySettingStateSummaries []DeviceCompliancePolicySettingStateSummary `json:"deviceCompliancePolicySettingStateSummaries,omitempty"`
   853  	// DeviceConfigurationDeviceStateSummaries undocumented
   854  	DeviceConfigurationDeviceStateSummaries *DeviceConfigurationDeviceStateSummary `json:"deviceConfigurationDeviceStateSummaries,omitempty"`
   855  	// IOSUpdateStatuses undocumented
   856  	IOSUpdateStatuses []IOSUpdateDeviceStatus `json:"iosUpdateStatuses,omitempty"`
   857  	// DeviceCategories undocumented
   858  	DeviceCategories []DeviceCategory `json:"deviceCategories,omitempty"`
   859  	// ExchangeConnectors undocumented
   860  	ExchangeConnectors []DeviceManagementExchangeConnector `json:"exchangeConnectors,omitempty"`
   861  	// DeviceEnrollmentConfigurations undocumented
   862  	DeviceEnrollmentConfigurations []DeviceEnrollmentConfiguration `json:"deviceEnrollmentConfigurations,omitempty"`
   863  	// ConditionalAccessSettings undocumented
   864  	ConditionalAccessSettings *OnPremisesConditionalAccessSettings `json:"conditionalAccessSettings,omitempty"`
   865  	// MobileThreatDefenseConnectors undocumented
   866  	MobileThreatDefenseConnectors []MobileThreatDefenseConnector `json:"mobileThreatDefenseConnectors,omitempty"`
   867  	// DeviceManagementPartners undocumented
   868  	DeviceManagementPartners []DeviceManagementPartner `json:"deviceManagementPartners,omitempty"`
   869  	// ApplePushNotificationCertificate undocumented
   870  	ApplePushNotificationCertificate *ApplePushNotificationCertificate `json:"applePushNotificationCertificate,omitempty"`
   871  	// ManagedDeviceOverview undocumented
   872  	ManagedDeviceOverview *ManagedDeviceOverview `json:"managedDeviceOverview,omitempty"`
   873  	// DetectedApps undocumented
   874  	DetectedApps []DetectedApp `json:"detectedApps,omitempty"`
   875  	// ManagedDevices undocumented
   876  	ManagedDevices []ManagedDevice `json:"managedDevices,omitempty"`
   877  	// NotificationMessageTemplates undocumented
   878  	NotificationMessageTemplates []NotificationMessageTemplate `json:"notificationMessageTemplates,omitempty"`
   879  	// RoleDefinitions undocumented
   880  	RoleDefinitions []RoleDefinition `json:"roleDefinitions,omitempty"`
   881  	// RoleAssignments undocumented
   882  	RoleAssignments []DeviceAndAppManagementRoleAssignment `json:"roleAssignments,omitempty"`
   883  	// ResourceOperations undocumented
   884  	ResourceOperations []ResourceOperation `json:"resourceOperations,omitempty"`
   885  	// RemoteAssistancePartners undocumented
   886  	RemoteAssistancePartners []RemoteAssistancePartner `json:"remoteAssistancePartners,omitempty"`
   887  	// TelecomExpenseManagementPartners undocumented
   888  	TelecomExpenseManagementPartners []TelecomExpenseManagementPartner `json:"telecomExpenseManagementPartners,omitempty"`
   889  	// TroubleshootingEvents undocumented
   890  	TroubleshootingEvents []DeviceManagementTroubleshootingEvent `json:"troubleshootingEvents,omitempty"`
   891  	// WindowsInformationProtectionAppLearningSummaries undocumented
   892  	WindowsInformationProtectionAppLearningSummaries []WindowsInformationProtectionAppLearningSummary `json:"windowsInformationProtectionAppLearningSummaries,omitempty"`
   893  	// WindowsInformationProtectionNetworkLearningSummaries undocumented
   894  	WindowsInformationProtectionNetworkLearningSummaries []WindowsInformationProtectionNetworkLearningSummary `json:"windowsInformationProtectionNetworkLearningSummaries,omitempty"`
   895  }
   896  
   897  // DeviceManagementExchangeConnector Entity which represents a connection to an Exchange environment.
   898  type DeviceManagementExchangeConnector struct {
   899  	// Entity is the base model of DeviceManagementExchangeConnector
   900  	Entity
   901  	// LastSyncDateTime Last sync time for the Exchange Connector
   902  	LastSyncDateTime *time.Time `json:"lastSyncDateTime,omitempty"`
   903  	// Status Exchange Connector Status
   904  	Status *DeviceManagementExchangeConnectorStatus `json:"status,omitempty"`
   905  	// PrimarySMTPAddress Email address used to configure the Service To Service Exchange Connector.
   906  	PrimarySMTPAddress *string `json:"primarySmtpAddress,omitempty"`
   907  	// ServerName The name of the Exchange server.
   908  	ServerName *string `json:"serverName,omitempty"`
   909  	// ConnectorServerName The name of the server hosting the Exchange Connector.
   910  	ConnectorServerName *string `json:"connectorServerName,omitempty"`
   911  	// ExchangeConnectorType The type of Exchange Connector Configured.
   912  	ExchangeConnectorType *DeviceManagementExchangeConnectorType `json:"exchangeConnectorType,omitempty"`
   913  	// Version The version of the ExchangeConnectorAgent
   914  	Version *string `json:"version,omitempty"`
   915  	// ExchangeAlias An alias assigned to the Exchange server
   916  	ExchangeAlias *string `json:"exchangeAlias,omitempty"`
   917  	// ExchangeOrganization Exchange Organization to the Exchange server
   918  	ExchangeOrganization *string `json:"exchangeOrganization,omitempty"`
   919  }
   920  
   921  // DeviceManagementPartner Entity which represents a connection to device management partner.
   922  type DeviceManagementPartner struct {
   923  	// Entity is the base model of DeviceManagementPartner
   924  	Entity
   925  	// LastHeartbeatDateTime Timestamp of last heartbeat after admin enabled option Connect to Device management Partner
   926  	LastHeartbeatDateTime *time.Time `json:"lastHeartbeatDateTime,omitempty"`
   927  	// PartnerState Partner state of this tenant
   928  	PartnerState *DeviceManagementPartnerTenantState `json:"partnerState,omitempty"`
   929  	// PartnerAppType Partner App type
   930  	PartnerAppType *DeviceManagementPartnerAppType `json:"partnerAppType,omitempty"`
   931  	// SingleTenantAppID Partner Single tenant App id
   932  	SingleTenantAppID *string `json:"singleTenantAppId,omitempty"`
   933  	// DisplayName Partner display name
   934  	DisplayName *string `json:"displayName,omitempty"`
   935  	// IsConfigured Whether device management partner is configured or not
   936  	IsConfigured *bool `json:"isConfigured,omitempty"`
   937  	// WhenPartnerDevicesWillBeRemovedDateTime DateTime in UTC when PartnerDevices will be removed
   938  	WhenPartnerDevicesWillBeRemovedDateTime *time.Time `json:"whenPartnerDevicesWillBeRemovedDateTime,omitempty"`
   939  	// WhenPartnerDevicesWillBeMarkedAsNonCompliantDateTime DateTime in UTC when PartnerDevices will be marked as NonCompliant
   940  	WhenPartnerDevicesWillBeMarkedAsNonCompliantDateTime *time.Time `json:"whenPartnerDevicesWillBeMarkedAsNonCompliantDateTime,omitempty"`
   941  }
   942  
   943  // DeviceManagementSettings undocumented
   944  type DeviceManagementSettings struct {
   945  	// Object is the base model of DeviceManagementSettings
   946  	Object
   947  	// DeviceComplianceCheckinThresholdDays The number of days a device is allowed to go without checking in to remain compliant. Valid values 0 to 120
   948  	DeviceComplianceCheckinThresholdDays *int `json:"deviceComplianceCheckinThresholdDays,omitempty"`
   949  	// IsScheduledActionEnabled Is feature enabled or not for scheduled action for rule.
   950  	IsScheduledActionEnabled *bool `json:"isScheduledActionEnabled,omitempty"`
   951  	// SecureByDefault Device should be noncompliant when there is no compliance policy targeted when this is true
   952  	SecureByDefault *bool `json:"secureByDefault,omitempty"`
   953  }
   954  
   955  // DeviceManagementTroubleshootingEvent Event representing an general failure.
   956  type DeviceManagementTroubleshootingEvent struct {
   957  	// Entity is the base model of DeviceManagementTroubleshootingEvent
   958  	Entity
   959  	// EventDateTime Time when the event occurred .
   960  	EventDateTime *time.Time `json:"eventDateTime,omitempty"`
   961  	// CorrelationID Id used for tracing the failure in the service.
   962  	CorrelationID *string `json:"correlationId,omitempty"`
   963  }
   964  
   965  // DeviceOperatingSystemSummary undocumented
   966  type DeviceOperatingSystemSummary struct {
   967  	// Object is the base model of DeviceOperatingSystemSummary
   968  	Object
   969  	// AndroidCount Number of android device count.
   970  	AndroidCount *int `json:"androidCount,omitempty"`
   971  	// IOSCount Number of iOS device count.
   972  	IOSCount *int `json:"iosCount,omitempty"`
   973  	// MacOSCount Number of Mac OS X device count.
   974  	MacOSCount *int `json:"macOSCount,omitempty"`
   975  	// WindowsMobileCount Number of Windows mobile device count.
   976  	WindowsMobileCount *int `json:"windowsMobileCount,omitempty"`
   977  	// WindowsCount Number of Windows device count.
   978  	WindowsCount *int `json:"windowsCount,omitempty"`
   979  	// UnknownCount Number of unknown device count.
   980  	UnknownCount *int `json:"unknownCount,omitempty"`
   981  }