DSCResources/MSFT_IntuneDeviceConfigurationDeliveryOptimizationPolicyWindows10/MSFT_IntuneDeviceConfigurationDeliveryOptimizationPolicyWindows10.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")]
class MSFT_MicrosoftGraphDeliveryOptimizationBandwidth
{
    [Write, Description("Specifies the maximum download bandwidth in KiloBytes/second that the device can use across all concurrent download activities using Delivery Optimization. Valid values 0 to 4294967295")] UInt64 MaximumDownloadBandwidthInKilobytesPerSecond;
    [Write, Description("Specifies the maximum upload bandwidth in KiloBytes/second that a device will use across all concurrent upload activity using Delivery Optimization (0-4000000). Valid values 0 to 4000000 The default value is 0, which permits unlimited possible bandwidth (optimized for minimal usage of upload bandwidth). Valid values 0 to 4000000")] UInt64 MaximumUploadBandwidthInKilobytesPerSecond;
    [Write, Description("Background download percentage hours."), EmbeddedInstance("MSFT_MicrosoftGraphDeliveryOptimizationBandwidthBusinessHoursLimit")] String BandwidthBackgroundPercentageHours;
    [Write, Description("Foreground download percentage hours."), EmbeddedInstance("MSFT_MicrosoftGraphDeliveryOptimizationBandwidthBusinessHoursLimit")] String BandwidthForegroundPercentageHours;
    [Write, Description("Specifies the maximum background download bandwidth that Delivery Optimization uses across all concurrent download activities as a percentage of available download bandwidth (0-100). Valid values 0 to 100")] UInt32 MaximumBackgroundBandwidthPercentage;
    [Write, Description("Specifies the maximum foreground download bandwidth that Delivery Optimization uses across all concurrent download activities as a percentage of available download bandwidth (0-100). Valid values 0 to 100 The default value 0 (zero) means that Delivery Optimization dynamically adjusts to use the available bandwidth for foreground downloads. Valid values 0 to 100")] UInt32 MaximumForegroundBandwidthPercentage;
    [Write, Description("The type of the entity."), ValueMap{"#microsoft.graph.deliveryOptimizationBandwidthAbsolute","#microsoft.graph.deliveryOptimizationBandwidthHoursWithPercentage","#microsoft.graph.deliveryOptimizationBandwidthPercentage"}, Values{"#microsoft.graph.deliveryOptimizationBandwidthAbsolute","#microsoft.graph.deliveryOptimizationBandwidthHoursWithPercentage","#microsoft.graph.deliveryOptimizationBandwidthPercentage"}] String odataType;
};
[ClassVersion("1.0.0")]
class MSFT_MicrosoftGraphDeliveryOptimizationBandwidthBusinessHoursLimit
{
    [Write, Description("Specifies the beginning of business hours using a 24-hour clock (0-23). Valid values 0 to 23")] UInt32 BandwidthBeginBusinessHours;
    [Write, Description("Specifies the end of business hours using a 24-hour clock (0-23). Valid values 0 to 23")] UInt32 BandwidthEndBusinessHours;
    [Write, Description("Specifies the percentage of bandwidth to limit during business hours (0-100). Valid values 0 to 100")] UInt32 BandwidthPercentageDuringBusinessHours;
    [Write, Description("Specifies the percentage of bandwidth to limit outsidse business hours (0-100). Valid values 0 to 100")] UInt32 BandwidthPercentageOutsideBusinessHours;
};
[ClassVersion("1.0.0")]
class MSFT_MicrosoftGraphDeliveryOptimizationGroupIdSource
{
    [Write, Description("Specifies an arbitrary group ID that the device belongs to")] String GroupIdCustom;
    [Write, Description("Set this policy to restrict peer selection to a specific source. Possible values are: notConfigured, adSite, authenticatedDomainSid, dhcpUserOption, dnsSuffix."), ValueMap{"notConfigured","adSite","authenticatedDomainSid","dhcpUserOption","dnsSuffix"}, Values{"notConfigured","adSite","authenticatedDomainSid","dhcpUserOption","dnsSuffix"}] String GroupIdSourceOption;
    [Write, Description("The type of the entity."), ValueMap{"#microsoft.graph.deliveryOptimizationGroupIdCustom","#microsoft.graph.deliveryOptimizationGroupIdSourceOptions"}, Values{"#microsoft.graph.deliveryOptimizationGroupIdCustom","#microsoft.graph.deliveryOptimizationGroupIdSourceOptions"}] String odataType;
};
[ClassVersion("1.0.0")]
class MSFT_MicrosoftGraphDeliveryOptimizationMaxCacheSize
{
    [Write, Description("Specifies the maximum size in GB of Delivery Optimization cache. Valid values 0 to 4294967295")] UInt64 MaximumCacheSizeInGigabytes;
    [Write, Description("Specifies the maximum cache size that Delivery Optimization can utilize, as a percentage of disk size (1-100). Valid values 1 to 100")] UInt32 MaximumCacheSizePercentage;
    [Write, Description("The type of the entity."), ValueMap{"#microsoft.graph.deliveryOptimizationMaxCacheSizeAbsolute","#microsoft.graph.deliveryOptimizationMaxCacheSizePercentage"}, Values{"#microsoft.graph.deliveryOptimizationMaxCacheSizeAbsolute","#microsoft.graph.deliveryOptimizationMaxCacheSizePercentage"}] String odataType;
};
 
