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

package msgraph

// AndroidManagedAppProtection Policy used to configure detailed management settings targeted to specific security groups and for a specified set of apps on an Android device
type AndroidManagedAppProtection struct {
	// TargetedManagedAppProtection is the base model of AndroidManagedAppProtection
	TargetedManagedAppProtection
	// ScreenCaptureBlocked Indicates whether a managed user can take screen captures of managed apps
	ScreenCaptureBlocked *bool `json:"screenCaptureBlocked,omitempty"`
	// DisableAppEncryptionIfDeviceEncryptionIsEnabled When this setting is enabled, app level encryption is disabled if device level encryption is enabled
	DisableAppEncryptionIfDeviceEncryptionIsEnabled *bool `json:"disableAppEncryptionIfDeviceEncryptionIsEnabled,omitempty"`
	// EncryptAppData Indicates whether application data for managed apps should be encrypted
	EncryptAppData *bool `json:"encryptAppData,omitempty"`
	// DeployedAppCount Count of apps to which the current policy is deployed.
	DeployedAppCount *int `json:"deployedAppCount,omitempty"`
	// MinimumRequiredPatchVersion Define the oldest required Android security patch level a user can have to gain secure access to the app.
	MinimumRequiredPatchVersion *string `json:"minimumRequiredPatchVersion,omitempty"`
	// MinimumWarningPatchVersion Define the oldest recommended Android security patch level a user can have for secure access to the app.
	MinimumWarningPatchVersion *string `json:"minimumWarningPatchVersion,omitempty"`
	// ExemptedAppPackages App packages in this list will be exempt from the policy and will be able to receive data from managed apps.
	ExemptedAppPackages []KeyValuePair `json:"exemptedAppPackages,omitempty"`
	// MinimumWipePatchVersion Android security patch level  less than or equal to the specified value will wipe the managed app and the associated company data.
	MinimumWipePatchVersion *string `json:"minimumWipePatchVersion,omitempty"`
	// AllowedAndroidDeviceManufacturers Semicolon seperated list of device manufacturers allowed, as a string, for the managed app to work.
	AllowedAndroidDeviceManufacturers *string `json:"allowedAndroidDeviceManufacturers,omitempty"`
	// AppActionIfAndroidDeviceManufacturerNotAllowed Defines a managed app behavior, either block or wipe, if the specified device manufacturer is not allowed.
	AppActionIfAndroidDeviceManufacturerNotAllowed *ManagedAppRemediationAction `json:"appActionIfAndroidDeviceManufacturerNotAllowed,omitempty"`
	// RequiredAndroidSafetyNetDeviceAttestationType Defines the Android SafetyNet Device Attestation requirement for a managed app to work.
	RequiredAndroidSafetyNetDeviceAttestationType *AndroidManagedAppSafetyNetDeviceAttestationType `json:"requiredAndroidSafetyNetDeviceAttestationType,omitempty"`
	// AppActionIfAndroidSafetyNetDeviceAttestationFailed Defines a managed app behavior, either warn or block, if the specified Android SafetyNet Attestation requirment fails.
	AppActionIfAndroidSafetyNetDeviceAttestationFailed *ManagedAppRemediationAction `json:"appActionIfAndroidSafetyNetDeviceAttestationFailed,omitempty"`
	// RequiredAndroidSafetyNetAppsVerificationType Defines the Android SafetyNet Apps Verification requirement for a managed app to work.
	RequiredAndroidSafetyNetAppsVerificationType *AndroidManagedAppSafetyNetAppsVerificationType `json:"requiredAndroidSafetyNetAppsVerificationType,omitempty"`
	// AppActionIfAndroidSafetyNetAppsVerificationFailed Defines a managed app behavior, either warn or block, if the specified Android App Verification requirment fails.
	AppActionIfAndroidSafetyNetAppsVerificationFailed *ManagedAppRemediationAction `json:"appActionIfAndroidSafetyNetAppsVerificationFailed,omitempty"`
	// CustomBrowserPackageID Unique identifier of a custom browser to open weblink on Android.
	CustomBrowserPackageID *string `json:"customBrowserPackageId,omitempty"`
	// CustomBrowserDisplayName Friendly name of the preferred custom browser to open weblink on Android.
	CustomBrowserDisplayName *string `json:"customBrowserDisplayName,omitempty"`
	// MinimumRequiredCompanyPortalVersion Minimum version of the Company portal that must be installed on the device or app access will be blocked
	MinimumRequiredCompanyPortalVersion *string `json:"minimumRequiredCompanyPortalVersion,omitempty"`
	// MinimumWarningCompanyPortalVersion Minimum version of the Company portal that must be installed on the device or the user will receive a warning
	MinimumWarningCompanyPortalVersion *string `json:"minimumWarningCompanyPortalVersion,omitempty"`
	// MinimumWipeCompanyPortalVersion Minimum version of the Company portal that must be installed on the device or the company data on the app will be wiped
	MinimumWipeCompanyPortalVersion *string `json:"minimumWipeCompanyPortalVersion,omitempty"`
	// KeyboardsRestricted Indicates if keyboard restriction is enabled. If enabled list of approved keyboards must be provided as well.
	KeyboardsRestricted *bool `json:"keyboardsRestricted,omitempty"`
	// ApprovedKeyboards If Keyboard Restriction is enabled, only keyboards in this approved list will be allowed. A key should be Android package id for a keyboard and value should be a friendly name
	ApprovedKeyboards []KeyValuePair `json:"approvedKeyboards,omitempty"`
	// Apps undocumented
	Apps []ManagedMobileApp `json:"apps,omitempty"`
	// DeploymentSummary undocumented
	DeploymentSummary *ManagedAppPolicyDeploymentSummary `json:"deploymentSummary,omitempty"`
}