diff options
author | Qais Patankar <qaisjp@gmail.com> | 2020-03-15 22:43:46 +0000 |
---|---|---|
committer | Wim <wim@42.be> | 2020-03-22 00:02:48 +0100 |
commit | 76e5fe5a87d7e60919075f96eee599f3c6255a9f (patch) | |
tree | af3181ad6aadaea02069473a3718a827be888426 /vendor/github.com/yaegashi/msgraph.go/beta/ModelIOS.go | |
parent | 802c80f40c709ba4967de317e40a8d6abe57f6be (diff) | |
download | matterbridge-msglm-76e5fe5a87d7e60919075f96eee599f3c6255a9f.tar.gz matterbridge-msglm-76e5fe5a87d7e60919075f96eee599f3c6255a9f.tar.bz2 matterbridge-msglm-76e5fe5a87d7e60919075f96eee599f3c6255a9f.zip |
Update vendor yaegashi/msgraph.go to v0.1.2 (2)
Diffstat (limited to 'vendor/github.com/yaegashi/msgraph.go/beta/ModelIOS.go')
-rw-r--r-- | vendor/github.com/yaegashi/msgraph.go/beta/ModelIOS.go | 1227 |
1 files changed, 1227 insertions, 0 deletions
diff --git a/vendor/github.com/yaegashi/msgraph.go/beta/ModelIOS.go b/vendor/github.com/yaegashi/msgraph.go/beta/ModelIOS.go new file mode 100644 index 00000000..6f2f59c9 --- /dev/null +++ b/vendor/github.com/yaegashi/msgraph.go/beta/ModelIOS.go @@ -0,0 +1,1227 @@ +// Code generated by msgraph-generate.go DO NOT EDIT. + +package msgraph + +import "time" + +// IOSBookmark undocumented +type IOSBookmark struct { + // Object is the base model of IOSBookmark + Object + // URL URL allowed to access + URL *string `json:"url,omitempty"` + // BookmarkFolder The folder into which the bookmark should be added in Safari + BookmarkFolder *string `json:"bookmarkFolder,omitempty"` + // DisplayName The display name of the bookmark + DisplayName *string `json:"displayName,omitempty"` +} + +// IOSCertificateProfile Device Configuration. +type IOSCertificateProfile struct { + // DeviceConfiguration is the base model of IOSCertificateProfile + DeviceConfiguration +} + +// IOSCertificateProfileBase iOS certificate profile base. +type IOSCertificateProfileBase struct { + // IOSCertificateProfile is the base model of IOSCertificateProfileBase + IOSCertificateProfile + // RenewalThresholdPercentage Certificate renewal threshold percentage. Valid values 1 to 99 + RenewalThresholdPercentage *int `json:"renewalThresholdPercentage,omitempty"` + // SubjectNameFormat Certificate Subject Name Format. + SubjectNameFormat *AppleSubjectNameFormat `json:"subjectNameFormat,omitempty"` + // SubjectAlternativeNameType Certificate Subject Alternative Name type. + SubjectAlternativeNameType *SubjectAlternativeNameType `json:"subjectAlternativeNameType,omitempty"` + // CertificateValidityPeriodValue Value for the Certificate Validity Period. + CertificateValidityPeriodValue *int `json:"certificateValidityPeriodValue,omitempty"` + // CertificateValidityPeriodScale Scale for the Certificate Validity Period. + CertificateValidityPeriodScale *CertificateValidityPeriodScale `json:"certificateValidityPeriodScale,omitempty"` +} + +// IOSCompliancePolicy This class contains compliance settings for IOS. +type IOSCompliancePolicy struct { + // DeviceCompliancePolicy is the base model of IOSCompliancePolicy + DeviceCompliancePolicy + // PasscodeBlockSimple Indicates whether or not to block simple passcodes. + PasscodeBlockSimple *bool `json:"passcodeBlockSimple,omitempty"` + // PasscodeExpirationDays Number of days before the passcode expires. Valid values 1 to 65535 + PasscodeExpirationDays *int `json:"passcodeExpirationDays,omitempty"` + // PasscodeMinimumLength Minimum length of passcode. Valid values 4 to 14 + PasscodeMinimumLength *int `json:"passcodeMinimumLength,omitempty"` + // PasscodeMinutesOfInactivityBeforeLock Minutes of inactivity before a passcode is required. + PasscodeMinutesOfInactivityBeforeLock *int `json:"passcodeMinutesOfInactivityBeforeLock,omitempty"` + // PasscodeMinutesOfInactivityBeforeScreenTimeout Minutes of inactivity before the screen times out. + PasscodeMinutesOfInactivityBeforeScreenTimeout *int `json:"passcodeMinutesOfInactivityBeforeScreenTimeout,omitempty"` + // PasscodePreviousPasscodeBlockCount Number of previous passcodes to block. Valid values 1 to 24 + PasscodePreviousPasscodeBlockCount *int `json:"passcodePreviousPasscodeBlockCount,omitempty"` + // PasscodeMinimumCharacterSetCount The number of character sets required in the password. + PasscodeMinimumCharacterSetCount *int `json:"passcodeMinimumCharacterSetCount,omitempty"` + // PasscodeRequiredType The required passcode type. + PasscodeRequiredType *RequiredPasswordType `json:"passcodeRequiredType,omitempty"` + // PasscodeRequired Indicates whether or not to require a passcode. + PasscodeRequired *bool `json:"passcodeRequired,omitempty"` + // OsMinimumVersion Minimum IOS version. + OsMinimumVersion *string `json:"osMinimumVersion,omitempty"` + // OsMaximumVersion Maximum IOS version. + OsMaximumVersion *string `json:"osMaximumVersion,omitempty"` + // OsMinimumBuildVersion Minimum IOS build version. + OsMinimumBuildVersion *string `json:"osMinimumBuildVersion,omitempty"` + // OsMaximumBuildVersion Maximum IOS build version. + OsMaximumBuildVersion *string `json:"osMaximumBuildVersion,omitempty"` + // SecurityBlockJailbrokenDevices Devices must not be jailbroken or rooted. + SecurityBlockJailbrokenDevices *bool `json:"securityBlockJailbrokenDevices,omitempty"` + // DeviceThreatProtectionEnabled Require that devices have enabled device threat protection . + DeviceThreatProtectionEnabled *bool `json:"deviceThreatProtectionEnabled,omitempty"` + // DeviceThreatProtectionRequiredSecurityLevel Require Mobile Threat Protection minimum risk level to report noncompliance. + DeviceThreatProtectionRequiredSecurityLevel *DeviceThreatProtectionLevel `json:"deviceThreatProtectionRequiredSecurityLevel,omitempty"` + // ManagedEmailProfileRequired Indicates whether or not to require a managed email profile. + ManagedEmailProfileRequired *bool `json:"managedEmailProfileRequired,omitempty"` + // RestrictedApps Require the device to not have the specified apps installed. This collection can contain a maximum of 100 elements. + RestrictedApps []AppListItem `json:"restrictedApps,omitempty"` +} + +// IOSCustomConfiguration This topic provides descriptions of the declared methods, properties and relationships exposed by the iosCustomConfiguration resource. +type IOSCustomConfiguration struct { + // DeviceConfiguration is the base model of IOSCustomConfiguration + DeviceConfiguration + // PayloadName Name that is displayed to the user. + PayloadName *string `json:"payloadName,omitempty"` + // PayloadFileName Payload file name (*.mobileconfig | *.xml). + PayloadFileName *string `json:"payloadFileName,omitempty"` + // Payload Payload. (UTF8 encoded byte array) + Payload *Binary `json:"payload,omitempty"` +} + +// IOSDerivedCredentialAuthenticationConfiguration iOS Derived Credential profile. +type IOSDerivedCredentialAuthenticationConfiguration struct { + // DeviceConfiguration is the base model of IOSDerivedCredentialAuthenticationConfiguration + DeviceConfiguration + // DerivedCredentialSettings undocumented + DerivedCredentialSettings *DeviceManagementDerivedCredentialSettings `json:"derivedCredentialSettings,omitempty"` +} + +// IOSDeviceFeaturesConfiguration iOS Device Features Configuration Profile. +type IOSDeviceFeaturesConfiguration struct { + // AppleDeviceFeaturesConfigurationBase is the base model of IOSDeviceFeaturesConfiguration + AppleDeviceFeaturesConfigurationBase + // AssetTagTemplate Asset tag information for the device, displayed on the login window and lock screen. + AssetTagTemplate *string `json:"assetTagTemplate,omitempty"` + // ContentFilterSettings Gets or sets iOS Web Content Filter settings, supervised mode only + ContentFilterSettings *IOSWebContentFilterBase `json:"contentFilterSettings,omitempty"` + // LockScreenFootnote A footnote displayed on the login window and lock screen. Available in iOS 9.3.1 and later. + LockScreenFootnote *string `json:"lockScreenFootnote,omitempty"` + // HomeScreenDockIcons A list of app and folders to appear on the Home Screen Dock. This collection can contain a maximum of 500 elements. + HomeScreenDockIcons []IOSHomeScreenItem `json:"homeScreenDockIcons,omitempty"` + // HomeScreenPages A list of pages on the Home Screen. This collection can contain a maximum of 500 elements. + HomeScreenPages []IOSHomeScreenPage `json:"homeScreenPages,omitempty"` + // NotificationSettings Notification settings for each bundle id. Applicable to devices in supervised mode only (iOS 9.3 and later). This collection can contain a maximum of 500 elements. + NotificationSettings []IOSNotificationSettings `json:"notificationSettings,omitempty"` + // SingleSignOnSettings The Kerberos login settings that enable apps on receiving devices to authenticate smoothly. + SingleSignOnSettings *IOSSingleSignOnSettings `json:"singleSignOnSettings,omitempty"` + // WallpaperDisplayLocation A wallpaper display location specifier. + WallpaperDisplayLocation *IOSWallpaperDisplayLocation `json:"wallpaperDisplayLocation,omitempty"` + // WallpaperImage A wallpaper image must be in either PNG or JPEG format. It requires a supervised device with iOS 8 or later version. + WallpaperImage *MimeContent `json:"wallpaperImage,omitempty"` + // SingleSignOnExtension Gets or sets a single sign-on extension profile. + SingleSignOnExtension *SingleSignOnExtension `json:"singleSignOnExtension,omitempty"` + // IdentityCertificateForClientAuthentication undocumented + IdentityCertificateForClientAuthentication *IOSCertificateProfileBase `json:"identityCertificateForClientAuthentication,omitempty"` + // SingleSignOnExtensionPkinitCertificate undocumented + SingleSignOnExtensionPkinitCertificate *IOSCertificateProfileBase `json:"singleSignOnExtensionPkinitCertificate,omitempty"` +} + +// IOSDeviceType undocumented +type IOSDeviceType struct { + // Object is the base model of IOSDeviceType + Object + // IPad Whether the app should run on iPads. + IPad *bool `json:"iPad,omitempty"` + // IPhoneAndIPod Whether the app should run on iPhones and iPods. + IPhoneAndIPod *bool `json:"iPhoneAndIPod,omitempty"` +} + +// IOSEasEmailProfileConfiguration By providing configurations in this profile you can instruct the native email client on iOS devices to communicate with an Exchange server and get email, contacts, calendar, reminders, and notes. Furthermore, you can also specify how much email to sync and how often the device should sync. +type IOSEasEmailProfileConfiguration struct { + // EasEmailProfileConfigurationBase is the base model of IOSEasEmailProfileConfiguration + EasEmailProfileConfigurationBase + // AccountName Account name. + AccountName *string `json:"accountName,omitempty"` + // AuthenticationMethod Authentication method for this Email profile. + AuthenticationMethod *EasAuthenticationMethod `json:"authenticationMethod,omitempty"` + // BlockMovingMessagesToOtherEmailAccounts Indicates whether or not to block moving messages to other email accounts. + BlockMovingMessagesToOtherEmailAccounts *bool `json:"blockMovingMessagesToOtherEmailAccounts,omitempty"` + // BlockSendingEmailFromThirdPartyApps Indicates whether or not to block sending email from third party apps. + BlockSendingEmailFromThirdPartyApps *bool `json:"blockSendingEmailFromThirdPartyApps,omitempty"` + // BlockSyncingRecentlyUsedEmailAddresses Indicates whether or not to block syncing recently used email addresses, for instance - when composing new email. + BlockSyncingRecentlyUsedEmailAddresses *bool `json:"blockSyncingRecentlyUsedEmailAddresses,omitempty"` + // DurationOfEmailToSync Duration of time email should be synced back to. + DurationOfEmailToSync *EmailSyncDuration `json:"durationOfEmailToSync,omitempty"` + // EmailAddressSource Email attribute that is picked from AAD and injected into this profile before installing on the device. + EmailAddressSource *UserEmailSource `json:"emailAddressSource,omitempty"` + // EasServices Exchange data to sync. + EasServices *EasServices `json:"easServices,omitempty"` + // EasServicesUserOverrideEnabled Allow users to change sync settings. + EasServicesUserOverrideEnabled *bool `json:"easServicesUserOverrideEnabled,omitempty"` + // HostName Exchange location that (URL) that the native mail app connects to. + HostName *string `json:"hostName,omitempty"` + // RequireSmime Indicates whether or not to use S/MIME certificate. + RequireSmime *bool `json:"requireSmime,omitempty"` + // SmimeEnablePerMessageSwitch Indicates whether or not to allow unencrypted emails. + SmimeEnablePerMessageSwitch *bool `json:"smimeEnablePerMessageSwitch,omitempty"` + // SmimeEncryptByDefaultEnabled If set to true S/MIME encryption is enabled by default. + SmimeEncryptByDefaultEnabled *bool `json:"smimeEncryptByDefaultEnabled,omitempty"` + // SmimeSigningEnabled If set to true S/MIME signing is enabled for this account + SmimeSigningEnabled *bool `json:"smimeSigningEnabled,omitempty"` + // SmimeSigningUserOverrideEnabled If set to true, the user can toggle S/MIME signing on or off. + SmimeSigningUserOverrideEnabled *bool `json:"smimeSigningUserOverrideEnabled,omitempty"` + // SmimeEncryptByDefaultUserOverrideEnabled If set to true, the user can toggle the encryption by default setting. + SmimeEncryptByDefaultUserOverrideEnabled *bool `json:"smimeEncryptByDefaultUserOverrideEnabled,omitempty"` + // SmimeSigningCertificateUserOverrideEnabled If set to true, the user can select the signing identity. + SmimeSigningCertificateUserOverrideEnabled *bool `json:"smimeSigningCertificateUserOverrideEnabled,omitempty"` + // SmimeEncryptionCertificateUserOverrideEnabled If set to true the user can select the S/MIME encryption identity. + SmimeEncryptionCertificateUserOverrideEnabled *bool `json:"smimeEncryptionCertificateUserOverrideEnabled,omitempty"` + // RequireSsl Indicates whether or not to use SSL. + RequireSsl *bool `json:"requireSsl,omitempty"` + // UseOAuth Specifies whether the connection should use OAuth for authentication. + UseOAuth *bool `json:"useOAuth,omitempty"` + // SigningCertificateType Signing Certificate type for this Email profile. + SigningCertificateType *EmailCertificateType `json:"signingCertificateType,omitempty"` + // EncryptionCertificateType Encryption Certificate type for this Email profile. + EncryptionCertificateType *EmailCertificateType `json:"encryptionCertificateType,omitempty"` + // IdentityCertificate undocumented + IdentityCertificate *IOSCertificateProfileBase `json:"identityCertificate,omitempty"` + // SmimeSigningCertificate undocumented + SmimeSigningCertificate *IOSCertificateProfile `json:"smimeSigningCertificate,omitempty"` + // SmimeEncryptionCertificate undocumented + SmimeEncryptionCertificate *IOSCertificateProfile `json:"smimeEncryptionCertificate,omitempty"` + // DerivedCredentialSettings undocumented + DerivedCredentialSettings *DeviceManagementDerivedCredentialSettings `json:"derivedCredentialSettings,omitempty"` +} + +// IOSEduCertificateSettings undocumented +type IOSEduCertificateSettings struct { + // Object is the base model of IOSEduCertificateSettings + Object + // TrustedRootCertificate Trusted Root Certificate. + TrustedRootCertificate *Binary `json:"trustedRootCertificate,omitempty"` + // CertFileName File name to display in UI. + CertFileName *string `json:"certFileName,omitempty"` + // CertificationAuthority PKCS Certification Authority. + CertificationAuthority *string `json:"certificationAuthority,omitempty"` + // CertificationAuthorityName PKCS Certification Authority Name. + CertificationAuthorityName *string `json:"certificationAuthorityName,omitempty"` + // CertificateTemplateName PKCS Certificate Template Name. + CertificateTemplateName *string `json:"certificateTemplateName,omitempty"` + // RenewalThresholdPercentage Certificate renewal threshold percentage. Valid values 1 to 99 + RenewalThresholdPercentage *int `json:"renewalThresholdPercentage,omitempty"` + // CertificateValidityPeriodValue Value for the Certificate Validity Period. + CertificateValidityPeriodValue *int `json:"certificateValidityPeriodValue,omitempty"` + // CertificateValidityPeriodScale Scale for the Certificate Validity Period. + CertificateValidityPeriodScale *CertificateValidityPeriodScale `json:"certificateValidityPeriodScale,omitempty"` +} + +// IOSEduDeviceConfiguration iOS Education device configuration +type IOSEduDeviceConfiguration struct { + // DeviceConfiguration is the base model of IOSEduDeviceConfiguration + DeviceConfiguration + // TeacherCertificateSettings The Trusted Root and PFX certificates for Teacher + TeacherCertificateSettings *IOSEduCertificateSettings `json:"teacherCertificateSettings,omitempty"` + // StudentCertificateSettings The Trusted Root and PFX certificates for Student + StudentCertificateSettings *IOSEduCertificateSettings `json:"studentCertificateSettings,omitempty"` + // DeviceCertificateSettings The Trusted Root and PFX certificates for Device + DeviceCertificateSettings *IOSEduCertificateSettings `json:"deviceCertificateSettings,omitempty"` +} + +// IOSEducationDeviceConfiguration iOS Education configuration profile +type IOSEducationDeviceConfiguration struct { + // DeviceConfiguration is the base model of IOSEducationDeviceConfiguration + DeviceConfiguration +} + +// IOSEnterpriseWiFiConfiguration By providing the configurations in this profile you can instruct the iOS device to connect to desired Wi-Fi endpoint. By specifying the authentication method and security types expected by Wi-Fi endpoint you can make the Wi-Fi connection seamless for end user. +type IOSEnterpriseWiFiConfiguration struct { + // IOSWiFiConfiguration is the base model of IOSEnterpriseWiFiConfiguration + IOSWiFiConfiguration + // EapType Extensible Authentication Protocol (EAP). Indicates the type of EAP protocol set on the Wi-Fi endpoint (router). + EapType *EapType `json:"eapType,omitempty"` + // EapFastConfiguration EAP-FAST Configuration Option when EAP-FAST is the selected EAP Type. + EapFastConfiguration *EapFastConfiguration `json:"eapFastConfiguration,omitempty"` + // TrustedServerCertificateNames Trusted server certificate names when EAP Type is configured to EAP-TLS/TTLS/FAST or PEAP. This is the common name used in the certificates issued by your trusted certificate authority (CA). If you provide this information, you can bypass the dynamic trust dialog that is displayed on end users' devices when they connect to this Wi-Fi network. + TrustedServerCertificateNames []string `json:"trustedServerCertificateNames,omitempty"` + // AuthenticationMethod Authentication Method when EAP Type is configured to PEAP or EAP-TTLS. + AuthenticationMethod *WiFiAuthenticationMethod `json:"authenticationMethod,omitempty"` + // InnerAuthenticationProtocolForEapTtls Non-EAP Method for Authentication when EAP Type is EAP-TTLS and Authenticationmethod is Username and Password. + InnerAuthenticationProtocolForEapTtls *NonEapAuthenticationMethodForEapTtlsType `json:"innerAuthenticationProtocolForEapTtls,omitempty"` + // OuterIdentityPrivacyTemporaryValue Enable identity privacy (Outer Identity) when EAP Type is configured to EAP - TTLS, EAP - FAST or PEAP. This property masks usernames with the text you enter. For example, if you use 'anonymous', each user that authenticates with this Wi-Fi connection using their real username is displayed as 'anonymous'. + OuterIdentityPrivacyTemporaryValue *string `json:"outerIdentityPrivacyTemporaryValue,omitempty"` + // UsernameFormatString Username format string used to build the username to connect to wifi + UsernameFormatString *string `json:"usernameFormatString,omitempty"` + // PasswordFormatString Password format string used to build the password to connect to wifi + PasswordFormatString *string `json:"passwordFormatString,omitempty"` + // RootCertificatesForServerValidation undocumented + RootCertificatesForServerValidation []IOSTrustedRootCertificate `json:"rootCertificatesForServerValidation,omitempty"` + // IdentityCertificateForClientAuthentication undocumented + IdentityCertificateForClientAuthentication *IOSCertificateProfileBase `json:"identityCertificateForClientAuthentication,omitempty"` + // DerivedCredentialSettings undocumented + DerivedCredentialSettings *DeviceManagementDerivedCredentialSettings `json:"derivedCredentialSettings,omitempty"` +} + +// IOSGeneralDeviceConfiguration This topic provides descriptions of the declared methods, properties and relationships exposed by the iosGeneralDeviceConfiguration resource. +type IOSGeneralDeviceConfiguration struct { + // DeviceConfiguration is the base model of IOSGeneralDeviceConfiguration + DeviceConfiguration + // AccountBlockModification Indicates whether or not to allow account modification when the device is in supervised mode. + AccountBlockModification *bool `json:"accountBlockModification,omitempty"` + // ActivationLockAllowWhenSupervised Indicates whether or not to allow activation lock when the device is in the supervised mode. + ActivationLockAllowWhenSupervised *bool `json:"activationLockAllowWhenSupervised,omitempty"` + // AirDropBlocked Indicates whether or not to allow AirDrop when the device is in supervised mode. + AirDropBlocked *bool `json:"airDropBlocked,omitempty"` + // AirDropForceUnmanagedDropTarget Indicates whether or not to cause AirDrop to be considered an unmanaged drop target (iOS 9.0 and later). + AirDropForceUnmanagedDropTarget *bool `json:"airDropForceUnmanagedDropTarget,omitempty"` + // AirPlayForcePairingPasswordForOutgoingRequests Indicates whether or not to enforce all devices receiving AirPlay requests from this device to use a pairing password. + AirPlayForcePairingPasswordForOutgoingRequests *bool `json:"airPlayForcePairingPasswordForOutgoingRequests,omitempty"` + // AppleWatchBlockPairing Indicates whether or not to allow Apple Watch pairing when the device is in supervised mode (iOS 9.0 and later). + AppleWatchBlockPairing *bool `json:"appleWatchBlockPairing,omitempty"` + // AppleWatchForceWristDetection Indicates whether or not to force a paired Apple Watch to use Wrist Detection (iOS 8.2 and later). + AppleWatchForceWristDetection *bool `json:"appleWatchForceWristDetection,omitempty"` + // AppleNewsBlocked Indicates whether or not to block the user from using News when the device is in supervised mode (iOS 9.0 and later). + AppleNewsBlocked *bool `json:"appleNewsBlocked,omitempty"` + // AppsSingleAppModeList Gets or sets the list of iOS apps allowed to autonomously enter Single App Mode. Supervised only. iOS 7.0 and later. This collection can contain a maximum of 500 elements. + AppsSingleAppModeList []AppListItem `json:"appsSingleAppModeList,omitempty"` + // AppsVisibilityList List of apps in the visibility list (either visible/launchable apps list or hidden/unlaunchable apps list, controlled by AppsVisibilityListType) (iOS 9.3 and later). This collection can contain a maximum of 10000 elements. + AppsVisibilityList []AppListItem `json:"appsVisibilityList,omitempty"` + // AppsVisibilityListType Type of list that is in the AppsVisibilityList. + AppsVisibilityListType *AppListType `json:"appsVisibilityListType,omitempty"` + // AppStoreBlockAutomaticDownloads Indicates whether or not to block the automatic downloading of apps purchased on other devices when the device is in supervised mode (iOS 9.0 and later). + AppStoreBlockAutomaticDownloads *bool `json:"appStoreBlockAutomaticDownloads,omitempty"` + // AppStoreBlocked Indicates whether or not to block the user from using the App Store. Requires a supervised device for iOS 13 and later. + AppStoreBlocked *bool `json:"appStoreBlocked,omitempty"` + // AppStoreBlockInAppPurchases Indicates whether or not to block the user from making in app purchases. + AppStoreBlockInAppPurchases *bool `json:"appStoreBlockInAppPurchases,omitempty"` + // AppStoreBlockUIAppInstallation Indicates whether or not to block the App Store app, not restricting installation through Host apps. Applies to supervised mode only (iOS 9.0 and later). + AppStoreBlockUIAppInstallation *bool `json:"appStoreBlockUIAppInstallation,omitempty"` + // AppStoreRequirePassword Indicates whether or not to require a password when using the app store. + AppStoreRequirePassword *bool `json:"appStoreRequirePassword,omitempty"` + // AutoFillForceAuthentication Indicates whether or not to force user authentication before autofilling passwords and credit card information in Safari and other apps on supervised devices. + AutoFillForceAuthentication *bool `json:"autoFillForceAuthentication,omitempty"` + // BluetoothBlockModification Indicates whether or not to allow modification of Bluetooth settings when the device is in supervised mode (iOS 10.0 and later). + BluetoothBlockModification *bool `json:"bluetoothBlockModification,omitempty"` + // CameraBlocked Indicates whether or not to block the user from accessing the camera of the device. Requires a supervised device for iOS 13 and later. + CameraBlocked *bool `json:"cameraBlocked,omitempty"` + // CellularBlockDataRoaming Indicates whether or not to block data roaming. + CellularBlockDataRoaming *bool `json:"cellularBlockDataRoaming,omitempty"` + // CellularBlockGlobalBackgroundFetchWhileRoaming Indicates whether or not to block global background fetch while roaming. + CellularBlockGlobalBackgroundFetchWhileRoaming *bool `json:"cellularBlockGlobalBackgroundFetchWhileRoaming,omitempty"` + // CellularBlockPerAppDataModification Indicates whether or not to allow changes to cellular app data usage settings when the device is in supervised mode. + CellularBlockPerAppDataModification *bool `json:"cellularBlockPerAppDataModification,omitempty"` + // CellularBlockPersonalHotspot Indicates whether or not to block Personal Hotspot. + CellularBlockPersonalHotspot *bool `json:"cellularBlockPersonalHotspot,omitempty"` + // CellularBlockPlanModification Indicates whether or not to allow users to change the settings of the cellular plan on a supervised device. + CellularBlockPlanModification *bool `json:"cellularBlockPlanModification,omitempty"` + // CellularBlockVoiceRoaming Indicates whether or not to block voice roaming. + CellularBlockVoiceRoaming *bool `json:"cellularBlockVoiceRoaming,omitempty"` + // CertificatesBlockUntrustedTLSCertificates Indicates whether or not to block untrusted TLS certificates. + CertificatesBlockUntrustedTLSCertificates *bool `json:"certificatesBlockUntrustedTlsCertificates,omitempty"` + // ClassroomAppBlockRemoteScreenObservation Indicates whether or not to allow remote screen observation by Classroom app when the device is in supervised mode (iOS 9.3 and later). + ClassroomAppBlockRemoteScreenObservation *bool `json:"classroomAppBlockRemoteScreenObservation,omitempty"` + // ClassroomAppForceUnpromptedScreenObservation Indicates whether or not to automatically give permission to the teacher of a managed course on the Classroom app to view a student's screen without prompting when the device is in supervised mode. + ClassroomAppForceUnpromptedScreenObservation *bool `json:"classroomAppForceUnpromptedScreenObservation,omitempty"` + // ClassroomForceAutomaticallyJoinClasses Indicates whether or not to automatically give permission to the teacher's requests, without prompting the student, when the device is in supervised mode. + ClassroomForceAutomaticallyJoinClasses *bool `json:"classroomForceAutomaticallyJoinClasses,omitempty"` + // ClassroomForceUnpromptedAppAndDeviceLock Indicates whether or not to allow the teacher to lock apps or the device without prompting the student. Supervised only. + ClassroomForceUnpromptedAppAndDeviceLock *bool `json:"classroomForceUnpromptedAppAndDeviceLock,omitempty"` + // 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. + CompliantAppsList []AppListItem `json:"compliantAppsList,omitempty"` + // CompliantAppListType List that is in the AppComplianceList. + CompliantAppListType *AppListType `json:"compliantAppListType,omitempty"` + // ConfigurationProfileBlockChanges Indicates whether or not to block the user from installing configuration profiles and certificates interactively when the device is in supervised mode. + ConfigurationProfileBlockChanges *bool `json:"configurationProfileBlockChanges,omitempty"` + // DefinitionLookupBlocked Indicates whether or not to block definition lookup when the device is in supervised mode (iOS 8.1.3 and later ). + DefinitionLookupBlocked *bool `json:"definitionLookupBlocked,omitempty"` + // DeviceBlockEnableRestrictions Indicates whether or not to allow the user to enables restrictions in the device settings when the device is in supervised mode. + DeviceBlockEnableRestrictions *bool `json:"deviceBlockEnableRestrictions,omitempty"` + // DeviceBlockEraseContentAndSettings Indicates whether or not to allow the use of the 'Erase all content and settings' option on the device when the device is in supervised mode. + DeviceBlockEraseContentAndSettings *bool `json:"deviceBlockEraseContentAndSettings,omitempty"` + // DeviceBlockNameModification Indicates whether or not to allow device name modification when the device is in supervised mode (iOS 9.0 and later). + DeviceBlockNameModification *bool `json:"deviceBlockNameModification,omitempty"` + // DiagnosticDataBlockSubmission Indicates whether or not to block diagnostic data submission. + DiagnosticDataBlockSubmission *bool `json:"diagnosticDataBlockSubmission,omitempty"` + // DiagnosticDataBlockSubmissionModification Indicates whether or not to allow diagnostics submission settings modification when the device is in supervised mode (iOS 9.3.2 and later). + DiagnosticDataBlockSubmissionModification *bool `json:"diagnosticDataBlockSubmissionModification,omitempty"` + // DocumentsBlockManagedDocumentsInUnmanagedApps Indicates whether or not to block the user from viewing managed documents in unmanaged apps. + DocumentsBlockManagedDocumentsInUnmanagedApps *bool `json:"documentsBlockManagedDocumentsInUnmanagedApps,omitempty"` + // DocumentsBlockUnmanagedDocumentsInManagedApps Indicates whether or not to block the user from viewing unmanaged documents in managed apps. + DocumentsBlockUnmanagedDocumentsInManagedApps *bool `json:"documentsBlockUnmanagedDocumentsInManagedApps,omitempty"` + // EmailInDomainSuffixes An email address lacking a suffix that matches any of these strings will be considered out-of-domain. + EmailInDomainSuffixes []string `json:"emailInDomainSuffixes,omitempty"` + // EnterpriseAppBlockTrust Indicates whether or not to block the user from trusting an enterprise app. + EnterpriseAppBlockTrust *bool `json:"enterpriseAppBlockTrust,omitempty"` + // EnterpriseAppBlockTrustModification Indicates whether or not to block the user from modifying the enterprise app trust settings. + EnterpriseAppBlockTrustModification *bool `json:"enterpriseAppBlockTrustModification,omitempty"` + // EsimBlockModification Indicates whether or not to allow the addition or removal of cellular plans on the eSIM of a supervised device. + EsimBlockModification *bool `json:"esimBlockModification,omitempty"` + // FaceTimeBlocked Indicates whether or not to block the user from using FaceTime. Requires a supervised device for iOS 13 and later. + FaceTimeBlocked *bool `json:"faceTimeBlocked,omitempty"` + // FindMyFriendsBlocked Indicates whether or not to block changes to Find My Friends when the device is in supervised mode. + FindMyFriendsBlocked *bool `json:"findMyFriendsBlocked,omitempty"` + // GamingBlockGameCenterFriends Indicates whether or not to block the user from having friends in Game Center. Requires a supervised device for iOS 13 and later. + GamingBlockGameCenterFriends *bool `json:"gamingBlockGameCenterFriends,omitempty"` + // GamingBlockMultiplayer Indicates whether or not to block the user from using multiplayer gaming. Requires a supervised device for iOS 13 and later. + GamingBlockMultiplayer *bool `json:"gamingBlockMultiplayer,omitempty"` + // GameCenterBlocked Indicates whether or not to block the user from using Game Center when the device is in supervised mode. + GameCenterBlocked *bool `json:"gameCenterBlocked,omitempty"` + // HostPairingBlocked indicates whether or not to allow host pairing to control the devices an iOS device can pair with when the iOS device is in supervised mode. + HostPairingBlocked *bool `json:"hostPairingBlocked,omitempty"` + // IBooksStoreBlocked Indicates whether or not to block the user from using the iBooks Store when the device is in supervised mode. + IBooksStoreBlocked *bool `json:"iBooksStoreBlocked,omitempty"` + // IBooksStoreBlockErotica Indicates whether or not to block the user from downloading media from the iBookstore that has been tagged as erotica. + IBooksStoreBlockErotica *bool `json:"iBooksStoreBlockErotica,omitempty"` + // ICloudBlockActivityContinuation Indicates whether or not to block the user from continuing work they started on iOS device to another iOS or macOS device. + ICloudBlockActivityContinuation *bool `json:"iCloudBlockActivityContinuation,omitempty"` + // ICloudBlockBackup Indicates whether or not to block iCloud backup. Requires a supervised device for iOS 13 and later. + ICloudBlockBackup *bool `json:"iCloudBlockBackup,omitempty"` + // ICloudBlockDocumentSync Indicates whether or not to block iCloud document sync. Requires a supervised device for iOS 13 and later. + ICloudBlockDocumentSync *bool `json:"iCloudBlockDocumentSync,omitempty"` + // ICloudBlockManagedAppsSync Indicates whether or not to block Managed Apps Cloud Sync. + ICloudBlockManagedAppsSync *bool `json:"iCloudBlockManagedAppsSync,omitempty"` + // ICloudBlockPhotoLibrary Indicates whether or not to block iCloud Photo Library. + ICloudBlockPhotoLibrary *bool `json:"iCloudBlockPhotoLibrary,omitempty"` + // ICloudBlockPhotoStreamSync Indicates whether or not to block iCloud Photo Stream Sync. + ICloudBlockPhotoStreamSync *bool `json:"iCloudBlockPhotoStreamSync,omitempty"` + // ICloudBlockSharedPhotoStream Indicates whether or not to block Shared Photo Stream. + ICloudBlockSharedPhotoStream *bool `json:"iCloudBlockSharedPhotoStream,omitempty"` + // ICloudRequireEncryptedBackup Indicates whether or not to require backups to iCloud be encrypted. + ICloudRequireEncryptedBackup *bool `json:"iCloudRequireEncryptedBackup,omitempty"` + // ITunesBlockExplicitContent Indicates whether or not to block the user from accessing explicit content in iTunes and the App Store. Requires a supervised device for iOS 13 and later. + ITunesBlockExplicitContent *bool `json:"iTunesBlockExplicitContent,omitempty"` + // ITunesBlockMusicService Indicates whether or not to block Music service and revert Music app to classic mode when the device is in supervised mode (iOS 9.3 and later and macOS 10.12 and later). + ITunesBlockMusicService *bool `json:"iTunesBlockMusicService,omitempty"` + // ITunesBlockRadio Indicates whether or not to block the user from using iTunes Radio when the device is in supervised mode (iOS 9.3 and later). + ITunesBlockRadio *bool `json:"iTunesBlockRadio,omitempty"` + // KeyboardBlockAutoCorrect Indicates whether or not to block keyboard auto-correction when the device is in supervised mode (iOS 8.1.3 and later). + KeyboardBlockAutoCorrect *bool `json:"keyboardBlockAutoCorrect,omitempty"` + // KeyboardBlockDictation Indicates whether or not to block the user from using dictation input when the device is in supervised mode. + KeyboardBlockDictation *bool `json:"keyboardBlockDictation,omitempty"` + // KeyboardBlockPredictive Indicates whether or not to block predictive keyboards when device is in supervised mode (iOS 8.1.3 and later). + KeyboardBlockPredictive *bool `json:"keyboardBlockPredictive,omitempty"` + // KeyboardBlockShortcuts Indicates whether or not to block keyboard shortcuts when the device is in supervised mode (iOS 9.0 and later). + KeyboardBlockShortcuts *bool `json:"keyboardBlockShortcuts,omitempty"` + // KeyboardBlockSpellCheck Indicates whether or not to block keyboard spell-checking when the device is in supervised mode (iOS 8.1.3 and later). + KeyboardBlockSpellCheck *bool `json:"keyboardBlockSpellCheck,omitempty"` + // KioskModeAllowAssistiveSpeak Indicates whether or not to allow assistive speak while in kiosk mode. + KioskModeAllowAssistiveSpeak *bool `json:"kioskModeAllowAssistiveSpeak,omitempty"` + // KioskModeAllowAssistiveTouchSettings Indicates whether or not to allow access to the Assistive Touch Settings while in kiosk mode. + KioskModeAllowAssistiveTouchSettings *bool `json:"kioskModeAllowAssistiveTouchSettings,omitempty"` + // KioskModeAllowAutoLock Indicates whether or not to allow device auto lock while in kiosk mode. This property's functionality is redundant with the OS default and is deprecated. Use KioskModeBlockAutoLock instead. + KioskModeAllowAutoLock *bool `json:"kioskModeAllowAutoLock,omitempty"` + // KioskModeBlockAutoLock Indicates whether or not to block device auto lock while in kiosk mode. + KioskModeBlockAutoLock *bool `json:"kioskModeBlockAutoLock,omitempty"` + // KioskModeAllowColorInversionSettings Indicates whether or not to allow access to the Color Inversion Settings while in kiosk mode. + KioskModeAllowColorInversionSettings *bool `json:"kioskModeAllowColorInversionSettings,omitempty"` + // KioskModeAllowRingerSwitch Indicates whether or not to allow use of the ringer switch while in kiosk mode. This property's functionality is redundant with the OS default and is deprecated. Use KioskModeBlockRingerSwitch instead. + KioskModeAllowRingerSwitch *bool `json:"kioskModeAllowRingerSwitch,omitempty"` + // KioskModeBlockRingerSwitch Indicates whether or not to block use of the ringer switch while in kiosk mode. + KioskModeBlockRingerSwitch *bool `json:"kioskModeBlockRingerSwitch,omitempty"` + // KioskModeAllowScreenRotation Indicates whether or not to allow screen rotation while in kiosk mode. This property's functionality is redundant with the OS default and is deprecated. Use KioskModeBlockScreenRotation instead. + KioskModeAllowScreenRotation *bool `json:"kioskModeAllowScreenRotation,omitempty"` + // KioskModeBlockScreenRotation Indicates whether or not to block screen rotation while in kiosk mode. + KioskModeBlockScreenRotation *bool `json:"kioskModeBlockScreenRotation,omitempty"` + // KioskModeAllowSleepButton Indicates whether or not to allow use of the sleep button while in kiosk mode. This property's functionality is redundant with the OS default and is deprecated. Use KioskModeBlockSleepButton instead. + KioskModeAllowSleepButton *bool `json:"kioskModeAllowSleepButton,omitempty"` + // KioskModeBlockSleepButton Indicates whether or not to block use of the sleep button while in kiosk mode. + KioskModeBlockSleepButton *bool `json:"kioskModeBlockSleepButton,omitempty"` + // KioskModeAllowTouchscreen Indicates whether or not to allow use of the touchscreen while in kiosk mode. This property's functionality is redundant with the OS default and is deprecated. Use KioskModeBlockTouchscreen instead. + KioskModeAllowTouchscreen *bool `json:"kioskModeAllowTouchscreen,omitempty"` + // KioskModeBlockTouchscreen Indicates whether or not to block use of the touchscreen while in kiosk mode. + KioskModeBlockTouchscreen *bool `json:"kioskModeBlockTouchscreen,omitempty"` + // KioskModeEnableVoiceControl Indicates whether or not to enable voice control in kiosk mode. + KioskModeEnableVoiceControl *bool `json:"kioskModeEnableVoiceControl,omitempty"` + // KioskModeAllowVoiceControlModification Indicates whether or not to allow the user to toggle voice control in kiosk mode. + KioskModeAllowVoiceControlModification *bool `json:"kioskModeAllowVoiceControlModification,omitempty"` + // KioskModeAllowVoiceOverSettings Indicates whether or not to allow access to the voice over settings while in kiosk mode. + KioskModeAllowVoiceOverSettings *bool `json:"kioskModeAllowVoiceOverSettings,omitempty"` + // KioskModeAllowVolumeButtons Indicates whether or not to allow use of the volume buttons while in kiosk mode. This property's functionality is redundant with the OS default and is deprecated. Use KioskModeBlockVolumeButtons instead. + KioskModeAllowVolumeButtons *bool `json:"kioskModeAllowVolumeButtons,omitempty"` + // KioskModeBlockVolumeButtons Indicates whether or not to block the volume buttons while in Kiosk Mode. + KioskModeBlockVolumeButtons *bool `json:"kioskModeBlockVolumeButtons,omitempty"` + // KioskModeAllowZoomSettings Indicates whether or not to allow access to the zoom settings while in kiosk mode. + KioskModeAllowZoomSettings *bool `json:"kioskModeAllowZoomSettings,omitempty"` + // KioskModeAppStoreURL URL in the app store to the app to use for kiosk mode. Use if KioskModeManagedAppId is not known. + KioskModeAppStoreURL *string `json:"kioskModeAppStoreUrl,omitempty"` + // KioskModeBuiltInAppID ID for built-in apps to use for kiosk mode. Used when KioskModeManagedAppId and KioskModeAppStoreUrl are not set. + KioskModeBuiltInAppID *string `json:"kioskModeBuiltInAppId,omitempty"` + // KioskModeRequireAssistiveTouch Indicates whether or not to require assistive touch while in kiosk mode. + KioskModeRequireAssistiveTouch *bool `json:"kioskModeRequireAssistiveTouch,omitempty"` + // KioskModeRequireColorInversion Indicates whether or not to require color inversion while in kiosk mode. + KioskModeRequireColorInversion *bool `json:"kioskModeRequireColorInversion,omitempty"` + // KioskModeRequireMonoAudio Indicates whether or not to require mono audio while in kiosk mode. + KioskModeRequireMonoAudio *bool `json:"kioskModeRequireMonoAudio,omitempty"` + // KioskModeRequireVoiceOver Indicates whether or not to require voice over while in kiosk mode. + KioskModeRequireVoiceOver *bool `json:"kioskModeRequireVoiceOver,omitempty"` + // KioskModeRequireZoom Indicates whether or not to require zoom while in kiosk mode. + KioskModeRequireZoom *bool `json:"kioskModeRequireZoom,omitempty"` + // KioskModeManagedAppID Managed app id of the app to use for kiosk mode. If KioskModeManagedAppId is specified then KioskModeAppStoreUrl will be ignored. + KioskModeManagedAppID *string `json:"kioskModeManagedAppId,omitempty"` + // LockScreenBlockControlCenter Indicates whether or not to block the user from using control center on the lock screen. + LockScreenBlockControlCenter *bool `json:"lockScreenBlockControlCenter,omitempty"` + // LockScreenBlockNotificationView Indicates whether or not to block the user from using the notification view on the lock screen. + LockScreenBlockNotificationView *bool `json:"lockScreenBlockNotificationView,omitempty"` + // LockScreenBlockPassbook Indicates whether or not to block the user from using passbook when the device is locked. + LockScreenBlockPassbook *bool `json:"lockScreenBlockPassbook,omitempty"` + // LockScreenBlockTodayView Indicates whether or not to block the user from using the Today View on the lock screen. + LockScreenBlockTodayView *bool `json:"lockScreenBlockTodayView,omitempty"` + // MediaContentRatingAustralia Media content rating settings for Australia + MediaContentRatingAustralia *MediaContentRatingAustralia `json:"mediaContentRatingAustralia,omitempty"` + // MediaContentRatingCanada Media content rating settings for Canada + MediaContentRatingCanada *MediaContentRatingCanada `json:"mediaContentRatingCanada,omitempty"` + // MediaContentRatingFrance Media content rating settings for France + MediaContentRatingFrance *MediaContentRatingFrance `json:"mediaContentRatingFrance,omitempty"` + // MediaContentRatingGermany Media content rating settings for Germany + MediaContentRatingGermany *MediaContentRatingGermany `json:"mediaContentRatingGermany,omitempty"` + // MediaContentRatingIreland Media content rating settings for Ireland + MediaContentRatingIreland *MediaContentRatingIreland `json:"mediaContentRatingIreland,omitempty"` + // MediaContentRatingJapan Media content rating settings for Japan + MediaContentRatingJapan *MediaContentRatingJapan `json:"mediaContentRatingJapan,omitempty"` + // MediaContentRatingNewZealand Media content rating settings for New Zealand + MediaContentRatingNewZealand *MediaContentRatingNewZealand `json:"mediaContentRatingNewZealand,omitempty"` + // MediaContentRatingUnitedKingdom Media content rating settings for United Kingdom + MediaContentRatingUnitedKingdom *MediaContentRatingUnitedKingdom `json:"mediaContentRatingUnitedKingdom,omitempty"` + // MediaContentRatingUnitedStates Media content rating settings for United States + MediaContentRatingUnitedStates *MediaContentRatingUnitedStates `json:"mediaContentRatingUnitedStates,omitempty"` + // NetworkUsageRules List of managed apps and the network rules that applies to them. This collection can contain a maximum of 1000 elements. + NetworkUsageRules []IOSNetworkUsageRule `json:"networkUsageRules,omitempty"` + // MediaContentRatingApps Media content rating settings for Apps + MediaContentRatingApps *RatingAppsType `json:"mediaContentRatingApps,omitempty"` + // MessagesBlocked Indicates whether or not to block the user from using the Messages app on the supervised device. + MessagesBlocked *bool `json:"messagesBlocked,omitempty"` + // NotificationsBlockSettingsModification Indicates whether or not to allow notifications settings modification (iOS 9.3 and later). + NotificationsBlockSettingsModification *bool `json:"notificationsBlockSettingsModification,omitempty"` + // PasscodeBlockFingerprintUnlock Indicates whether or not to block fingerprint unlock. + PasscodeBlockFingerprintUnlock *bool `json:"passcodeBlockFingerprintUnlock,omitempty"` + // PasscodeBlockFingerprintModification Block modification of registered Touch ID fingerprints when in supervised mode. + PasscodeBlockFingerprintModification *bool `json:"passcodeBlockFingerprintModification,omitempty"` + // PasscodeBlockModification Indicates whether or not to allow passcode modification on the supervised device (iOS 9.0 and later). + PasscodeBlockModification *bool `json:"passcodeBlockModification,omitempty"` + // PasscodeBlockSimple Indicates whether or not to block simple passcodes. + PasscodeBlockSimple *bool `json:"passcodeBlockSimple,omitempty"` + // PasscodeExpirationDays Number of days before the passcode expires. Valid values 1 to 65535 + PasscodeExpirationDays *int `json:"passcodeExpirationDays,omitempty"` + // PasscodeMinimumLength Minimum length of passcode. Valid values 4 to 14 + PasscodeMinimumLength *int `json:"passcodeMinimumLength,omitempty"` + // PasscodeMinutesOfInactivityBeforeLock Minutes of inactivity before a passcode is required. + PasscodeMinutesOfInactivityBeforeLock *int `json:"passcodeMinutesOfInactivityBeforeLock,omitempty"` + // PasscodeMinutesOfInactivityBeforeScreenTimeout Minutes of inactivity before the screen times out. + PasscodeMinutesOfInactivityBeforeScreenTimeout *int `json:"passcodeMinutesOfInactivityBeforeScreenTimeout,omitempty"` + // PasscodeMinimumCharacterSetCount Number of character sets a passcode must contain. Valid values 0 to 4 + PasscodeMinimumCharacterSetCount *int `json:"passcodeMinimumCharacterSetCount,omitempty"` + // PasscodePreviousPasscodeBlockCount Number of previous passcodes to block. Valid values 1 to 24 + PasscodePreviousPasscodeBlockCount *int `json:"passcodePreviousPasscodeBlockCount,omitempty"` + // PasscodeSignInFailureCountBeforeWipe Number of sign in failures allowed before wiping the device. Valid values 4 to 11 + PasscodeSignInFailureCountBeforeWipe *int `json:"passcodeSignInFailureCountBeforeWipe,omitempty"` + // PasscodeRequiredType Type of passcode that is required. + PasscodeRequiredType *RequiredPasswordType `json:"passcodeRequiredType,omitempty"` + // PasscodeRequired Indicates whether or not to require a passcode. + PasscodeRequired *bool `json:"passcodeRequired,omitempty"` + // PodcastsBlocked Indicates whether or not to block the user from using podcasts on the supervised device (iOS 8.0 and later). + PodcastsBlocked *bool `json:"podcastsBlocked,omitempty"` + // ProximityBlockSetupToNewDevice Indicates whether or not to enable the prompt to setup nearby devices with a supervised device. + ProximityBlockSetupToNewDevice *bool `json:"proximityBlockSetupToNewDevice,omitempty"` + // SafariBlockAutofill Indicates whether or not to block the user from using Auto fill in Safari. Requires a supervised device for iOS 13 and later. + SafariBlockAutofill *bool `json:"safariBlockAutofill,omitempty"` + // SafariBlockJavaScript Indicates whether or not to block JavaScript in Safari. + SafariBlockJavaScript *bool `json:"safariBlockJavaScript,omitempty"` + // SafariBlockPopups Indicates whether or not to block popups in Safari. + SafariBlockPopups *bool `json:"safariBlockPopups,omitempty"` + // SafariBlocked Indicates whether or not to block the user from using Safari. Requires a supervised device for iOS 13 and later. + SafariBlocked *bool `json:"safariBlocked,omitempty"` + // SafariCookieSettings Cookie settings for Safari. + SafariCookieSettings *WebBrowserCookieSettings `json:"safariCookieSettings,omitempty"` + // SafariManagedDomains URLs matching the patterns listed here will be considered managed. + SafariManagedDomains []string `json:"safariManagedDomains,omitempty"` + // SafariPasswordAutoFillDomains Users can save passwords in Safari only from URLs matching the patterns listed here. Applies to devices in supervised mode (iOS 9.3 and later). + SafariPasswordAutoFillDomains []string `json:"safariPasswordAutoFillDomains,omitempty"` + // SafariRequireFraudWarning Indicates whether or not to require fraud warning in Safari. + SafariRequireFraudWarning *bool `json:"safariRequireFraudWarning,omitempty"` + // ScreenCaptureBlocked Indicates whether or not to block the user from taking Screenshots. + ScreenCaptureBlocked *bool `json:"screenCaptureBlocked,omitempty"` + // SiriBlocked Indicates whether or not to block the user from using Siri. + SiriBlocked *bool `json:"siriBlocked,omitempty"` + // SiriBlockedWhenLocked Indicates whether or not to block the user from using Siri when locked. + SiriBlockedWhenLocked *bool `json:"siriBlockedWhenLocked,omitempty"` + // SiriBlockUserGeneratedContent Indicates whether or not to block Siri from querying user-generated content when used on a supervised device. + SiriBlockUserGeneratedContent *bool `json:"siriBlockUserGeneratedContent,omitempty"` + // SiriRequireProfanityFilter Indicates whether or not to prevent Siri from dictating, or speaking profane language on supervised device. + SiriRequireProfanityFilter *bool `json:"siriRequireProfanityFilter,omitempty"` + // SoftwareUpdatesEnforcedDelayInDays Sets how many days a software update will be delyed for a supervised device. Valid values 0 to 90 + SoftwareUpdatesEnforcedDelayInDays *int `json:"softwareUpdatesEnforcedDelayInDays,omitempty"` + // SoftwareUpdatesForceDelayed Indicates whether or not to delay user visibility of software updates when the device is in supervised mode. + SoftwareUpdatesForceDelayed *bool `json:"softwareUpdatesForceDelayed,omitempty"` + // SpotlightBlockInternetResults Indicates whether or not to block Spotlight search from returning internet results on supervised device. + SpotlightBlockInternetResults *bool `json:"spotlightBlockInternetResults,omitempty"` + // VoiceDialingBlocked Indicates whether or not to block voice dialing. + VoiceDialingBlocked *bool `json:"voiceDialingBlocked,omitempty"` + // WallpaperBlockModification Indicates whether or not to allow wallpaper modification on supervised device (iOS 9.0 and later) . + WallpaperBlockModification *bool `json:"wallpaperBlockModification,omitempty"` + // WiFiConnectOnlyToConfiguredNetworks Indicates whether or not to force the device to use only Wi-Fi networks from configuration profiles when the device is in supervised mode. + WiFiConnectOnlyToConfiguredNetworks *bool `json:"wiFiConnectOnlyToConfiguredNetworks,omitempty"` + // ClassroomForceRequestPermissionToLeaveClasses Indicates whether a student enrolled in an unmanaged course via Classroom will request permission from the teacher when attempting to leave the course (iOS 11.3 and later). + ClassroomForceRequestPermissionToLeaveClasses *bool `json:"classroomForceRequestPermissionToLeaveClasses,omitempty"` + // KeychainBlockCloudSync Indicates whether or not iCloud keychain synchronization is blocked. Requires a supervised device for iOS 13 and later. + KeychainBlockCloudSync *bool `json:"keychainBlockCloudSync,omitempty"` + // PkiBlockOTAUpdates Indicates whether or not over-the-air PKI updates are blocked. Setting this restriction to false does not disable CRL and OCSP checks (iOS 7.0 and later). + PkiBlockOTAUpdates *bool `json:"pkiBlockOTAUpdates,omitempty"` + // PrivacyForceLimitAdTracking Indicates if ad tracking is limited.(iOS 7.0 and later). + PrivacyForceLimitAdTracking *bool `json:"privacyForceLimitAdTracking,omitempty"` + // EnterpriseBookBlockBackup Indicates whether or not Enterprise book back up is blocked. + EnterpriseBookBlockBackup *bool `json:"enterpriseBookBlockBackup,omitempty"` + // EnterpriseBookBlockMetadataSync Indicates whether or not Enterprise book notes and highlights sync is blocked. + EnterpriseBookBlockMetadataSync *bool `json:"enterpriseBookBlockMetadataSync,omitempty"` + // AirPrintBlocked Indicates whether or not AirPrint is blocked (iOS 11.0 and later). + AirPrintBlocked *bool `json:"airPrintBlocked,omitempty"` + // AirPrintBlockCredentialsStorage Indicates whether or not keychain storage of username and password for Airprint is blocked (iOS 11.0 and later). + AirPrintBlockCredentialsStorage *bool `json:"airPrintBlockCredentialsStorage,omitempty"` + // AirPrintForceTrustedTLS Indicates if trusted certificates are required for TLS printing communication (iOS 11.0 and later). + AirPrintForceTrustedTLS *bool `json:"airPrintForceTrustedTLS,omitempty"` + // AirPrintBlockiBeaconDiscovery Indicates whether or not iBeacon discovery of AirPrint printers is blocked. This prevents spurious AirPrint Bluetooth beacons from phishing for network traffic (iOS 11.0 and later). + AirPrintBlockiBeaconDiscovery *bool `json:"airPrintBlockiBeaconDiscovery,omitempty"` + // FilesNetworkDriveAccessBlocked Indicates if devices can access files or other resources on a network server using the Server Message Block (SMB) protocol. Available for devices running iOS and iPadOS, versions 13.0 and later. + FilesNetworkDriveAccessBlocked *bool `json:"filesNetworkDriveAccessBlocked,omitempty"` + // FilesUsbDriveAccessBlocked Indicates if sevices with access can connect to and open files on a USB drive. Available for devices running iOS and iPadOS, versions 13.0 and later. + FilesUsbDriveAccessBlocked *bool `json:"filesUsbDriveAccessBlocked,omitempty"` + // WiFiPowerOnForced Indicates whether or not Wi-Fi remains on, even when device is in airplane mode. Available for devices running iOS and iPadOS, versions 13.0 and later. + WiFiPowerOnForced *bool `json:"wifiPowerOnForced,omitempty"` + // BlockSystemAppRemoval Indicates whether or not the removal of system apps from the device is blocked on a supervised device (iOS 11.0 and later). + BlockSystemAppRemoval *bool `json:"blockSystemAppRemoval,omitempty"` + // VPNBlockCreation Indicates whether or not the creation of VPN configurations is blocked (iOS 11.0 and later). + VPNBlockCreation *bool `json:"vpnBlockCreation,omitempty"` + // AppRemovalBlocked Indicates if the removal of apps is allowed. + AppRemovalBlocked *bool `json:"appRemovalBlocked,omitempty"` + // UsbRestrictedModeBlocked Indicates if connecting to USB accessories while the device is locked is allowed (iOS 11.4.1 and later). + UsbRestrictedModeBlocked *bool `json:"usbRestrictedModeBlocked,omitempty"` + // PasswordBlockAutoFill Indicates if the AutoFill passwords feature is allowed (iOS 12.0 and later). + PasswordBlockAutoFill *bool `json:"passwordBlockAutoFill,omitempty"` + // PasswordBlockProximityRequests Indicates whether or not to block requesting passwords from nearby devices (iOS 12.0 and later). + PasswordBlockProximityRequests *bool `json:"passwordBlockProximityRequests,omitempty"` + // PasswordBlockAirDropSharing Indicates whether or not to block sharing passwords with the AirDrop passwords feature iOS 12.0 and later). + PasswordBlockAirDropSharing *bool `json:"passwordBlockAirDropSharing,omitempty"` + // DateAndTimeForceSetAutomatically Indicates whether or not the Date and Time "Set Automatically" feature is enabled and cannot be turned off by the user (iOS 12.0 and later). + DateAndTimeForceSetAutomatically *bool `json:"dateAndTimeForceSetAutomatically,omitempty"` + // ContactsAllowManagedToUnmanagedWrite Indicates whether or not managed apps can write contacts to unmanaged contacts accounts (iOS 12.0 and later). + ContactsAllowManagedToUnmanagedWrite *bool `json:"contactsAllowManagedToUnmanagedWrite,omitempty"` + // ContactsAllowUnmanagedToManagedRead Indicates whether or not unmanaged apps can read from managed contacts accounts (iOS 12.0 or later). + ContactsAllowUnmanagedToManagedRead *bool `json:"contactsAllowUnmanagedToManagedRead,omitempty"` + // CellularBlockPersonalHotspotModification Indicates whether or not to block the user from modifying the personal hotspot setting (iOS 12.2 or later). + CellularBlockPersonalHotspotModification *bool `json:"cellularBlockPersonalHotspotModification,omitempty"` + // ContinuousPathKeyboardBlocked Indicates whether or not to block the continuous path keyboard when the device is supervised (iOS 13 or later). + ContinuousPathKeyboardBlocked *bool `json:"continuousPathKeyboardBlocked,omitempty"` + // FindMyDeviceInFindMyAppBlocked Indicates whether or not to block Find My Device when the device is supervised (iOS 13 or later). + FindMyDeviceInFindMyAppBlocked *bool `json:"findMyDeviceInFindMyAppBlocked,omitempty"` + // FindMyFriendsInFindMyAppBlocked Indicates whether or not to block Find My Friends when the device is supervised (iOS 13 or later). + FindMyFriendsInFindMyAppBlocked *bool `json:"findMyFriendsInFindMyAppBlocked,omitempty"` + // ITunesBlocked Indicates whether or not to block the iTunes app. Requires a supervised device for iOS 13 and later. + ITunesBlocked *bool `json:"iTunesBlocked,omitempty"` +} + +// IOSHomeScreenApp undocumented +type IOSHomeScreenApp struct { + // IOSHomeScreenItem is the base model of IOSHomeScreenApp + IOSHomeScreenItem + // BundleID BundleID of app + BundleID *string `json:"bundleID,omitempty"` +} + +// IOSHomeScreenFolder undocumented +type IOSHomeScreenFolder struct { + // IOSHomeScreenItem is the base model of IOSHomeScreenFolder + IOSHomeScreenItem + // Pages Pages of Home Screen Layout Icons which must be Application Type. This collection can contain a maximum of 500 elements. + Pages []IOSHomeScreenFolderPage `json:"pages,omitempty"` +} + +// IOSHomeScreenFolderPage undocumented +type IOSHomeScreenFolderPage struct { + // Object is the base model of IOSHomeScreenFolderPage + Object + // DisplayName Name of the folder page + DisplayName *string `json:"displayName,omitempty"` + // Apps A list of apps to appear on a page within a folder. This collection can contain a maximum of 500 elements. + Apps []IOSHomeScreenApp `json:"apps,omitempty"` +} + +// IOSHomeScreenItem undocumented +type IOSHomeScreenItem struct { + // Object is the base model of IOSHomeScreenItem + Object + // DisplayName Name of the app + DisplayName *string `json:"displayName,omitempty"` +} + +// IOSHomeScreenPage undocumented +type IOSHomeScreenPage struct { + // Object is the base model of IOSHomeScreenPage + Object + // DisplayName Name of the page + DisplayName *string `json:"displayName,omitempty"` + // Icons A list of apps and folders to appear on a page. This collection can contain a maximum of 500 elements. + Icons []IOSHomeScreenItem `json:"icons,omitempty"` +} + +// IOSImportedPFXCertificateProfile iOS PFX Import certificate profile +type IOSImportedPFXCertificateProfile struct { + // IOSCertificateProfile is the base model of IOSImportedPFXCertificateProfile + IOSCertificateProfile + // IntendedPurpose Intended Purpose of the Certificate Profile - which could be Unassigned, SmimeEncryption, SmimeSigning etc. + IntendedPurpose *IntendedPurpose `json:"intendedPurpose,omitempty"` + // ManagedDeviceCertificateStates undocumented + ManagedDeviceCertificateStates []ManagedDeviceCertificateState `json:"managedDeviceCertificateStates,omitempty"` +} + +// IOSKerberosSingleSignOnExtension undocumented +type IOSKerberosSingleSignOnExtension struct { + // KerberosSingleSignOnExtension is the base model of IOSKerberosSingleSignOnExtension + KerberosSingleSignOnExtension +} + +// IOSLobApp Contains properties and inherited properties for iOS Line Of Business apps. +type IOSLobApp struct { + // MobileLobApp is the base model of IOSLobApp + MobileLobApp + // BundleID The Identity Name. + BundleID *string `json:"bundleId,omitempty"` + // ApplicableDeviceType The iOS architecture for which this app can run on. + ApplicableDeviceType *IOSDeviceType `json:"applicableDeviceType,omitempty"` + // MinimumSupportedOperatingSystem The value for the minimum applicable operating system. + MinimumSupportedOperatingSystem *IOSMinimumOperatingSystem `json:"minimumSupportedOperatingSystem,omitempty"` + // ExpirationDateTime The expiration time. + ExpirationDateTime *time.Time `json:"expirationDateTime,omitempty"` + // VersionNumber The version number of iOS Line of Business (LoB) app. + VersionNumber *string `json:"versionNumber,omitempty"` + // BuildNumber The build number of iOS Line of Business (LoB) app. + BuildNumber *string `json:"buildNumber,omitempty"` + // IdentityVersion The identity version. + IdentityVersion *string `json:"identityVersion,omitempty"` +} + +// IOSLobAppAssignmentSettings undocumented +type IOSLobAppAssignmentSettings struct { + // MobileAppAssignmentSettings is the base model of IOSLobAppAssignmentSettings + MobileAppAssignmentSettings + // VPNConfigurationID The VPN Configuration Id to apply for this app. + VPNConfigurationID *string `json:"vpnConfigurationId,omitempty"` + // UninstallOnDeviceRemoval Whether or not to uninstall the app when device is removed from Intune. + UninstallOnDeviceRemoval *bool `json:"uninstallOnDeviceRemoval,omitempty"` +} + +// IOSLobAppProvisioningConfiguration This topic provides descriptions of the declared methods, properties and relationships exposed by the iOS Lob App Provisioning Configuration resource. +type IOSLobAppProvisioningConfiguration struct { + // Entity is the base model of IOSLobAppProvisioningConfiguration + Entity + // ExpirationDateTime Optional profile expiration date and time. + ExpirationDateTime *time.Time `json:"expirationDateTime,omitempty"` + // PayloadFileName Payload file name (*.mobileprovision | *.xml). + PayloadFileName *string `json:"payloadFileName,omitempty"` + // Payload Payload. (UTF8 encoded byte array) + Payload *Binary `json:"payload,omitempty"` + // RoleScopeTagIDs List of Scope Tags for this iOS LOB app provisioning configuration entity. + RoleScopeTagIDs []string `json:"roleScopeTagIds,omitempty"` + // CreatedDateTime DateTime the object was created. + CreatedDateTime *time.Time `json:"createdDateTime,omitempty"` + // Description Admin provided description of the Device Configuration. + Description *string `json:"description,omitempty"` + // LastModifiedDateTime DateTime the object was last modified. + LastModifiedDateTime *time.Time `json:"lastModifiedDateTime,omitempty"` + // DisplayName Admin provided name of the device configuration. + DisplayName *string `json:"displayName,omitempty"` + // Version Version of the device configuration. + Version *int `json:"version,omitempty"` + // GroupAssignments undocumented + GroupAssignments []MobileAppProvisioningConfigGroupAssignment `json:"groupAssignments,omitempty"` + // Assignments undocumented + Assignments []IOSLobAppProvisioningConfigurationAssignment `json:"assignments,omitempty"` + // DeviceStatuses undocumented + DeviceStatuses []ManagedDeviceMobileAppConfigurationDeviceStatus `json:"deviceStatuses,omitempty"` + // UserStatuses undocumented + UserStatuses []ManagedDeviceMobileAppConfigurationUserStatus `json:"userStatuses,omitempty"` +} + +// IOSLobAppProvisioningConfigurationAssignment A class containing the properties used for Group Assignment of an iOS LOB App Provisioning and Configuration. +type IOSLobAppProvisioningConfigurationAssignment struct { + // Entity is the base model of IOSLobAppProvisioningConfigurationAssignment + Entity + // Target The target group assignment defined by the admin. + Target *DeviceAndAppManagementAssignmentTarget `json:"target,omitempty"` +} + +// IOSLobAppProvisioningConfigurationPolicySetItem A class containing the properties used for iOS lob app provisioning configuration PolicySetItem. +type IOSLobAppProvisioningConfigurationPolicySetItem struct { + // PolicySetItem is the base model of IOSLobAppProvisioningConfigurationPolicySetItem + PolicySetItem +} + +// IOSManagedAppProtection Policy used to configure detailed management settings targeted to specific security groups and for a specified set of apps on an iOS device +type IOSManagedAppProtection struct { + // TargetedManagedAppProtection is the base model of IOSManagedAppProtection + TargetedManagedAppProtection + // AppDataEncryptionType Type of encryption which should be used for data in a managed app. + AppDataEncryptionType *ManagedAppDataEncryptionType `json:"appDataEncryptionType,omitempty"` + // MinimumRequiredSdkVersion Versions less than the specified version will block the managed app from accessing company data. + MinimumRequiredSdkVersion *string `json:"minimumRequiredSdkVersion,omitempty"` + // DeployedAppCount Count of apps to which the current policy is deployed. + DeployedAppCount *int `json:"deployedAppCount,omitempty"` + // FaceIDBlocked Indicates whether use of the FaceID is allowed in place of a pin if PinRequired is set to True. + FaceIDBlocked *bool `json:"faceIdBlocked,omitempty"` + // ExemptedAppProtocols Apps in this list will be exempt from the policy and will be able to receive data from managed apps. + ExemptedAppProtocols []KeyValuePair `json:"exemptedAppProtocols,omitempty"` + // MinimumWipeSdkVersion Versions less than the specified version will block the managed app from accessing company data. + MinimumWipeSdkVersion *string `json:"minimumWipeSdkVersion,omitempty"` + // AllowedIOSDeviceModels Semicolon seperated list of device models allowed, as a string, for the managed app to work. + AllowedIOSDeviceModels *string `json:"allowedIosDeviceModels,omitempty"` + // AppActionIfIOSDeviceModelNotAllowed Defines a managed app behavior, either block or wipe, if the specified device model is not allowed. + AppActionIfIOSDeviceModelNotAllowed *ManagedAppRemediationAction `json:"appActionIfIosDeviceModelNotAllowed,omitempty"` + // ThirdPartyKeyboardsBlocked Defines if third party keyboards are allowed while accessing a managed app + ThirdPartyKeyboardsBlocked *bool `json:"thirdPartyKeyboardsBlocked,omitempty"` + // FilterOpenInToOnlyManagedApps Defines if open-in operation is supported from the managed app to the filesharing locations selected. This setting only applies when AllowedOutboundDataTransferDestinations is set to ManagedApps and DisableProtectionOfManagedOutboundOpenInData is set to False. + FilterOpenInToOnlyManagedApps *bool `json:"filterOpenInToOnlyManagedApps,omitempty"` + // DisableProtectionOfManagedOutboundOpenInData Disable protection of data transferred to other apps through IOS OpenIn option. This setting is only allowed to be True when AllowedOutboundDataTransferDestinations is set to ManagedApps. + DisableProtectionOfManagedOutboundOpenInData *bool `json:"disableProtectionOfManagedOutboundOpenInData,omitempty"` + // ProtectInboundDataFromUnknownSources Protect incoming data from unknown source. This setting is only allowed to be True when AllowedInboundDataTransferSources is set to AllApps. + ProtectInboundDataFromUnknownSources *bool `json:"protectInboundDataFromUnknownSources,omitempty"` + // CustomBrowserProtocol A custom browser protocol to open weblink on iOS. + CustomBrowserProtocol *string `json:"customBrowserProtocol,omitempty"` + // Apps undocumented + Apps []ManagedMobileApp `json:"apps,omitempty"` + // DeploymentSummary undocumented + DeploymentSummary *ManagedAppPolicyDeploymentSummary `json:"deploymentSummary,omitempty"` +} + +// IOSManagedAppRegistration Represents the synchronization details of an ios app, with management capabilities, for a specific user. +type IOSManagedAppRegistration struct { + // ManagedAppRegistration is the base model of IOSManagedAppRegistration + ManagedAppRegistration +} + +// IOSMinimumOperatingSystem undocumented +type IOSMinimumOperatingSystem struct { + // Object is the base model of IOSMinimumOperatingSystem + Object + // V8_0 Version 8.0 or later. + V8_0 *bool `json:"v8_0,omitempty"` + // V9_0 Version 9.0 or later. + V9_0 *bool `json:"v9_0,omitempty"` + // V10_0 Version 10.0 or later. + V10_0 *bool `json:"v10_0,omitempty"` + // V11_0 Version 11.0 or later. + V11_0 *bool `json:"v11_0,omitempty"` + // V12_0 Version 12.0 or later. + V12_0 *bool `json:"v12_0,omitempty"` + // V13_0 Version 13.0 or later. + V13_0 *bool `json:"v13_0,omitempty"` +} + +// IOSMobileAppConfiguration Contains properties, inherited properties and actions for iOS mobile app configurations. +type IOSMobileAppConfiguration struct { + // ManagedDeviceMobileAppConfiguration is the base model of IOSMobileAppConfiguration + ManagedDeviceMobileAppConfiguration + // EncodedSettingXML mdm app configuration Base64 binary. + EncodedSettingXML *Binary `json:"encodedSettingXml,omitempty"` + // Settings app configuration setting items. + Settings []AppConfigurationSettingItem `json:"settings,omitempty"` +} + +// IOSMobileAppIdentifier undocumented +type IOSMobileAppIdentifier struct { + // MobileAppIdentifier is the base model of IOSMobileAppIdentifier + MobileAppIdentifier + // BundleID The identifier for an app, as specified in the app store. + BundleID *string `json:"bundleId,omitempty"` +} + +// IOSNetworkUsageRule undocumented +type IOSNetworkUsageRule struct { + // Object is the base model of IOSNetworkUsageRule + Object + // ManagedApps Information about the managed apps that this rule is going to apply to. This collection can contain a maximum of 500 elements. + ManagedApps []AppListItem `json:"managedApps,omitempty"` + // CellularDataBlockWhenRoaming If set to true, corresponding managed apps will not be allowed to use cellular data when roaming. + CellularDataBlockWhenRoaming *bool `json:"cellularDataBlockWhenRoaming,omitempty"` + // CellularDataBlocked If set to true, corresponding managed apps will not be allowed to use cellular data at any time. + CellularDataBlocked *bool `json:"cellularDataBlocked,omitempty"` +} + +// IOSNotificationSettings undocumented +type IOSNotificationSettings struct { + // Object is the base model of IOSNotificationSettings + Object + // BundleID Bundle id of app to which to apply these notification settings. + BundleID *string `json:"bundleID,omitempty"` + // AppName Application name to be associated with the bundleID. + AppName *string `json:"appName,omitempty"` + // Publisher Publisher to be associated with the bundleID. + Publisher *string `json:"publisher,omitempty"` + // Enabled Indicates whether notifications are allowed for this app. + Enabled *bool `json:"enabled,omitempty"` + // ShowInNotificationCenter Indicates whether notifications can be shown in notification center. + ShowInNotificationCenter *bool `json:"showInNotificationCenter,omitempty"` + // ShowOnLockScreen Indicates whether notifications can be shown on the lock screen. + ShowOnLockScreen *bool `json:"showOnLockScreen,omitempty"` + // AlertType Indicates the type of alert for notifications for this app. + AlertType *IOSNotificationAlertType `json:"alertType,omitempty"` + // BadgesEnabled Indicates whether badges are allowed for this app. + BadgesEnabled *bool `json:"badgesEnabled,omitempty"` + // SoundsEnabled Indicates whether sounds are allowed for this app. + SoundsEnabled *bool `json:"soundsEnabled,omitempty"` +} + +// IOSPkcsCertificateProfile iOS PKCS certificate profile. +type IOSPkcsCertificateProfile struct { + // IOSCertificateProfileBase is the base model of IOSPkcsCertificateProfile + IOSCertificateProfileBase + // CertificationAuthority PKCS Certification Authority. + CertificationAuthority *string `json:"certificationAuthority,omitempty"` + // CertificationAuthorityName PKCS Certification Authority Name. + CertificationAuthorityName *string `json:"certificationAuthorityName,omitempty"` + // CertificateTemplateName PKCS Certificate Template Name. + CertificateTemplateName *string `json:"certificateTemplateName,omitempty"` + // SubjectAlternativeNameFormatString Custom String that defines the AAD Attribute. + SubjectAlternativeNameFormatString *string `json:"subjectAlternativeNameFormatString,omitempty"` + // ManagedDeviceCertificateStates undocumented + ManagedDeviceCertificateStates []ManagedDeviceCertificateState `json:"managedDeviceCertificateStates,omitempty"` +} + +// IOSScepCertificateProfile iOS SCEP certificate profile. +type IOSScepCertificateProfile struct { + // IOSCertificateProfileBase is the base model of IOSScepCertificateProfile + IOSCertificateProfileBase + // ScepServerUrls SCEP Server Url(s). + ScepServerUrls []string `json:"scepServerUrls,omitempty"` + // SubjectNameFormatString Custom format to use with SubjectNameFormat = Custom. Example: CN={{EmailAddress}},E={{EmailAddress}},OU=Enterprise Users,O=Contoso Corporation,L=Redmond,ST=WA,C=US + SubjectNameFormatString *string `json:"subjectNameFormatString,omitempty"` + // KeyUsage SCEP Key Usage. + KeyUsage *KeyUsages `json:"keyUsage,omitempty"` + // KeySize SCEP Key Size. + KeySize *KeySize `json:"keySize,omitempty"` + // ExtendedKeyUsages Extended Key Usage (EKU) settings. This collection can contain a maximum of 500 elements. + ExtendedKeyUsages []ExtendedKeyUsage `json:"extendedKeyUsages,omitempty"` + // SubjectAlternativeNameFormatString Custom String that defines the AAD Attribute. + SubjectAlternativeNameFormatString *string `json:"subjectAlternativeNameFormatString,omitempty"` + // CertificateStore Target store certificate + CertificateStore *CertificateStore `json:"certificateStore,omitempty"` + // CustomSubjectAlternativeNames Custom Subject Alternative Name Settings. This collection can contain a maximum of 500 elements. + CustomSubjectAlternativeNames []CustomSubjectAlternativeName `json:"customSubjectAlternativeNames,omitempty"` + // RootCertificate undocumented + RootCertificate *IOSTrustedRootCertificate `json:"rootCertificate,omitempty"` + // ManagedDeviceCertificateStates undocumented + ManagedDeviceCertificateStates []ManagedDeviceCertificateState `json:"managedDeviceCertificateStates,omitempty"` +} + +// IOSSingleSignOnSettings undocumented +type IOSSingleSignOnSettings struct { + // Object is the base model of IOSSingleSignOnSettings + Object + // AllowedAppsList List of app identifiers that are allowed to use this login. If this field is omitted, the login applies to all applications on the device. This collection can contain a maximum of 500 elements. + AllowedAppsList []AppListItem `json:"allowedAppsList,omitempty"` + // AllowedUrls List of HTTP URLs that must be matched in order to use this login. With iOS 9.0 or later, a wildcard characters may be used. + AllowedUrls []string `json:"allowedUrls,omitempty"` + // DisplayName The display name of login settings shown on the receiving device. + DisplayName *string `json:"displayName,omitempty"` + // KerberosPrincipalName A Kerberos principal name. If not provided, the user is prompted for one during profile installation. + KerberosPrincipalName *string `json:"kerberosPrincipalName,omitempty"` + // KerberosRealm A Kerberos realm name. Case sensitive. + KerberosRealm *string `json:"kerberosRealm,omitempty"` +} + +// IOSStoreApp Contains properties and inherited properties for iOS store apps. +type IOSStoreApp struct { + // MobileApp is the base model of IOSStoreApp + MobileApp + // BundleID The Identity Name. + BundleID *string `json:"bundleId,omitempty"` + // AppStoreURL The Apple App Store URL + AppStoreURL *string `json:"appStoreUrl,omitempty"` + // ApplicableDeviceType The iOS architecture for which this app can run on. + ApplicableDeviceType *IOSDeviceType `json:"applicableDeviceType,omitempty"` + // MinimumSupportedOperatingSystem The value for the minimum applicable operating system. + MinimumSupportedOperatingSystem *IOSMinimumOperatingSystem `json:"minimumSupportedOperatingSystem,omitempty"` +} + +// IOSStoreAppAssignmentSettings undocumented +type IOSStoreAppAssignmentSettings struct { + // MobileAppAssignmentSettings is the base model of IOSStoreAppAssignmentSettings + MobileAppAssignmentSettings + // VPNConfigurationID The VPN Configuration Id to apply for this app. + VPNConfigurationID *string `json:"vpnConfigurationId,omitempty"` + // UninstallOnDeviceRemoval Whether or not to uninstall the app when device is removed from Intune. + UninstallOnDeviceRemoval *bool `json:"uninstallOnDeviceRemoval,omitempty"` +} + +// IOSTrustedRootCertificate iOS Trusted Root Certificate configuration profile. +type IOSTrustedRootCertificate struct { + // DeviceConfiguration is the base model of IOSTrustedRootCertificate + DeviceConfiguration + // TrustedRootCertificate Trusted Root Certificate. + TrustedRootCertificate *Binary `json:"trustedRootCertificate,omitempty"` + // CertFileName File name to display in UI. + CertFileName *string `json:"certFileName,omitempty"` +} + +// IOSUpdateConfiguration IOS Update Configuration, allows you to configure time window within week to install iOS updates +type IOSUpdateConfiguration struct { + // DeviceConfiguration is the base model of IOSUpdateConfiguration + DeviceConfiguration + // IsEnabled Is setting enabled in UI + IsEnabled *bool `json:"isEnabled,omitempty"` + // ActiveHoursStart Active Hours Start (active hours mean the time window when updates install should not happen) + ActiveHoursStart *TimeOfDay `json:"activeHoursStart,omitempty"` + // ActiveHoursEnd Active Hours End (active hours mean the time window when updates install should not happen) + ActiveHoursEnd *TimeOfDay `json:"activeHoursEnd,omitempty"` + // ScheduledInstallDays Days in week for which active hours are configured. This collection can contain a maximum of 7 elements. + ScheduledInstallDays []DayOfWeek `json:"scheduledInstallDays,omitempty"` + // UtcTimeOffsetInMinutes UTC Time Offset indicated in minutes + UtcTimeOffsetInMinutes *int `json:"utcTimeOffsetInMinutes,omitempty"` + // EnforcedSoftwareUpdateDelayInDays Days before software updates are visible to iOS devices ranging from 0 to 90 inclusive + EnforcedSoftwareUpdateDelayInDays *int `json:"enforcedSoftwareUpdateDelayInDays,omitempty"` +} + +// IOSUpdateDeviceStatus undocumented +type IOSUpdateDeviceStatus struct { + // Entity is the base model of IOSUpdateDeviceStatus + Entity + // InstallStatus The installation status of the policy report. + InstallStatus *IOSUpdatesInstallStatus `json:"installStatus,omitempty"` + // OsVersion The device version that is being reported. + OsVersion *string `json:"osVersion,omitempty"` + // DeviceID The device id that is being reported. + DeviceID *string `json:"deviceId,omitempty"` + // UserID The User id that is being reported. + UserID *string `json:"userId,omitempty"` + // DeviceDisplayName Device name of the DevicePolicyStatus. + DeviceDisplayName *string `json:"deviceDisplayName,omitempty"` + // UserName The User Name that is being reported + UserName *string `json:"userName,omitempty"` + // DeviceModel The device model that is being reported + DeviceModel *string `json:"deviceModel,omitempty"` + // Platform Platform of the device that is being reported + Platform *int `json:"platform,omitempty"` + // ComplianceGracePeriodExpirationDateTime The DateTime when device compliance grace period expires + ComplianceGracePeriodExpirationDateTime *time.Time `json:"complianceGracePeriodExpirationDateTime,omitempty"` + // Status Compliance status of the policy report. + Status *ComplianceStatus `json:"status,omitempty"` + // LastReportedDateTime Last modified date time of the policy report. + LastReportedDateTime *time.Time `json:"lastReportedDateTime,omitempty"` + // UserPrincipalName UserPrincipalName. + UserPrincipalName *string `json:"userPrincipalName,omitempty"` +} + +// IOSVPNConfiguration By providing the configurations in this profile you can instruct the iOS device to connect to desired VPN endpoint. By specifying the authentication method and security types expected by VPN endpoint you can make the VPN connection seamless for end user. +type IOSVPNConfiguration struct { + // AppleVPNConfiguration is the base model of IOSVPNConfiguration + AppleVPNConfiguration + // ProviderType Provider type for per-app VPN. + ProviderType *VPNProviderType `json:"providerType,omitempty"` + // UserDomain Zscaler only. Enter a static domain to pre-populate the login field with in the Zscaler app. If this is left empty, the user's Azure Active Directory domain will be used instead. + UserDomain *string `json:"userDomain,omitempty"` + // StrictEnforcement Zscaler only. Blocks network traffic until the user signs into Zscaler app. "True" means traffic is blocked. + StrictEnforcement *bool `json:"strictEnforcement,omitempty"` + // CloudName Zscaler only. Zscaler cloud which the user is assigned to. + CloudName *string `json:"cloudName,omitempty"` + // ExcludeList Zscaler only. List of network addresses which are not sent through the Zscaler cloud. + ExcludeList []string `json:"excludeList,omitempty"` + // IdentityCertificate undocumented + IdentityCertificate *IOSCertificateProfileBase `json:"identityCertificate,omitempty"` + // DerivedCredentialSettings undocumented + DerivedCredentialSettings *DeviceManagementDerivedCredentialSettings `json:"derivedCredentialSettings,omitempty"` +} + +// IOSVPNSecurityAssociationParameters undocumented +type IOSVPNSecurityAssociationParameters struct { + // Object is the base model of IOSVPNSecurityAssociationParameters + Object + // SecurityEncryptionAlgorithm Encryption algorithm + SecurityEncryptionAlgorithm *VPNEncryptionAlgorithmType `json:"securityEncryptionAlgorithm,omitempty"` + // SecurityIntegrityAlgorithm Integrity algorithm + SecurityIntegrityAlgorithm *VPNIntegrityAlgorithmType `json:"securityIntegrityAlgorithm,omitempty"` + // SecurityDiffieHellmanGroup Diffie-Hellman Group + SecurityDiffieHellmanGroup *int `json:"securityDiffieHellmanGroup,omitempty"` + // LifetimeInMinutes Lifetime (minutes) + LifetimeInMinutes *int `json:"lifetimeInMinutes,omitempty"` +} + +// IOSVPPApp Contains properties and inherited properties for iOS Volume-Purchased Program (VPP) Apps. +type IOSVPPApp struct { + // MobileApp is the base model of IOSVPPApp + MobileApp + // UsedLicenseCount The number of VPP licenses in use. + UsedLicenseCount *int `json:"usedLicenseCount,omitempty"` + // TotalLicenseCount The total number of VPP licenses. + TotalLicenseCount *int `json:"totalLicenseCount,omitempty"` + // ReleaseDateTime The VPP application release date and time. + ReleaseDateTime *time.Time `json:"releaseDateTime,omitempty"` + // AppStoreURL The store URL. + AppStoreURL *string `json:"appStoreUrl,omitempty"` + // LicensingType The supported License Type. + LicensingType *VPPLicensingType `json:"licensingType,omitempty"` + // ApplicableDeviceType The applicable iOS Device Type. + ApplicableDeviceType *IOSDeviceType `json:"applicableDeviceType,omitempty"` + // VPPTokenOrganizationName The organization associated with the Apple Volume Purchase Program Token + VPPTokenOrganizationName *string `json:"vppTokenOrganizationName,omitempty"` + // VPPTokenAccountType The type of volume purchase program which the given Apple Volume Purchase Program Token is associated with. Possible values are: `business`, `education`. + VPPTokenAccountType *VPPTokenAccountType `json:"vppTokenAccountType,omitempty"` + // VPPTokenAppleID The Apple Id associated with the given Apple Volume Purchase Program Token. + VPPTokenAppleID *string `json:"vppTokenAppleId,omitempty"` + // BundleID The Identity Name. + BundleID *string `json:"bundleId,omitempty"` + // VPPTokenID Identifier of the VPP token associated with this app. + VPPTokenID *string `json:"vppTokenId,omitempty"` + // RevokeLicenseActionResults Results of revoke license actions on this app. + RevokeLicenseActionResults []IOSVPPAppRevokeLicensesActionResult `json:"revokeLicenseActionResults,omitempty"` + // AssignedLicenses undocumented + AssignedLicenses []IOSVPPAppAssignedLicense `json:"assignedLicenses,omitempty"` +} + +// IOSVPPAppAssignedDeviceLicense iOS Volume Purchase Program device license assignment. This class does not support Create, Delete, or Update. +type IOSVPPAppAssignedDeviceLicense struct { + // IOSVPPAppAssignedLicense is the base model of IOSVPPAppAssignedDeviceLicense + IOSVPPAppAssignedLicense + // ManagedDeviceID The managed device ID. + ManagedDeviceID *string `json:"managedDeviceId,omitempty"` + // DeviceName The device name. + DeviceName *string `json:"deviceName,omitempty"` +} + +// IOSVPPAppAssignedLicense iOS Volume Purchase Program license assignment. This class does not support Create, Delete, or Update. +type IOSVPPAppAssignedLicense struct { + // Entity is the base model of IOSVPPAppAssignedLicense + Entity + // UserEmailAddress The user email address. + UserEmailAddress *string `json:"userEmailAddress,omitempty"` + // UserID The user ID. + UserID *string `json:"userId,omitempty"` + // UserName The user name. + UserName *string `json:"userName,omitempty"` + // UserPrincipalName The user principal name. + UserPrincipalName *string `json:"userPrincipalName,omitempty"` +} + +// IOSVPPAppAssignedUserLicense iOS Volume Purchase Program user license assignment. This class does not support Create, Delete, or Update. +type IOSVPPAppAssignedUserLicense struct { + // IOSVPPAppAssignedLicense is the base model of IOSVPPAppAssignedUserLicense + IOSVPPAppAssignedLicense +} + +// IOSVPPAppAssignmentSettings undocumented +type IOSVPPAppAssignmentSettings struct { + // MobileAppAssignmentSettings is the base model of IOSVPPAppAssignmentSettings + MobileAppAssignmentSettings + // UseDeviceLicensing Whether or not to use device licensing. + UseDeviceLicensing *bool `json:"useDeviceLicensing,omitempty"` + // VPNConfigurationID The VPN Configuration Id to apply for this app. + VPNConfigurationID *string `json:"vpnConfigurationId,omitempty"` + // UninstallOnDeviceRemoval Whether or not to uninstall the app when device is removed from Intune. + UninstallOnDeviceRemoval *bool `json:"uninstallOnDeviceRemoval,omitempty"` +} + +// IOSVPPAppRevokeLicensesActionResult undocumented +type IOSVPPAppRevokeLicensesActionResult struct { + // Object is the base model of IOSVPPAppRevokeLicensesActionResult + Object + // UserID UserId associated with the action. + UserID *string `json:"userId,omitempty"` + // ManagedDeviceID DeviceId associated with the action. + ManagedDeviceID *string `json:"managedDeviceId,omitempty"` + // TotalLicensesCount A count of the number of licenses for which revoke was attempted. + TotalLicensesCount *int `json:"totalLicensesCount,omitempty"` + // FailedLicensesCount A count of the number of licenses for which revoke failed. + FailedLicensesCount *int `json:"failedLicensesCount,omitempty"` + // ActionFailureReason The reason for the revoke licenses action failure. + ActionFailureReason *VPPTokenActionFailureReason `json:"actionFailureReason,omitempty"` + // ActionName Action name + ActionName *string `json:"actionName,omitempty"` + // ActionState State of the action + ActionState *ActionState `json:"actionState,omitempty"` + // StartDateTime Time the action was initiated + StartDateTime *time.Time `json:"startDateTime,omitempty"` + // LastUpdatedDateTime Time the action state was last updated + LastUpdatedDateTime *time.Time `json:"lastUpdatedDateTime,omitempty"` +} + +// IOSVPPEBook A class containing the properties for iOS Vpp eBook. +type IOSVPPEBook struct { + // ManagedEBook is the base model of IOSVPPEBook + ManagedEBook + // VPPTokenID The Vpp token ID. + VPPTokenID *UUID `json:"vppTokenId,omitempty"` + // AppleID The Apple ID associated with Vpp token. + AppleID *string `json:"appleId,omitempty"` + // VPPOrganizationName The Vpp token's organization name. + VPPOrganizationName *string `json:"vppOrganizationName,omitempty"` + // Genres Genres. + Genres []string `json:"genres,omitempty"` + // Language Language. + Language *string `json:"language,omitempty"` + // Seller Seller. + Seller *string `json:"seller,omitempty"` + // TotalLicenseCount Total license count. + TotalLicenseCount *int `json:"totalLicenseCount,omitempty"` + // UsedLicenseCount Used license count. + UsedLicenseCount *int `json:"usedLicenseCount,omitempty"` + // RoleScopeTagIDs List of Scope Tags for this Entity instance. + RoleScopeTagIDs []string `json:"roleScopeTagIds,omitempty"` +} + +// IOSVPPEBookAssignment Contains properties used to assign an iOS VPP EBook to a group. +type IOSVPPEBookAssignment struct { + // ManagedEBookAssignment is the base model of IOSVPPEBookAssignment + ManagedEBookAssignment +} + +// IOSWebContentFilterAutoFilter undocumented +type IOSWebContentFilterAutoFilter struct { + // IOSWebContentFilterBase is the base model of IOSWebContentFilterAutoFilter + IOSWebContentFilterBase + // AllowedUrls Additional URLs allowed for access + AllowedUrls []string `json:"allowedUrls,omitempty"` + // BlockedUrls Additional URLs blocked for access + BlockedUrls []string `json:"blockedUrls,omitempty"` +} + +// IOSWebContentFilterBase undocumented +type IOSWebContentFilterBase struct { + // Object is the base model of IOSWebContentFilterBase + Object +} + +// IOSWebContentFilterSpecificWebsitesAccess undocumented +type IOSWebContentFilterSpecificWebsitesAccess struct { + // IOSWebContentFilterBase is the base model of IOSWebContentFilterSpecificWebsitesAccess + IOSWebContentFilterBase + // SpecificWebsitesOnly URL bookmarks which will be installed into built-in browser and user is only allowed to access websites through bookmarks. This collection can contain a maximum of 500 elements. + SpecificWebsitesOnly []IOSBookmark `json:"specificWebsitesOnly,omitempty"` + // WebsiteList URL bookmarks which will be installed into built-in browser and user is only allowed to access websites through bookmarks. This collection can contain a maximum of 500 elements. + WebsiteList []IOSBookmark `json:"websiteList,omitempty"` +} + +// IOSWiFiConfiguration By providing the configurations in this profile you can instruct the iOS device to connect to desired Wi-Fi endpoint. By specifying the authentication method and security types expected by Wi-Fi endpoint you can make the Wi-Fi connection seamless for end user. This profile provides limited and simpler security types than Enterprise Wi-Fi profile. +type IOSWiFiConfiguration struct { + // DeviceConfiguration is the base model of IOSWiFiConfiguration + DeviceConfiguration + // NetworkName Network Name + NetworkName *string `json:"networkName,omitempty"` + // Ssid This is the name of the Wi-Fi network that is broadcast to all devices. + Ssid *string `json:"ssid,omitempty"` + // ConnectAutomatically Connect automatically when this network is in range. Setting this to true will skip the user prompt and automatically connect the device to Wi-Fi network. + ConnectAutomatically *bool `json:"connectAutomatically,omitempty"` + // ConnectWhenNetworkNameIsHidden Connect when the network is not broadcasting its name (SSID). When set to true, this profile forces the device to connect to a network that doesn't broadcast its SSID to all devices. + ConnectWhenNetworkNameIsHidden *bool `json:"connectWhenNetworkNameIsHidden,omitempty"` + // WiFiSecurityType Indicates whether Wi-Fi endpoint uses an EAP based security type. + WiFiSecurityType *WiFiSecurityType `json:"wiFiSecurityType,omitempty"` + // ProxySettings Proxy Type for this Wi-Fi connection + ProxySettings *WiFiProxySetting `json:"proxySettings,omitempty"` + // ProxyManualAddress IP Address or DNS hostname of the proxy server when manual configuration is selected. + ProxyManualAddress *string `json:"proxyManualAddress,omitempty"` + // ProxyManualPort Port of the proxy server when manual configuration is selected. + ProxyManualPort *int `json:"proxyManualPort,omitempty"` + // ProxyAutomaticConfigurationURL URL of the proxy server automatic configuration script when automatic configuration is selected. This URL is typically the location of PAC (Proxy Auto Configuration) file. + ProxyAutomaticConfigurationURL *string `json:"proxyAutomaticConfigurationUrl,omitempty"` + // PreSharedKey This is the pre-shared key for WPA Personal Wi-Fi network. + PreSharedKey *string `json:"preSharedKey,omitempty"` +} |