DSCResources/MSFT_IntuneDeviceFeaturesConfigurationPolicyIOS/MSFT_IntuneDeviceFeaturesConfigurationPolicyIOS.schema.mof

[ClassVersion("1.0.0.0")]
class MSFT_DeviceManagementConfigurationPolicyAssignments
{
    [Write, Description("The type of the target assignment."), ValueMap{"#microsoft.graph.groupAssignmentTarget","#microsoft.graph.allLicensedUsersAssignmentTarget","#microsoft.graph.allDevicesAssignmentTarget","#microsoft.graph.exclusionGroupAssignmentTarget","#microsoft.graph.configurationManagerCollectionAssignmentTarget"}, Values{"#microsoft.graph.groupAssignmentTarget","#microsoft.graph.allLicensedUsersAssignmentTarget","#microsoft.graph.allDevicesAssignmentTarget","#microsoft.graph.exclusionGroupAssignmentTarget","#microsoft.graph.configurationManagerCollectionAssignmentTarget"}] String dataType;
    [Write, Description("The type of filter of the target assignment i.e. Exclude or Include. Possible values are:none, include, exclude."), ValueMap{"none","include","exclude"}, Values{"none","include","exclude"}] String deviceAndAppManagementAssignmentFilterType;
    [Write, Description("The Id of the filter for the target assignment.")] String deviceAndAppManagementAssignmentFilterId;
    [Write, Description("The group Id that is the target of the assignment.")] String groupId;
    [Write, Description("The group Display Name that is the target of the assignment.")] String groupDisplayName;
    [Write, Description("The collection Id that is the target of the assignment.(ConfigMgr)")] String collectionId;
};
[ClassVersion("1.0.0.0")]
class MSFT_airPrintDestination
{
    [Write, Description("The IP Address of the AirPrint destination.")] String ipAddress;
    [Write, Description("The Resource Path associated with the printer. This corresponds to the rp parameter of the _ipps.tcp Bonjour record. For example: printers/Canon_MG5300_series, printers/Xerox_Phaser_7600, ipp/print, Epson_IPP_Printer.")] String resourcePath;
    [Write, Description("The listening port of the AirPrint destination. If this key is not specified, AirPrint will use the default port. Available in iOS 11.0 and later.")] uint32 port;
    [Write, Description("If true, AirPrint connections are secured by Transport Layer Security (TLS). Default is false. Available in iOS 11.0 and later.")] Boolean forceTls;
};
[ClassVersion("1.0.0.0")]
class MSFT_iosWebContentFilterBase
{
    [Write, Description("url.")] String url;
    [Write, Description("bookmarkFolder.")] String bookmarkFolder;
    [Write, Description("displayName.")] String displayName;
 
};
[ClassVersion("1.0.0.0")]
class MSFT_iosWebContentFilterSpecificWebsitesAccess
{
    [Write, Description("The type of data.")] String dataType;
    [Write, Description("specificWebsitesOnly, embedded instance of iosWebContentFilterBase."), EmbeddedInstance("MSFT_iosWebContentFilterBase")] String specificWebsitesOnly[];
    [Write, Description("websiteList, embedded instance of iosWebContentFilterBase."), EmbeddedInstance("MSFT_iosWebContentFilterBase")] String websiteList[];
    [Write, Description("allowedUrls.")] String allowedUrls[];
    [Write, Description("blockedUrls.")] String blockedUrls[];
};
[ClassVersion("1.0.0.0")]
class MSFT_iosHomeScreenApp
{
    [Write, Description("Name of the app. Inherited from iosHomeScreenItem.")] String displayName;
    [Write, Description("BundleID of the app if isWebClip is false or the URL of a web clip if isWebClip is true.")] String bundleID;
    [Write, Description("Is it a website URL or an app")] Boolean isWebClip;
};
[ClassVersion("1.0.0.0")]
class MSFT_iosHomeScreenItem
{
    [Write, Description("A list of apps, folders, and web clips to appear on a page. This collection can contain a maximum of 500 elements."), EmbeddedInstance("MSFT_iosHomeScreenApp")] String icons[];
};
[ClassVersion("1.0.0.0")]
class MSFT_iosNotificationSettings
{
    [Write, Description("Bundle id of the app to which to apply these notification settings.")] String bundleID;
    [Write, Description("Application name to be associated with the BundleID.")] String appName;
    [Write, Description("Publisher to be associated with the BundleID.")] String publisher;
    [Write, Description("Indicates whether notifications are allowed for this app.")] Boolean enabled;
    [Write, Description("Indicates whether notifications can be shown in the notification center.")] Boolean showInNotificationCenter;
    [Write, Description("Indicates whether notifications can be shown on the lock screen.")] Boolean showOnLockScreen;
    [Write, Description("Indicates the type of alert for notifications for this app. Possible values are: deviceDefault, banner, modal, none."), ValueMap{"deviceDefault", "banner", "modal", "none"}, Values{"deviceDefault", "banner", "modal", "none"}] String alertType;
    [Write, Description("Indicates whether badges are allowed for this app.")] Boolean badgesEnabled;
    [Write, Description("Indicates whether sounds are allowed for this app.")] Boolean soundsEnabled;
    [Write, Description("Overrides the notification preview policy set by the user on an iOS device. Possible values are: notConfigured, alwaysShow, hideWhenLocked, neverShow."), ValueMap{"notConfigured", "alwaysShow", "hideWhenLocked", "neverShow"}, Values{"notConfigured", "alwaysShow", "hideWhenLocked", "neverShow"}] String previewVisibility;
};
[ClassVersion("1.0.0.0")]
class MSFT_appListItem
{
    [Write, Description("The application name.")] String name;
    [Write, Description("The publisher of the application.")] String publisher;
    [Write, Description("The Store URL of the application.")] String appStoreUrl;
    [Write, Description("The application or bundle identifier of the application.")] String appId;
};
[ClassVersion("1.0.0.0")]
class MSFT_iosSingleSignOnSettings
{
    [Write, Description("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."), EmbeddedInstance("MSFT_appListItem")] String allowedAppsList[];
    [Write, Description("List of HTTP URLs that must be matched in order to use this login. With iOS 9.0 or later, wildcard characters may be used.")] String allowedUrls[];
    [Write, Description("The display name of login settings shown on the receiving device.")] String displayName;
    [Write, Description("A Kerberos principal name. If not provided, the user is prompted for one during profile installation.")] String kerberosPrincipalName;
    [Write, Description("A Kerberos realm name. Case sensitive.")] String kerberosRealm;
};
[ClassVersion("1.0.0.0")]
class MSFT_mimeContent
{
    [Write, Description("Indicates the content mime type.")] String type;
    [Write, Description("The byte array that contains the actual content.")] String value[];
};
[ClassVersion("1.0.0.0")]
class MSFT_keyTypedValuePair
{
    [Write, Description("The type of data.")] String dataType;
    [Write, Description("Key for the custom data entry.")] String key;
    [Write, Description("Value for the custom data entry.")] String value;
};
[ClassVersion("1.0.0.0")]
class MSFT_iosSingleSignOnExtension
{
    [Write, Description("The type of data.")] String dataType;
    [Write, Description("The case-sensitive realm name for this profile.")] String Realm;
    [Write, Description("A list of hosts or domain names for which the app extension performs SSO.")] String Domains[];
    [Write, Description("Enables or disables Keychain usage.")] Boolean BlockAutomaticLogin;
    [Write, Description("The Generic Security Services name of the Kerberos cache to use for this profile.")] String CacheName;
    [Write, Description("A list of app Bundle IDs allowed to access the Kerberos Ticket Granting Ticket.")] String CredentialBundleIdAccessControlList[];
    [Write, Description("A list of realms for custom domain-realm mapping. Realms are case sensitive.")] String DomainRealms[];
    [Write, Description("When true, this profile's realm will be selected as the default. Necessary if multiple Kerberos-type profiles are configured.")] Boolean IsDefaultRealm;
    [Write, Description("Enables or disables password changes.")] Boolean PasswordBlockModification;
    [Write, Description("Overrides the default password expiration in days. For most domains, this value is calculated automatically.")] Uint32 PasswordExpirationDays;
    [Write, Description("The number of days until the user is notified that their password will expire (default is 15).")] Uint32 PasswordExpirationNotificationDays;
    [Write, Description("The principal user name to use for this profile. The realm name does not need to be included.")] String UserPrincipalName;
    [Write, Description("Enables or disables whether passwords must meet Active Directory's complexity requirements.")] Boolean PasswordRequireActiveDirectoryComplexity;
    [Write, Description("The number of previous passwords to block.")] Uint32 PasswordPreviousPasswordBlockCount;
    [Write, Description("The minimum length of a password.")] Uint32 PasswordMinimumLength;
    [Write, Description("The minimum number of days until a user can change their password again.")] Uint32 PasswordMinimumAgeDays;
    [Write, Description("A description of the password complexity requirements.")] String PasswordRequirementsDescription;
    [Write, Description("Whether to require authentication via Touch ID, Face ID, or a passcode to access the keychain entry.")] Boolean RequireUserPresence;
    [Write, Description("The Active Directory site.")] String ActiveDirectorySiteCode;
    [Write, Description("Enables or disables password syncing. This won't affect users logged in with a mobile account on macOS.")] Boolean PasswordEnableLocalSync;
    [Write, Description("Enables or disables whether the Kerberos extension can automatically determine its site name.")] Boolean BlockActiveDirectorySiteAutoDiscovery;
    [Write, Description("The URL that the user will be sent to when they initiate a password change.")] String PasswordChangeUrl;
    [Write, Description("Text displayed to the user at the Kerberos sign-in window. Available for devices running iOS and iPadOS versions 14 and later.")] String SignInHelpText;
    [Write, Description("When set to True, the Kerberos extension allows managed apps, and any apps entered with the app bundle ID to access the credential. When set to False, the Kerberos extension allows all apps to access the credential. Available for devices running iOS and iPadOS versions 14 and later.")] Boolean ManagedAppsInBundleIdACLIncluded;
    [Write, Description("Enables or disables shared device mode.")] boolean EnableSharedDeviceMode;
    [Write, Description("An optional list of additional bundle IDs allowed to use the AAD extension for single sign-on.")] string BundleIdAccessControlList[];
    [Write, Description("Gets or sets a list of typed key-value pairs used to configure Credential-type profiles. This collection can contain a maximum of 500 elements."), EmbeddedInstance("MSFT_keyTypedValuePair")] string Configurations[];
    [Write, Description("Gets or sets the bundle ID of the app extension that performs SSO for the specified URLs.")] string ExtensionIdentifier;
    [Write, Description("Gets or sets the team ID of the app extension that performs SSO for the specified URLs.")] string TeamIdentifier;
    [Write, Description("One or more URL prefixes of identity providers on whose behalf the app extension performs single sign-on. URLs must begin with http:// or https://. All URL prefixes must be unique for all profiles.")] String urlPrefixes[];
};
[ClassVersion("1.0.0")]
class MSFT_deviceManagementApplicabilityRuleOsEdition
{
    [Write, Description("Name for object")] String Name;
    [Write, Description("Applicability rule OS edition type")] String OsEditionTypes[];
    [Write, Description("Applicability Rule type"), ValueMap{"include","exclude"}, Values{"include","exclude"}] String RuleType;
};
[ClassVersion("1.0.0")]
class MSFT_deviceManagementApplicabilityRuleOsVersion
{
    [Write, Description("Name for object")] String Name;
    [Write, Description("Min OS version for Applicability Rule")] String MinOSVersion;
    [Write, Description("Max OS version for Applicability Rule")] String MaxOSVersion;
    [Write, Description("Applicability Rule type"), ValueMap{"include","exclude"}, Values{"include","exclude"}] String RuleType;
};
[ClassVersion("1.0.0")]
class MSFT_deviceManagementApplicabilityRuleDeviceMode
{
    [Key, Description("Name for object")] String Name;
    [Write, Description("Applicability rule for device mode"), ValueMap{"standardConfiguration","sModeConfiguration"}, Values{"standardConfiguration","sModeConfiguration"}] String DeviceMode;
    [Write, Description("Applicability Rule type"), ValueMap{"include","exclude"}, Values{"include","exclude"}] String RuleType;
};
 