[ClassVersion("1.0.0.0"), FriendlyName("IntuneDeviceConfigurationDeliveryOptimizationPolicyWindows10")]
class MSFT_IntuneDeviceConfigurationDeliveryOptimizationPolicyWindows10 : OMI_BaseResource
{
    [Write, Description("Specifies number of seconds to delay an HTTP source in a background download that is allowed to use peer-to-peer. Valid values 0 to 4294967295")] UInt64 BackgroundDownloadFromHttpDelayInSeconds;
    [Write, Description("Specifies foreground and background bandwidth usage using percentages, absolutes, or hours."), EmbeddedInstance("MSFT_MicrosoftGraphdeliveryOptimizationBandwidth")] String BandwidthMode;
    [Write, Description("Specifies number of seconds to delay a fall back from cache servers to an HTTP source for a background download. Valid values 0 to 2592000.")] UInt32 CacheServerBackgroundDownloadFallbackToHttpDelayInSeconds;
    [Write, Description("Specifies number of seconds to delay a fall back from cache servers to an HTTP source for a foreground download. Valid values 0 to 2592000.")] UInt32 CacheServerForegroundDownloadFallbackToHttpDelayInSeconds;
    [Write, Description("Specifies cache servers host names.")] String CacheServerHostNames[];
    [Write, Description("Specifies the download method that delivery optimization can use to manage network bandwidth consumption for large content distribution scenarios. Possible values are: userDefined, httpOnly, httpWithPeeringNat, httpWithPeeringPrivateGroup, httpWithInternetPeering, simpleDownload, bypassMode."), ValueMap{"userDefined","httpOnly","httpWithPeeringNat","httpWithPeeringPrivateGroup","httpWithInternetPeering","simpleDownload","bypassMode"}, Values{"userDefined","httpOnly","httpWithPeeringNat","httpWithPeeringPrivateGroup","httpWithInternetPeering","simpleDownload","bypassMode"}] String DeliveryOptimizationMode;
    [Write, Description("Specifies number of seconds to delay an HTTP source in a foreground download that is allowed to use peer-to-peer (0-86400). Valid values 0 to 86400 Specifying 0 sets Delivery Optimization to manage this setting using the cloud service. Valid values 0 to 86400")] UInt64 ForegroundDownloadFromHttpDelayInSeconds;
    [Write, Description("Specifies to restrict peer selection to a specfic source. The options set in this policy only apply to Delivery Optimization mode Group (2) download mode. If Group (2) isn't set as Download mode, this policy will be ignored. For option 3 - DHCP Option ID, the client will query DHCP Option ID 234 and use the returned GUID value as the Group ID."), EmbeddedInstance("MSFT_MicrosoftGraphdeliveryOptimizationGroupIdSource")] String GroupIdSource;
    [Write, Description("Specifies the maximum time in days that each file is held in the Delivery Optimization cache after downloading successfully (0-3650). Valid values 0 to 3650")] UInt32 MaximumCacheAgeInDays;
    [Write, Description("Specifies the maximum cache size that Delivery Optimization either as a percentage or in GB."), EmbeddedInstance("MSFT_MicrosoftGraphdeliveryOptimizationMaxCacheSize")] String MaximumCacheSize;
    [Write, Description("Specifies the minimum battery percentage to allow the device to upload data (0-100). Valid values 0 to 100 The default value is 0. The value 0 (zero) means 'not limited' and the cloud service default value will be used. Valid values 0 to 100")] UInt32 MinimumBatteryPercentageAllowedToUpload;
    [Write, Description("Specifies the minimum disk size in GB to use Peer Caching (1-100000). Valid values 1 to 100000 Recommended values: 64 GB to 256 GB. Valid values 1 to 100000")] UInt32 MinimumDiskSizeAllowedToPeerInGigabytes;
    [Write, Description("Specifies the minimum content file size in MB enabled to use Peer Caching (1-100000). Valid values 1 to 100000 Recommended values: 1 MB to 100,000 MB. Valid values 1 to 100000")] UInt32 MinimumFileSizeToCacheInMegabytes;
    [Write, Description("Specifies the minimum RAM size in GB to use Peer Caching (1-100000). Valid values 1 to 100000")] UInt32 MinimumRamAllowedToPeerInGigabytes;
    [Write, Description("Specifies the drive that Delivery Optimization should use for its cache.")] String ModifyCacheLocation;
    [Write, Description("Specifies to restrict peer selection via selected option."), ValueMap{"notConfigured","subnetMask"}, Values{"notConfigured","subnetMask"}] String RestrictPeerSelectionBy;
    [Write, Description("Specifies whether the device is allowed to participate in Peer Caching while connected via VPN to the domain network."), ValueMap{"notConfigured","enabled","disabled"}, Values{"notConfigured","enabled","disabled"}] String VpnPeerCaching;
    [Write, Description("Admin provided description of the Device Configuration.")] String Description;
    [Key, Description("Admin provided name of the device configuration.")] String DisplayName;
    [Write, Description("Indicates whether or not the underlying Device Configuration supports the assignment of scope tags. Assigning to the ScopeTags property is not allowed when this value is false and entities will not be visible to scoped users. This occurs for Legacy policies created in Silverlight and can be resolved by deleting and recreating the policy in the Azure Portal. This property is read-only.")] Boolean SupportsScopeTags;
    [Write, Description("The unique identifier for an entity. Read-only.")] String Id;
    [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;
};