DSCResources/DSC_IisLogging/DSC_IisLogging.schema.mof

[ClassVersion("1.0.0"), FriendlyName("IisLogging")]
class DSC_IisLogging : OMI_BaseResource
{
    [Key, Description ("The directory to be used for logfiles")] String LogPath;
    [Write, Description ("The W3C logging fields"), ValueMap{"Date","Time","ClientIP","UserName","SiteName","ComputerName","ServerIP","Method","UriStem","UriQuery","HttpStatus","Win32Status","BytesSent","BytesRecv","TimeTaken","ServerPort","UserAgent","Cookie","Referer","ProtocolVersion","Host","HttpSubStatus"}, Values{"Date","Time","ClientIP","UserName","SiteName","ComputerName","ServerIP","Method","UriStem","UriQuery","HttpStatus","Win32Status","BytesSent","BytesRecv","TimeTaken","ServerPort","UserAgent","Cookie","Referer","ProtocolVersion","Host","HttpSubStatus"}] String LogFlags[];
    [Write, Description ("How often the log file should rollover"), ValueMap{"Hourly","Daily","Weekly","Monthly","MaxSize"}, Values{"Hourly","Daily","Weekly","Monthly","MaxSize"}] String LogPeriod;
    [Write, Description ("How large the file should be before it is truncated")] String LogTruncateSize;
    [Write, Description ("Use the localtime for file naming and rollover")] Boolean LoglocalTimeRollover;
    [Write, Description ("Format of the Logfiles. Only W3C supports LogFlags"), ValueMap{"IIS","W3C","NCSA"}, Values{"IIS","W3C","NCSA"}] String LogFormat;
    [Write, Description ("Specifies whether IIS will use Event Tracing or file logging"), ValueMap{"File","ETW","File,ETW"}, Values{"File","ETW","File,ETW"}] String LogTargetW3C;
    [Write, EmbeddedInstance("DSC_LogCustomField"), Description("Custom logging field information in the form of an array of embedded instances of DSC_LogCustomField CIM class")] String LogCustomFields[];
};
 
[ClassVersion("1.0.0")]
class DSC_LogCustomField
{
    [Required, Description("Name for the custom field")] String LogFieldName;
    [Required, Description("Name for the source type")] String SourceName;
    [Required, Description("Specify the source type"), ValueMap{"RequestHeader","ResponseHeader","ServerVariable"},Values{"RequestHeader","ResponseHeader","ServerVariable"}] String SourceType;
    [Write, Description("Indicates if the custom log field should be present or absent. Defaults to Present."), ValueMap{"Present","Absent"}, Values{"Present","Absent"}] String Ensure;
};