DSCResources/MSFT_xSPDiagnosticLoggingSettings/MSFT_xSPDiagnosticLoggingSettings.schema.mof

/*
**Description**
 
This resource is responsible for configuring settings to do with the diagnostic (ULS) logging on servers in the farm.
These settings are applied to the diagnostic logging service for the farm and do not need to be applied to each server individually, the settings will be propagated throughout the farm when they are set.
 
**Example**
 
    xSPDiagnosticLoggingSettings ApplyDiagnosticLogSettings
    {
        PsDscRunAsCredential = $InstallAccount
        LogPath = "L:\ULSLogs"
        LogSpaceInGB = 10
        AppAnalyticsAutomaticUploadEnabled = $false
        CustomerExperienceImprovementProgramEnabled = $true
        DaysToKeepLogs = 7
        DownloadErrorReportingUpdatesEnabled = $false
        ErrorReportingAutomaticUploadEnabled = $false
        ErrorReportingEnabled = $false
        EventLogFloodProtectionEnabled = $true
        EventLogFloodProtectionNotifyInterval = 5
        EventLogFloodProtectionQuietPeriod = 2
        EventLogFloodProtectionThreshold = 5
        EventLogFloodProtectionTriggerPeriod = 2
        LogCutInterval = 15
        LogMaxDiskSpaceUsageEnabled = $true
        ScriptErrorReportingDelay = 30
        ScriptErrorReportingEnabled = $true
        ScriptErrorReportingRequireAuth = $true
    }
*/
[ClassVersion("1.0.0.0"), FriendlyName("xSPDiagnosticLoggingSettings")]
class MSFT_xSPDiagnosticLoggingSettings : OMI_BaseResource
{
    [Key] string LogPath;
    [Required] uint32 LogSpaceInGB;
    [Write] boolean AppAnalyticsAutomaticUploadEnabled;
    [Write] boolean CustomerExperienceImprovementProgramEnabled;
    [Write] uint32 DaysToKeepLogs;
    [Write] boolean DownloadErrorReportingUpdatesEnabled;
    [Write] boolean ErrorReportingAutomaticUploadEnabled;
    [Write] boolean ErrorReportingEnabled;
    [Write] boolean EventLogFloodProtectionEnabled;
    [Write] uint32 EventLogFloodProtectionNotifyInterval;
    [Write] uint32 EventLogFloodProtectionQuietPeriod;
    [Write] uint32 EventLogFloodProtectionThreshold;
    [Write] uint32 EventLogFloodProtectionTriggerPeriod;
    [Write] uint32 LogCutInterval;
    [Write] boolean LogMaxDiskSpaceUsageEnabled;
    [Write] uint32 ScriptErrorReportingDelay;
    [Write] boolean ScriptErrorReportingEnabled;
    [Write] boolean ScriptErrorReportingRequireAuth;
    [Write, EmbeddedInstance("MSFT_Credential")] String InstallAccount;
};