DSCResources/MSFT_IntuneDeviceConfigurationDeliveryOptimizationPolicyWindows10SettingCatalog/MSFT_IntuneDeviceConfigurationDeliveryOptimizationPolicyWindows10SettingCatalog.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 display name of the filter for the target assignment.")] String deviceAndAppManagementAssignmentFilterDisplayName;
    [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"), FriendlyName("IntuneDeviceConfigurationDeliveryOptimizationPolicyWindows10SettingCatalog")]
class MSFT_IntuneDeviceConfigurationDeliveryOptimizationPolicyWindows10SettingCatalog : OMI_BaseResource
{
    [Write, Description("Policy description")] String Description;
    [Key, Description("Policy name")] String DisplayName;
    [Write, Description("List of Scope Tags for this Entity instance.")] String RoleScopeTagIds[];
    [Write, Description("The unique identifier for an entity. Read-only.")] String Id;
    [Write, Description("DO Download Mode (0: HTTP only, no peering, 1: HTTP blended with peering behind the same NAT, 2: HTTP blended with peering across a private group, 3: HTTP blended with Internet peering, 99: HTTP only, no peering, no use of DO cloud service, 100: Bypass mode, deprecated in Windows 11)"), ValueMap{"0", "1", "2", "3", "99", "100"}, Values{"0", "1", "2", "3", "99", "100"}] SInt32 DODownloadMode;
    [Write, Description("DO Restrict Peer Selection By (0: None, 1: Subnet mask, 2: Local discovery (DNS-SD))"), ValueMap{"0", "1", "2"}, Values{"0", "1", "2"}] SInt32 DORestrictPeerSelectionBy;
    [Write, Description("DO Group Id Source (0: Not Set, 1: AD site, 2: Authenticated domain SID, 3: DHCP Option ID, 4: DNS Suffix, 5: Entra ID Tenant ID)"), ValueMap{"0", "1", "2", "3", "4", "5"}, Values{"0", "1", "2", "3", "4", "5"}] SInt32 DOGroupIdSource;
    [Write, Description("DO Group Id")] String DOGroupId;
    [Write, Description("DO Max Foreground Download Bandwidth")] SInt32 DOMaxForegroundDownloadBandwidth;
    [Write, Description("DO Max Background Download Bandwidth")] SInt32 DOMaxBackgroundDownloadBandwidth;
    [Write, Description("DO Percentage Max Foreground Bandwidth")] SInt32 DOPercentageMaxForegroundBandwidth;
    [Write, Description("DO Percentage Max Background Bandwidth")] SInt32 DOPercentageMaxBackgroundBandwidth;
    [Write, Description("Set Business Hours to Limit Foreground Download Bandwidth (0: Disabled, 1: Enabled)"), ValueMap{"0", "1"}, Values{"0", "1"}] SInt32 SetHoursToLimitForegroundDownloadBandwidth;
    [Write, Description("To: (Device) - Depends on SetHoursToLimitForegroundDownloadBandwidth (0: 12 AM, 1: 1 AM, 2: 2 AM, 3: 3 AM, 4: 4 AM, 5: 5 AM, 6: 6 AM, 7: 7 AM, 8: 8 AM, 9: 9 AM, 10: 10 AM, 11: 11 AM, 12: 12 PM, 13: 1 PM, 14: 2 PM, 15: 3 PM, 16: 4 PM, 17: 5 PM, 18: 6 PM, 19: 7 PM, 20: 8 PM, 21: 9 PM, 22: 10 PM, 23: 11 PM)"), ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23"}, Values{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23"}] String SetHoursToLimitForegroundDownloadBandwidthTo;
    [Write, Description("From: (Device) - Depends on SetHoursToLimitForegroundDownloadBandwidth (0: 12 AM, 1: 1 AM, 2: 2 AM, 3: 3 AM, 4: 4 AM, 5: 5 AM, 6: 6 AM, 7: 7 AM, 8: 8 AM, 9: 9 AM, 10: 10 AM, 11: 11 AM, 12: 12 PM, 13: 1 PM, 14: 2 PM, 15: 3 PM, 16: 4 PM, 17: 5 PM, 18: 6 PM, 19: 7 PM, 20: 8 PM, 21: 9 PM, 22: 10 PM, 23: 11 PM)"), ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23"}, Values{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23"}] String SetHoursToLimitForegroundDownloadBandwidthFrom;
    [Write, Description("Maximum Foreground Download Bandwidth (percentage) during Business Hours: - Depends on SetHoursToLimitForegroundDownloadBandwidth")] SInt32 SetHoursToLimitForegroundDownloadBandwidthIn;
    [Write, Description("Maximum Foreground Download Bandwidth (percentage) outside of Business Hours: - Depends on SetHoursToLimitForegroundDownloadBandwidth")] SInt32 SetHoursToLimitForegroundDownloadBandwidthOut;
    [Write, Description("Set Business Hours to Limit Background Download Bandwidth (0: Disabled, 1: Enabled)"), ValueMap{"0", "1"}, Values{"0", "1"}] SInt32 SetHoursToLimitBackgroundDownloadBandwidth;
    [Write, Description("Maximum Background Download Bandwidth (percentage) outside of Business Hours: - Depends on SetHoursToLimitBackgroundDownloadBandwidth")] SInt32 SetHoursToLimitBackgroundDownloadBandwidthOut;
    [Write, Description("From: (Device) - Depends on SetHoursToLimitBackgroundDownloadBandwidth (0: 12 AM, 1: 1 AM, 2: 2 AM, 3: 3 AM, 4: 4 AM, 5: 5 AM, 6: 6 AM, 7: 7 AM, 8: 8 AM, 9: 9 AM, 10: 10 AM, 11: 11 AM, 12: 12 PM, 13: 1 PM, 14: 2 PM, 15: 3 PM, 16: 4 PM, 17: 5 PM, 18: 6 PM, 19: 7 PM, 20: 8 PM, 21: 9 PM, 22: 10 PM, 23: 11 PM)"), ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23"}, Values{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23"}] String SetHoursToLimitBackgroundDownloadBandwidthFrom;
    [Write, Description("Maximum Background Download Bandwidth (percentage) during Business Hours: - Depends on SetHoursToLimitBackgroundDownloadBandwidth")] SInt32 SetHoursToLimitBackgroundDownloadBandwidthIn;
    [Write, Description("To: (Device) - Depends on SetHoursToLimitBackgroundDownloadBandwidth (0: 12 AM, 1: 1 AM, 2: 2 AM, 3: 3 AM, 4: 4 AM, 5: 5 AM, 6: 6 AM, 7: 7 AM, 8: 8 AM, 9: 9 AM, 10: 10 AM, 11: 11 AM, 12: 12 PM, 13: 1 PM, 14: 2 PM, 15: 3 PM, 16: 4 PM, 17: 5 PM, 18: 6 PM, 19: 7 PM, 20: 8 PM, 21: 9 PM, 22: 10 PM, 23: 11 PM)"), ValueMap{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23"}, Values{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23"}] String SetHoursToLimitBackgroundDownloadBandwidthTo;
    [Write, Description("DO Delay Foreground Download From Http")] SInt32 DODelayForegroundDownloadFromHttp;
    [Write, Description("DO Delay Background Download From Http")] SInt32 DODelayBackgroundDownloadFromHttp;
    [Write, Description("DO Min RAM Allowed To Peer")] SInt32 DOMinRAMAllowedToPeer;
    [Write, Description("DO Min Disk Size Allowed To Peer")] SInt32 DOMinDiskSizeAllowedToPeer;
    [Write, Description("DO Min File Size To Cache")] SInt32 DOMinFileSizeToCache;
    [Write, Description("DO Min Battery Percentage Allowed To Upload")] SInt32 DOMinBatteryPercentageAllowedToUpload;
    [Write, Description("DO Modify Cache Drive")] String DOModifyCacheDrive;
    [Write, Description("DO Max Cache Age")] SInt32 DOMaxCacheAge;
    [Write, Description("DO Absolute Max Cache Size")] SInt32 DOAbsoluteMaxCacheSize;
    [Write, Description("DO Max Cache Size")] SInt32 DOMaxCacheSize;
    [Write, Description("DO Allow VPN Peer Caching (0: Not allowed, 1: Allowed)"), ValueMap{"0", "1"}, Values{"0", "1"}] SInt32 DOAllowVPNPeerCaching;
    [Write, Description("DO Cache Host")] String DOCacheHost[];
    [Write, Description("DO Cache Host Source")] SInt32 DOCacheHostSource;
    [Write, Description("DO Disallow Cache Server Downloads On VPN (0: Not Set, 1: Enabled)"), ValueMap{"0", "1"}, Values{"0", "1"}] SInt32 DODisallowCacheServerDownloadsOnVPN;
    [Write, Description("DO Delay Cache Server Fallback Foreground")] SInt32 DODelayCacheServerFallbackForeground;
    [Write, Description("DO Delay Cache Server Fallback Background")] SInt32 DODelayCacheServerFallbackBackground;
    [Write, Description("DO Min Background Qos")] SInt32 DOMinBackgroundQos;
    [Write, Description("DO Monthly Upload Data Cap")] SInt32 DOMonthlyUploadDataCap;
    [Write, Description("DO Vpn Keywords")] String DOVpnKeywords[];
    [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 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[];
};