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

     1  // Code generated by msgraph.go/gen DO NOT EDIT.
     2  
     3  package msgraph
     4  
     5  // AndroidCompliancePolicy This class contains compliance settings for Android.
     6  type AndroidCompliancePolicy struct {
     7  	// DeviceCompliancePolicy is the base model of AndroidCompliancePolicy
     8  	DeviceCompliancePolicy
     9  	// PasswordRequired Require a password to unlock device.
    10  	PasswordRequired *bool `json:"passwordRequired,omitempty"`
    11  	// PasswordMinimumLength Minimum password length. Valid values 4 to 16
    12  	PasswordMinimumLength *int `json:"passwordMinimumLength,omitempty"`
    13  	// PasswordRequiredType Type of characters in password
    14  	PasswordRequiredType *AndroidRequiredPasswordType `json:"passwordRequiredType,omitempty"`
    15  	// PasswordMinutesOfInactivityBeforeLock Minutes of inactivity before a password is required.
    16  	PasswordMinutesOfInactivityBeforeLock *int `json:"passwordMinutesOfInactivityBeforeLock,omitempty"`
    17  	// PasswordExpirationDays Number of days before the password expires. Valid values 1 to 365
    18  	PasswordExpirationDays *int `json:"passwordExpirationDays,omitempty"`
    19  	// PasswordPreviousPasswordBlockCount Number of previous passwords to block. Valid values 1 to 24
    20  	PasswordPreviousPasswordBlockCount *int `json:"passwordPreviousPasswordBlockCount,omitempty"`
    21  	// SecurityPreventInstallAppsFromUnknownSources Require that devices disallow installation of apps from unknown sources.
    22  	SecurityPreventInstallAppsFromUnknownSources *bool `json:"securityPreventInstallAppsFromUnknownSources,omitempty"`
    23  	// SecurityDisableUsbDebugging Disable USB debugging on Android devices.
    24  	SecurityDisableUsbDebugging *bool `json:"securityDisableUsbDebugging,omitempty"`
    25  	// SecurityRequireVerifyApps Require the Android Verify apps feature is turned on.
    26  	SecurityRequireVerifyApps *bool `json:"securityRequireVerifyApps,omitempty"`
    27  	// DeviceThreatProtectionEnabled Require that devices have enabled device threat protection.
    28  	DeviceThreatProtectionEnabled *bool `json:"deviceThreatProtectionEnabled,omitempty"`
    29  	// DeviceThreatProtectionRequiredSecurityLevel Require Mobile Threat Protection minimum risk level to report noncompliance.
    30  	DeviceThreatProtectionRequiredSecurityLevel *DeviceThreatProtectionLevel `json:"deviceThreatProtectionRequiredSecurityLevel,omitempty"`
    31  	// SecurityBlockJailbrokenDevices Devices must not be jailbroken or rooted.
    32  	SecurityBlockJailbrokenDevices *bool `json:"securityBlockJailbrokenDevices,omitempty"`
    33  	// OsMinimumVersion Minimum Android version.
    34  	OsMinimumVersion *string `json:"osMinimumVersion,omitempty"`
    35  	// OsMaximumVersion Maximum Android version.
    36  	OsMaximumVersion *string `json:"osMaximumVersion,omitempty"`
    37  	// MinAndroidSecurityPatchLevel Minimum Android security patch level.
    38  	MinAndroidSecurityPatchLevel *string `json:"minAndroidSecurityPatchLevel,omitempty"`
    39  	// StorageRequireEncryption Require encryption on Android devices.
    40  	StorageRequireEncryption *bool `json:"storageRequireEncryption,omitempty"`
    41  	// SecurityRequireSafetyNetAttestationBasicIntegrity Require the device to pass the SafetyNet basic integrity check.
    42  	SecurityRequireSafetyNetAttestationBasicIntegrity *bool `json:"securityRequireSafetyNetAttestationBasicIntegrity,omitempty"`
    43  	// SecurityRequireSafetyNetAttestationCertifiedDevice Require the device to pass the SafetyNet certified device check.
    44  	SecurityRequireSafetyNetAttestationCertifiedDevice *bool `json:"securityRequireSafetyNetAttestationCertifiedDevice,omitempty"`
    45  	// SecurityRequireGooglePlayServices Require Google Play Services to be installed and enabled on the device.
    46  	SecurityRequireGooglePlayServices *bool `json:"securityRequireGooglePlayServices,omitempty"`
    47  	// SecurityRequireUpToDateSecurityProviders Require the device to have up to date security providers. The device will require Google Play Services to be enabled and up to date.
    48  	SecurityRequireUpToDateSecurityProviders *bool `json:"securityRequireUpToDateSecurityProviders,omitempty"`
    49  	// SecurityRequireCompanyPortalAppIntegrity Require the device to pass the Company Portal client app runtime integrity check.
    50  	SecurityRequireCompanyPortalAppIntegrity *bool `json:"securityRequireCompanyPortalAppIntegrity,omitempty"`
    51  }
    52  
    53  // AndroidCustomConfiguration This topic provides descriptions of the declared methods, properties and relationships exposed by the androidCustomConfiguration resource.
    54  type AndroidCustomConfiguration struct {
    55  	// DeviceConfiguration is the base model of AndroidCustomConfiguration
    56  	DeviceConfiguration
    57  	// OMASettings OMA settings. This collection can contain a maximum of 1000 elements.
    58  	OMASettings []OMASetting `json:"omaSettings,omitempty"`
    59  }
    60  
    61  // AndroidGeneralDeviceConfiguration This topic provides descriptions of the declared methods, properties and relationships exposed by the androidGeneralDeviceConfiguration resource.
    62  type AndroidGeneralDeviceConfiguration struct {
    63  	// DeviceConfiguration is the base model of AndroidGeneralDeviceConfiguration
    64  	DeviceConfiguration
    65  	// AppsBlockClipboardSharing Indicates whether or not to block clipboard sharing to copy and paste between applications.
    66  	AppsBlockClipboardSharing *bool `json:"appsBlockClipboardSharing,omitempty"`
    67  	// AppsBlockCopyPaste Indicates whether or not to block copy and paste within applications.
    68  	AppsBlockCopyPaste *bool `json:"appsBlockCopyPaste,omitempty"`
    69  	// AppsBlockYouTube Indicates whether or not to block the YouTube app.
    70  	AppsBlockYouTube *bool `json:"appsBlockYouTube,omitempty"`
    71  	// BluetoothBlocked Indicates whether or not to block Bluetooth.
    72  	BluetoothBlocked *bool `json:"bluetoothBlocked,omitempty"`
    73  	// CameraBlocked Indicates whether or not to block the use of the camera.
    74  	CameraBlocked *bool `json:"cameraBlocked,omitempty"`
    75  	// CellularBlockDataRoaming Indicates whether or not to block data roaming.
    76  	CellularBlockDataRoaming *bool `json:"cellularBlockDataRoaming,omitempty"`
    77  	// CellularBlockMessaging Indicates whether or not to block SMS/MMS messaging.
    78  	CellularBlockMessaging *bool `json:"cellularBlockMessaging,omitempty"`
    79  	// CellularBlockVoiceRoaming Indicates whether or not to block voice roaming.
    80  	CellularBlockVoiceRoaming *bool `json:"cellularBlockVoiceRoaming,omitempty"`
    81  	// CellularBlockWiFiTethering Indicates whether or not to block syncing Wi-Fi tethering.
    82  	CellularBlockWiFiTethering *bool `json:"cellularBlockWiFiTethering,omitempty"`
    83  	// CompliantAppsList List of apps in the compliance (either allow list or block list, controlled by CompliantAppListType). This collection can contain a maximum of 10000 elements.
    84  	CompliantAppsList []AppListItem `json:"compliantAppsList,omitempty"`
    85  	// CompliantAppListType Type of list that is in the CompliantAppsList.
    86  	CompliantAppListType *AppListType `json:"compliantAppListType,omitempty"`
    87  	// DiagnosticDataBlockSubmission Indicates whether or not to block diagnostic data submission.
    88  	DiagnosticDataBlockSubmission *bool `json:"diagnosticDataBlockSubmission,omitempty"`
    89  	// LocationServicesBlocked Indicates whether or not to block location services.
    90  	LocationServicesBlocked *bool `json:"locationServicesBlocked,omitempty"`
    91  	// GoogleAccountBlockAutoSync Indicates whether or not to block Google account auto sync.
    92  	GoogleAccountBlockAutoSync *bool `json:"googleAccountBlockAutoSync,omitempty"`
    93  	// GooglePlayStoreBlocked Indicates whether or not to block the Google Play store.
    94  	GooglePlayStoreBlocked *bool `json:"googlePlayStoreBlocked,omitempty"`
    95  	// KioskModeBlockSleepButton Indicates whether or not to block the screen sleep button while in Kiosk Mode.
    96  	KioskModeBlockSleepButton *bool `json:"kioskModeBlockSleepButton,omitempty"`
    97  	// KioskModeBlockVolumeButtons Indicates whether or not to block the volume buttons while in Kiosk Mode.
    98  	KioskModeBlockVolumeButtons *bool `json:"kioskModeBlockVolumeButtons,omitempty"`
    99  	// KioskModeApps A list of apps that will be allowed to run when the device is in Kiosk Mode. This collection can contain a maximum of 500 elements.
   100  	KioskModeApps []AppListItem `json:"kioskModeApps,omitempty"`
   101  	// NfcBlocked Indicates whether or not to block Near-Field Communication.
   102  	NfcBlocked *bool `json:"nfcBlocked,omitempty"`
   103  	// PasswordBlockFingerprintUnlock Indicates whether or not to block fingerprint unlock.
   104  	PasswordBlockFingerprintUnlock *bool `json:"passwordBlockFingerprintUnlock,omitempty"`
   105  	// PasswordBlockTrustAgents Indicates whether or not to block Smart Lock and other trust agents.
   106  	PasswordBlockTrustAgents *bool `json:"passwordBlockTrustAgents,omitempty"`
   107  	// PasswordExpirationDays Number of days before the password expires. Valid values 1 to 365
   108  	PasswordExpirationDays *int `json:"passwordExpirationDays,omitempty"`
   109  	// PasswordMinimumLength Minimum length of passwords. Valid values 4 to 16
   110  	PasswordMinimumLength *int `json:"passwordMinimumLength,omitempty"`
   111  	// PasswordMinutesOfInactivityBeforeScreenTimeout Minutes of inactivity before the screen times out.
   112  	PasswordMinutesOfInactivityBeforeScreenTimeout *int `json:"passwordMinutesOfInactivityBeforeScreenTimeout,omitempty"`
   113  	// PasswordPreviousPasswordBlockCount Number of previous passwords to block. Valid values 0 to 24
   114  	PasswordPreviousPasswordBlockCount *int `json:"passwordPreviousPasswordBlockCount,omitempty"`
   115  	// PasswordSignInFailureCountBeforeFactoryReset Number of sign in failures allowed before factory reset. Valid values 1 to 16
   116  	PasswordSignInFailureCountBeforeFactoryReset *int `json:"passwordSignInFailureCountBeforeFactoryReset,omitempty"`
   117  	// PasswordRequiredType Type of password that is required.
   118  	PasswordRequiredType *AndroidRequiredPasswordType `json:"passwordRequiredType,omitempty"`
   119  	// PasswordRequired Indicates whether or not to require a password.
   120  	PasswordRequired *bool `json:"passwordRequired,omitempty"`
   121  	// PowerOffBlocked Indicates whether or not to block powering off the device.
   122  	PowerOffBlocked *bool `json:"powerOffBlocked,omitempty"`
   123  	// FactoryResetBlocked Indicates whether or not to block user performing a factory reset.
   124  	FactoryResetBlocked *bool `json:"factoryResetBlocked,omitempty"`
   125  	// ScreenCaptureBlocked Indicates whether or not to block screenshots.
   126  	ScreenCaptureBlocked *bool `json:"screenCaptureBlocked,omitempty"`
   127  	// DeviceSharingAllowed Indicates whether or not to allow device sharing mode.
   128  	DeviceSharingAllowed *bool `json:"deviceSharingAllowed,omitempty"`
   129  	// StorageBlockGoogleBackup Indicates whether or not to block Google Backup.
   130  	StorageBlockGoogleBackup *bool `json:"storageBlockGoogleBackup,omitempty"`
   131  	// StorageBlockRemovableStorage Indicates whether or not to block removable storage usage.
   132  	StorageBlockRemovableStorage *bool `json:"storageBlockRemovableStorage,omitempty"`
   133  	// StorageRequireDeviceEncryption Indicates whether or not to require device encryption.
   134  	StorageRequireDeviceEncryption *bool `json:"storageRequireDeviceEncryption,omitempty"`
   135  	// StorageRequireRemovableStorageEncryption Indicates whether or not to require removable storage encryption.
   136  	StorageRequireRemovableStorageEncryption *bool `json:"storageRequireRemovableStorageEncryption,omitempty"`
   137  	// VoiceAssistantBlocked Indicates whether or not to block the use of the Voice Assistant.
   138  	VoiceAssistantBlocked *bool `json:"voiceAssistantBlocked,omitempty"`
   139  	// VoiceDialingBlocked Indicates whether or not to block voice dialing.
   140  	VoiceDialingBlocked *bool `json:"voiceDialingBlocked,omitempty"`
   141  	// WebBrowserBlockPopups Indicates whether or not to block popups within the web browser.
   142  	WebBrowserBlockPopups *bool `json:"webBrowserBlockPopups,omitempty"`
   143  	// WebBrowserBlockAutofill Indicates whether or not to block the web browser's auto fill feature.
   144  	WebBrowserBlockAutofill *bool `json:"webBrowserBlockAutofill,omitempty"`
   145  	// WebBrowserBlockJavaScript Indicates whether or not to block JavaScript within the web browser.
   146  	WebBrowserBlockJavaScript *bool `json:"webBrowserBlockJavaScript,omitempty"`
   147  	// WebBrowserBlocked Indicates whether or not to block the web browser.
   148  	WebBrowserBlocked *bool `json:"webBrowserBlocked,omitempty"`
   149  	// WebBrowserCookieSettings Cookie settings within the web browser.
   150  	WebBrowserCookieSettings *WebBrowserCookieSettings `json:"webBrowserCookieSettings,omitempty"`
   151  	// WiFiBlocked Indicates whether or not to block syncing Wi-Fi.
   152  	WiFiBlocked *bool `json:"wiFiBlocked,omitempty"`
   153  	// AppsInstallAllowList List of apps which can be installed on the KNOX device. This collection can contain a maximum of 500 elements.
   154  	AppsInstallAllowList []AppListItem `json:"appsInstallAllowList,omitempty"`
   155  	// AppsLaunchBlockList List of apps which are blocked from being launched on the KNOX device. This collection can contain a maximum of 500 elements.
   156  	AppsLaunchBlockList []AppListItem `json:"appsLaunchBlockList,omitempty"`
   157  	// AppsHideList List of apps to be hidden on the KNOX device. This collection can contain a maximum of 500 elements.
   158  	AppsHideList []AppListItem `json:"appsHideList,omitempty"`
   159  	// SecurityRequireVerifyApps Require the Android Verify apps feature is turned on.
   160  	SecurityRequireVerifyApps *bool `json:"securityRequireVerifyApps,omitempty"`
   161  }
   162  
   163  // AndroidLobApp Contains properties and inherited properties for Android Line Of Business apps.
   164  type AndroidLobApp struct {
   165  	// MobileLobApp is the base model of AndroidLobApp
   166  	MobileLobApp
   167  	// PackageID The package identifier.
   168  	PackageID *string `json:"packageId,omitempty"`
   169  	// MinimumSupportedOperatingSystem The value for the minimum applicable operating system.
   170  	MinimumSupportedOperatingSystem *AndroidMinimumOperatingSystem `json:"minimumSupportedOperatingSystem,omitempty"`
   171  	// VersionName The version name of Android Line of Business (LoB) app.
   172  	VersionName *string `json:"versionName,omitempty"`
   173  	// VersionCode The version code of Android Line of Business (LoB) app.
   174  	VersionCode *string `json:"versionCode,omitempty"`
   175  }
   176  
   177  // AndroidManagedAppProtection Policy used to configure detailed management settings targeted to specific security groups and for a specified set of apps on an Android device
   178  type AndroidManagedAppProtection struct {
   179  	// TargetedManagedAppProtection is the base model of AndroidManagedAppProtection
   180  	TargetedManagedAppProtection
   181  	// ScreenCaptureBlocked Indicates whether a managed user can take screen captures of managed apps
   182  	ScreenCaptureBlocked *bool `json:"screenCaptureBlocked,omitempty"`
   183  	// DisableAppEncryptionIfDeviceEncryptionIsEnabled When this setting is enabled, app level encryption is disabled if device level encryption is enabled
   184  	DisableAppEncryptionIfDeviceEncryptionIsEnabled *bool `json:"disableAppEncryptionIfDeviceEncryptionIsEnabled,omitempty"`
   185  	// EncryptAppData Indicates whether application data for managed apps should be encrypted
   186  	EncryptAppData *bool `json:"encryptAppData,omitempty"`
   187  	// DeployedAppCount Count of apps to which the current policy is deployed.
   188  	DeployedAppCount *int `json:"deployedAppCount,omitempty"`
   189  	// MinimumRequiredPatchVersion Define the oldest required Android security patch level a user can have to gain secure access to the app.
   190  	MinimumRequiredPatchVersion *string `json:"minimumRequiredPatchVersion,omitempty"`
   191  	// MinimumWarningPatchVersion Define the oldest recommended Android security patch level a user can have for secure access to the app.
   192  	MinimumWarningPatchVersion *string `json:"minimumWarningPatchVersion,omitempty"`
   193  	// Apps undocumented
   194  	Apps []ManagedMobileApp `json:"apps,omitempty"`
   195  	// DeploymentSummary undocumented
   196  	DeploymentSummary *ManagedAppPolicyDeploymentSummary `json:"deploymentSummary,omitempty"`
   197  }
   198  
   199  // AndroidManagedAppRegistration Represents the synchronization details of an android app, with management capabilities, for a specific user.
   200  type AndroidManagedAppRegistration struct {
   201  	// ManagedAppRegistration is the base model of AndroidManagedAppRegistration
   202  	ManagedAppRegistration
   203  }
   204  
   205  // AndroidMinimumOperatingSystem undocumented
   206  type AndroidMinimumOperatingSystem struct {
   207  	// Object is the base model of AndroidMinimumOperatingSystem
   208  	Object
   209  	// V4_0 Version 4.0 or later.
   210  	V4_0 *bool `json:"v4_0,omitempty"`
   211  	// V4_0_3 Version 4.0.3 or later.
   212  	V4_0_3 *bool `json:"v4_0_3,omitempty"`
   213  	// V4_1 Version 4.1 or later.
   214  	V4_1 *bool `json:"v4_1,omitempty"`
   215  	// V4_2 Version 4.2 or later.
   216  	V4_2 *bool `json:"v4_2,omitempty"`
   217  	// V4_3 Version 4.3 or later.
   218  	V4_3 *bool `json:"v4_3,omitempty"`
   219  	// V4_4 Version 4.4 or later.
   220  	V4_4 *bool `json:"v4_4,omitempty"`
   221  	// V5_0 Version 5.0 or later.
   222  	V5_0 *bool `json:"v5_0,omitempty"`
   223  	// V5_1 Version 5.1 or later.
   224  	V5_1 *bool `json:"v5_1,omitempty"`
   225  }
   226  
   227  // AndroidMobileAppIdentifier undocumented
   228  type AndroidMobileAppIdentifier struct {
   229  	// MobileAppIdentifier is the base model of AndroidMobileAppIdentifier
   230  	MobileAppIdentifier
   231  	// PackageID The identifier for an app, as specified in the play store.
   232  	PackageID *string `json:"packageId,omitempty"`
   233  }
   234  
   235  // AndroidStoreApp Contains properties and inherited properties for Android store apps.
   236  type AndroidStoreApp struct {
   237  	// MobileApp is the base model of AndroidStoreApp
   238  	MobileApp
   239  	// PackageID The package identifier.
   240  	PackageID *string `json:"packageId,omitempty"`
   241  	// AppStoreURL The Android app store URL.
   242  	AppStoreURL *string `json:"appStoreUrl,omitempty"`
   243  	// MinimumSupportedOperatingSystem The value for the minimum applicable operating system.
   244  	MinimumSupportedOperatingSystem *AndroidMinimumOperatingSystem `json:"minimumSupportedOperatingSystem,omitempty"`
   245  }
   246  
   247  // AndroidWorkProfileCompliancePolicy This class contains compliance settings for Android Work Profile.
   248  type AndroidWorkProfileCompliancePolicy struct {
   249  	// DeviceCompliancePolicy is the base model of AndroidWorkProfileCompliancePolicy
   250  	DeviceCompliancePolicy
   251  	// PasswordRequired Require a password to unlock device.
   252  	PasswordRequired *bool `json:"passwordRequired,omitempty"`
   253  	// PasswordMinimumLength Minimum password length. Valid values 4 to 16
   254  	PasswordMinimumLength *int `json:"passwordMinimumLength,omitempty"`
   255  	// PasswordRequiredType Type of characters in password
   256  	PasswordRequiredType *AndroidRequiredPasswordType `json:"passwordRequiredType,omitempty"`
   257  	// PasswordMinutesOfInactivityBeforeLock Minutes of inactivity before a password is required.
   258  	PasswordMinutesOfInactivityBeforeLock *int `json:"passwordMinutesOfInactivityBeforeLock,omitempty"`
   259  	// PasswordExpirationDays Number of days before the password expires. Valid values 1 to 365
   260  	PasswordExpirationDays *int `json:"passwordExpirationDays,omitempty"`
   261  	// PasswordPreviousPasswordBlockCount Number of previous passwords to block. Valid values 1 to 24
   262  	PasswordPreviousPasswordBlockCount *int `json:"passwordPreviousPasswordBlockCount,omitempty"`
   263  	// SecurityPreventInstallAppsFromUnknownSources Require that devices disallow installation of apps from unknown sources.
   264  	SecurityPreventInstallAppsFromUnknownSources *bool `json:"securityPreventInstallAppsFromUnknownSources,omitempty"`
   265  	// SecurityDisableUsbDebugging Disable USB debugging on Android devices.
   266  	SecurityDisableUsbDebugging *bool `json:"securityDisableUsbDebugging,omitempty"`
   267  	// SecurityRequireVerifyApps Require the Android Verify apps feature is turned on.
   268  	SecurityRequireVerifyApps *bool `json:"securityRequireVerifyApps,omitempty"`
   269  	// DeviceThreatProtectionEnabled Require that devices have enabled device threat protection.
   270  	DeviceThreatProtectionEnabled *bool `json:"deviceThreatProtectionEnabled,omitempty"`
   271  	// DeviceThreatProtectionRequiredSecurityLevel Require Mobile Threat Protection minimum risk level to report noncompliance.
   272  	DeviceThreatProtectionRequiredSecurityLevel *DeviceThreatProtectionLevel `json:"deviceThreatProtectionRequiredSecurityLevel,omitempty"`
   273  	// SecurityBlockJailbrokenDevices Devices must not be jailbroken or rooted.
   274  	SecurityBlockJailbrokenDevices *bool `json:"securityBlockJailbrokenDevices,omitempty"`
   275  	// OsMinimumVersion Minimum Android version.
   276  	OsMinimumVersion *string `json:"osMinimumVersion,omitempty"`
   277  	// OsMaximumVersion Maximum Android version.
   278  	OsMaximumVersion *string `json:"osMaximumVersion,omitempty"`
   279  	// MinAndroidSecurityPatchLevel Minimum Android security patch level.
   280  	MinAndroidSecurityPatchLevel *string `json:"minAndroidSecurityPatchLevel,omitempty"`
   281  	// StorageRequireEncryption Require encryption on Android devices.
   282  	StorageRequireEncryption *bool `json:"storageRequireEncryption,omitempty"`
   283  	// SecurityRequireSafetyNetAttestationBasicIntegrity Require the device to pass the SafetyNet basic integrity check.
   284  	SecurityRequireSafetyNetAttestationBasicIntegrity *bool `json:"securityRequireSafetyNetAttestationBasicIntegrity,omitempty"`
   285  	// SecurityRequireSafetyNetAttestationCertifiedDevice Require the device to pass the SafetyNet certified device check.
   286  	SecurityRequireSafetyNetAttestationCertifiedDevice *bool `json:"securityRequireSafetyNetAttestationCertifiedDevice,omitempty"`
   287  	// SecurityRequireGooglePlayServices Require Google Play Services to be installed and enabled on the device.
   288  	SecurityRequireGooglePlayServices *bool `json:"securityRequireGooglePlayServices,omitempty"`
   289  	// SecurityRequireUpToDateSecurityProviders Require the device to have up to date security providers. The device will require Google Play Services to be enabled and up to date.
   290  	SecurityRequireUpToDateSecurityProviders *bool `json:"securityRequireUpToDateSecurityProviders,omitempty"`
   291  	// SecurityRequireCompanyPortalAppIntegrity Require the device to pass the Company Portal client app runtime integrity check.
   292  	SecurityRequireCompanyPortalAppIntegrity *bool `json:"securityRequireCompanyPortalAppIntegrity,omitempty"`
   293  }
   294  
   295  // AndroidWorkProfileCustomConfiguration Android Work Profile custom configuration
   296  type AndroidWorkProfileCustomConfiguration struct {
   297  	// DeviceConfiguration is the base model of AndroidWorkProfileCustomConfiguration
   298  	DeviceConfiguration
   299  	// OMASettings OMA settings. This collection can contain a maximum of 500 elements.
   300  	OMASettings []OMASetting `json:"omaSettings,omitempty"`
   301  }
   302  
   303  // AndroidWorkProfileGeneralDeviceConfiguration Android Work Profile general device configuration.
   304  type AndroidWorkProfileGeneralDeviceConfiguration struct {
   305  	// DeviceConfiguration is the base model of AndroidWorkProfileGeneralDeviceConfiguration
   306  	DeviceConfiguration
   307  	// PasswordBlockFingerprintUnlock Indicates whether or not to block fingerprint unlock.
   308  	PasswordBlockFingerprintUnlock *bool `json:"passwordBlockFingerprintUnlock,omitempty"`
   309  	// PasswordBlockTrustAgents Indicates whether or not to block Smart Lock and other trust agents.
   310  	PasswordBlockTrustAgents *bool `json:"passwordBlockTrustAgents,omitempty"`
   311  	// PasswordExpirationDays Number of days before the password expires. Valid values 1 to 365
   312  	PasswordExpirationDays *int `json:"passwordExpirationDays,omitempty"`
   313  	// PasswordMinimumLength Minimum length of passwords. Valid values 4 to 16
   314  	PasswordMinimumLength *int `json:"passwordMinimumLength,omitempty"`
   315  	// PasswordMinutesOfInactivityBeforeScreenTimeout Minutes of inactivity before the screen times out.
   316  	PasswordMinutesOfInactivityBeforeScreenTimeout *int `json:"passwordMinutesOfInactivityBeforeScreenTimeout,omitempty"`
   317  	// PasswordPreviousPasswordBlockCount Number of previous passwords to block. Valid values 0 to 24
   318  	PasswordPreviousPasswordBlockCount *int `json:"passwordPreviousPasswordBlockCount,omitempty"`
   319  	// PasswordSignInFailureCountBeforeFactoryReset Number of sign in failures allowed before factory reset. Valid values 1 to 16
   320  	PasswordSignInFailureCountBeforeFactoryReset *int `json:"passwordSignInFailureCountBeforeFactoryReset,omitempty"`
   321  	// PasswordRequiredType Type of password that is required.
   322  	PasswordRequiredType *AndroidWorkProfileRequiredPasswordType `json:"passwordRequiredType,omitempty"`
   323  	// WorkProfileDataSharingType Type of data sharing that is allowed.
   324  	WorkProfileDataSharingType *AndroidWorkProfileCrossProfileDataSharingType `json:"workProfileDataSharingType,omitempty"`
   325  	// WorkProfileBlockNotificationsWhileDeviceLocked Indicates whether or not to block notifications while device locked.
   326  	WorkProfileBlockNotificationsWhileDeviceLocked *bool `json:"workProfileBlockNotificationsWhileDeviceLocked,omitempty"`
   327  	// WorkProfileBlockAddingAccounts Block users from adding/removing accounts in work profile.
   328  	WorkProfileBlockAddingAccounts *bool `json:"workProfileBlockAddingAccounts,omitempty"`
   329  	// WorkProfileBluetoothEnableContactSharing Allow bluetooth devices to access enterprise contacts.
   330  	WorkProfileBluetoothEnableContactSharing *bool `json:"workProfileBluetoothEnableContactSharing,omitempty"`
   331  	// WorkProfileBlockScreenCapture Block screen capture in work profile.
   332  	WorkProfileBlockScreenCapture *bool `json:"workProfileBlockScreenCapture,omitempty"`
   333  	// WorkProfileBlockCrossProfileCallerID Block display work profile caller ID in personal profile.
   334  	WorkProfileBlockCrossProfileCallerID *bool `json:"workProfileBlockCrossProfileCallerId,omitempty"`
   335  	// WorkProfileBlockCamera Block work profile camera.
   336  	WorkProfileBlockCamera *bool `json:"workProfileBlockCamera,omitempty"`
   337  	// WorkProfileBlockCrossProfileContactsSearch Block work profile contacts availability in personal profile.
   338  	WorkProfileBlockCrossProfileContactsSearch *bool `json:"workProfileBlockCrossProfileContactsSearch,omitempty"`
   339  	// WorkProfileBlockCrossProfileCopyPaste Boolean that indicates if the setting disallow cross profile copy/paste is enabled.
   340  	WorkProfileBlockCrossProfileCopyPaste *bool `json:"workProfileBlockCrossProfileCopyPaste,omitempty"`
   341  	// WorkProfileDefaultAppPermissionPolicy Type of password that is required.
   342  	WorkProfileDefaultAppPermissionPolicy *AndroidWorkProfileDefaultAppPermissionPolicyType `json:"workProfileDefaultAppPermissionPolicy,omitempty"`
   343  	// WorkProfilePasswordBlockFingerprintUnlock Indicates whether or not to block fingerprint unlock for work profile.
   344  	WorkProfilePasswordBlockFingerprintUnlock *bool `json:"workProfilePasswordBlockFingerprintUnlock,omitempty"`
   345  	// WorkProfilePasswordBlockTrustAgents Indicates whether or not to block Smart Lock and other trust agents for work profile.
   346  	WorkProfilePasswordBlockTrustAgents *bool `json:"workProfilePasswordBlockTrustAgents,omitempty"`
   347  	// WorkProfilePasswordExpirationDays Number of days before the work profile password expires. Valid values 1 to 365
   348  	WorkProfilePasswordExpirationDays *int `json:"workProfilePasswordExpirationDays,omitempty"`
   349  	// WorkProfilePasswordMinimumLength Minimum length of work profile password. Valid values 4 to 16
   350  	WorkProfilePasswordMinimumLength *int `json:"workProfilePasswordMinimumLength,omitempty"`
   351  	// WorkProfilePasswordMinNumericCharacters Minimum # of numeric characters required in work profile password. Valid values 1 to 10
   352  	WorkProfilePasswordMinNumericCharacters *int `json:"workProfilePasswordMinNumericCharacters,omitempty"`
   353  	// WorkProfilePasswordMinNonLetterCharacters Minimum # of non-letter characters required in work profile password. Valid values 1 to 10
   354  	WorkProfilePasswordMinNonLetterCharacters *int `json:"workProfilePasswordMinNonLetterCharacters,omitempty"`
   355  	// WorkProfilePasswordMinLetterCharacters Minimum # of letter characters required in work profile password. Valid values 1 to 10
   356  	WorkProfilePasswordMinLetterCharacters *int `json:"workProfilePasswordMinLetterCharacters,omitempty"`
   357  	// WorkProfilePasswordMinLowerCaseCharacters Minimum # of lower-case characters required in work profile password. Valid values 1 to 10
   358  	WorkProfilePasswordMinLowerCaseCharacters *int `json:"workProfilePasswordMinLowerCaseCharacters,omitempty"`
   359  	// WorkProfilePasswordMinUpperCaseCharacters Minimum # of upper-case characters required in work profile password. Valid values 1 to 10
   360  	WorkProfilePasswordMinUpperCaseCharacters *int `json:"workProfilePasswordMinUpperCaseCharacters,omitempty"`
   361  	// WorkProfilePasswordMinSymbolCharacters Minimum # of symbols required in work profile password. Valid values 1 to 10
   362  	WorkProfilePasswordMinSymbolCharacters *int `json:"workProfilePasswordMinSymbolCharacters,omitempty"`
   363  	// WorkProfilePasswordMinutesOfInactivityBeforeScreenTimeout Minutes of inactivity before the screen times out.
   364  	WorkProfilePasswordMinutesOfInactivityBeforeScreenTimeout *int `json:"workProfilePasswordMinutesOfInactivityBeforeScreenTimeout,omitempty"`
   365  	// WorkProfilePasswordPreviousPasswordBlockCount Number of previous work profile passwords to block. Valid values 0 to 24
   366  	WorkProfilePasswordPreviousPasswordBlockCount *int `json:"workProfilePasswordPreviousPasswordBlockCount,omitempty"`
   367  	// WorkProfilePasswordSignInFailureCountBeforeFactoryReset Number of sign in failures allowed before work profile is removed and all corporate data deleted. Valid values 1 to 16
   368  	WorkProfilePasswordSignInFailureCountBeforeFactoryReset *int `json:"workProfilePasswordSignInFailureCountBeforeFactoryReset,omitempty"`
   369  	// WorkProfilePasswordRequiredType Type of work profile password that is required.
   370  	WorkProfilePasswordRequiredType *AndroidWorkProfileRequiredPasswordType `json:"workProfilePasswordRequiredType,omitempty"`
   371  	// WorkProfileRequirePassword Password is required or not for work profile
   372  	WorkProfileRequirePassword *bool `json:"workProfileRequirePassword,omitempty"`
   373  	// SecurityRequireVerifyApps Require the Android Verify apps feature is turned on.
   374  	SecurityRequireVerifyApps *bool `json:"securityRequireVerifyApps,omitempty"`
   375  }