// Code generated by msgraph-generate.go DO NOT EDIT. package msgraph // WindowsDeliveryOptimizationConfiguration Windows Delivery Optimization configuration type WindowsDeliveryOptimizationConfiguration struct { // DeviceConfiguration is the base model of WindowsDeliveryOptimizationConfiguration DeviceConfiguration // DeliveryOptimizationMode Specifies the download method that delivery optimization can use to manage network bandwidth consumption for large content distribution scenarios. DeliveryOptimizationMode *WindowsDeliveryOptimizationMode `json:"deliveryOptimizationMode,omitempty"` // RestrictPeerSelectionBy Specifies to restrict peer selection via selected option. RestrictPeerSelectionBy *DeliveryOptimizationRestrictPeerSelectionByOptions `json:"restrictPeerSelectionBy,omitempty"` // GroupIDSource Specifies to restrict peer selection to a specfic source. GroupIDSource *DeliveryOptimizationGroupIDSource `json:"groupIdSource,omitempty"` // BandwidthMode Specifies foreground and background bandwidth usage using percentages, absolutes, or hours. BandwidthMode *DeliveryOptimizationBandwidth `json:"bandwidthMode,omitempty"` // BackgroundDownloadFromHTTPDelayInSeconds 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 BackgroundDownloadFromHTTPDelayInSeconds *int `json:"backgroundDownloadFromHttpDelayInSeconds,omitempty"` // ForegroundDownloadFromHTTPDelayInSeconds 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 ForegroundDownloadFromHTTPDelayInSeconds *int `json:"foregroundDownloadFromHttpDelayInSeconds,omitempty"` // MinimumRAMAllowedToPeerInGigabytes Specifies the minimum RAM size in GB to use Peer Caching (1-100000). Valid values 1 to 100000 MinimumRAMAllowedToPeerInGigabytes *int `json:"minimumRamAllowedToPeerInGigabytes,omitempty"` // MinimumDiskSizeAllowedToPeerInGigabytes Specifies the minimum disk size in GB to use Peer Caching (1-100000). Valid values 1 to 100000 MinimumDiskSizeAllowedToPeerInGigabytes *int `json:"minimumDiskSizeAllowedToPeerInGigabytes,omitempty"` // MinimumFileSizeToCacheInMegabytes Specifies the minimum content file size in MB enabled to use Peer Caching (1-100000). Valid values 1 to 100000 MinimumFileSizeToCacheInMegabytes *int `json:"minimumFileSizeToCacheInMegabytes,omitempty"` // MinimumBatteryPercentageAllowedToUpload Specifies the minimum battery percentage to allow the device to upload data (0-100). Valid values 0 to 100 MinimumBatteryPercentageAllowedToUpload *int `json:"minimumBatteryPercentageAllowedToUpload,omitempty"` // ModifyCacheLocation Specifies the drive that Delivery Optimization should use for its cache. ModifyCacheLocation *string `json:"modifyCacheLocation,omitempty"` // MaximumCacheAgeInDays 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 MaximumCacheAgeInDays *int `json:"maximumCacheAgeInDays,omitempty"` // MaximumCacheSize Specifies the maximum cache size that Delivery Optimization either as a percentage or in GB. MaximumCacheSize *DeliveryOptimizationMaxCacheSize `json:"maximumCacheSize,omitempty"` // VpnPeerCaching Specifies whether the device is allowed to participate in Peer Caching while connected via VPN to the domain network. VpnPeerCaching *Enablement `json:"vpnPeerCaching,omitempty"` // CacheServerHostNames Specifies cache servers host names. CacheServerHostNames []string `json:"cacheServerHostNames,omitempty"` // CacheServerForegroundDownloadFallbackToHTTPDelayInSeconds 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.​ CacheServerForegroundDownloadFallbackToHTTPDelayInSeconds *int `json:"cacheServerForegroundDownloadFallbackToHttpDelayInSeconds,omitempty"` // CacheServerBackgroundDownloadFallbackToHTTPDelayInSeconds 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. CacheServerBackgroundDownloadFallbackToHTTPDelayInSeconds *int `json:"cacheServerBackgroundDownloadFallbackToHttpDelayInSeconds,omitempty"` }