[ClassVersion("1.0.0.0"), FriendlyName("IntuneDeviceFeaturesConfigurationPolicyIOS")]
class MSFT_IntuneDeviceFeaturesConfigurationPolicyIOS : OMI_BaseResource
{
    [Write, Description("Id of the Intune policy.")] String Id;
    [Key, Description("Display name of the Intune policy.")] String DisplayName;
    [Write, Description("Description of the Intune policy.")] String Description;
    [Write, Description("Represents the assignment to the Intune policy."), EmbeddedInstance("MSFT_DeviceManagementConfigurationPolicyAssignments")] String Assignments[];
    [Write, Description("Present ensures the policy exists, absent ensures it is removed."), ValueMap{"Present","Absent"}, Values{"Present","Absent"}] string Ensure;
    [Write, Description("Credentials of the Intune Admin"), EmbeddedInstance("MSFT_Credential")] string Credential;
    [Write, Description("Id of the Azure Active Directory application to authenticate with.")] String ApplicationId;
    [Write, Description("Id of the Azure Active Directory tenant used for authentication.")] String TenantId;
    [Write, Description("Secret of the Azure Active Directory tenant used for authentication."), EmbeddedInstance("MSFT_Credential")] String ApplicationSecret;
    [Write, Description("Thumbprint of the Azure Active Directory application's authentication certificate to use for authentication.")] String CertificateThumbprint;
    [Write, Description("Managed ID being used for authentication.")] Boolean ManagedIdentity;
    [Write, Description("Access token used for authentication.")] String AccessTokens[];
    [Write, Description("List of Scope Tags for this Entity instance. Inherited from deviceConfiguration.")] String RoleScopeTagIds[];
    [Write, Description("The OS edition applicability for this Policy. Inherited from deviceConfiguration."), EmbeddedInstance("MSFT_deviceManagementApplicabilityRuleOsEdition")] String DeviceManagementApplicabilityRuleOsEdition[];
    [Write, Description("The OS version applicability rule for this Policy. Inherited from deviceConfiguration."), EmbeddedInstance("MSFT_deviceManagementApplicabilityRuleOsVersion")] String DeviceManagementApplicabilityRuleOsVersion[];
    [Write, Description("The device mode applicability rule for this Policy. Inherited from deviceConfiguration."), EmbeddedInstance("MSFT_deviceManagementApplicabilityRuleDeviceMode")] String DeviceManagementApplicabilityRuleDeviceMode[];
    [Write, Description("An array of AirPrint printers that should always be shown."), EmbeddedInstance("MSFT_airPrintDestination")] String AirPrintDestinations[];
    [Write, Description("Asset tag information for the device, displayed on the login window and lock screen.")] String AssetTagTemplate;
    [Write, Description("Gets or sets iOS Web Content Filter settings, supervised mode only."), EmbeddedInstance("MSFT_iosWebContentFilterSpecificWebsitesAccess")] String ContentFilterSettings[];
    [Write, Description("A footnote displayed on the login window and lock screen. Available in iOS 9.3.1 and later.")] String LockScreenFootnote;
    [Write, Description("A list of app and folders to appear on the Home Screen Dock. This collection can contain a maximum of 500 elements."), EmbeddedInstance("MSFT_iosHomeScreenApp")] String HomeScreenDockIcons[];
    [Write, Description("A list of pages on the Home Screen. This collection can contain a maximum of 500 elements."), EmbeddedInstance("MSFT_iosHomeScreenItem")] String HomeScreenPages[];
    [Write, Description("Gets or sets the number of columns to render when configuring iOS home screen layout settings. If this value is configured, homeScreenGridHeight must be configured as well.")] Uint32 HomeScreenGridWidth;
    [Write, Description("Gets or sets the number of rows to render when configuring iOS home screen layout settings. If this value is configured, homeScreenGridWidth must be configured as well.")] Uint32 HomeScreenGridHeight;
    [Write, Description("Notification settings for each bundle id. Applicable to devices in supervised mode only (iOS 9.3 and later)."), EmbeddedInstance("MSFT_iosNotificationSettings")] String NotificationSettings[];
    [Write, Description("The Kerberos login settings that enable apps on receiving devices to authenticate smoothly."), EmbeddedInstance("MSFT_iosSingleSignOnSettings")] String SingleSignOnSettings[];
    [Write, Description("A wallpaper display location specifier. Possible values are: notConfigured, lockScreen, homeScreen, lockAndHomeScreens."), ValueMap{"notConfigured", "lockScreen", "homeScreen", "lockAndHomeScreens"}, Values{"notConfigured", "lockScreen", "homeScreen", "lockAndHomeScreens"}] String WallpaperDisplayLocation;
    [Write, Description("A wallpaper image must be in either PNG or JPEG format. It requires a supervised device with iOS 8 or later version."), EmbeddedInstance("MSFT_mimeContent")] String WallpaperImage[];
    [Write, Description("Gets or sets a single sign-on extension profile."), EmbeddedInstance("MSFT_iosSingleSignOnExtension")] String IosSingleSignOnExtension[];
};