DSCResources/MSFT_xWebsite/MSFT_xWebsite.schema.mof

[ClassVersion("1.0.0")]
class MSFT_xWebBindingInformation
{
    [Required,ValueMap{"http","https","msmq.formatname","net.msmq","net.pipe","net.tcp"},Values{"http","https","msmq.formatname","net.msmq","net.pipe","net.tcp"}] String Protocol;
    [Write] String BindingInformation;
    [Write] String IPAddress;
    [Write] UInt16 Port;
    [Write] String HostName;
    [Write] String CertificateThumbprint;
    [Write,ValueMap{"My", "WebHosting"},Values{"My", "WebHosting"}] String CertificateStoreName;
    [Write,ValueMap{"0","1","2","3"},Values{"0","1","2","3"}] String SslFlags;
};
 
[ClassVersion("1.0.0")]
class MSFT_xWebAuthenticationInformation
{
    [Write] Boolean Anonymous;
    [Write] Boolean Basic;
    [Write] Boolean Digest;
    [Write] Boolean Windows;
};
 
[ClassVersion("2.0.0"), FriendlyName("xWebsite")]
class MSFT_xWebsite : OMI_BaseResource
{
    [Write,ValueMap{"Present", "Absent"},Values{"Present", "Absent"}] String Ensure;
    [Key] String Name;
    [Write] String PhysicalPath;
    [Write,ValueMap{"Started","Stopped"},Values{"Started", "Stopped"}] String State;
    [Write] String ApplicationPool;
    [Write, EmbeddedInstance("MSFT_xWebBindingInformation"), Description("Website's binding information in the form of an array of embedded instances of the MSFT_xWebBindingInformation CIM class.")] String BindingInfo[];
    [Write] String DefaultPage[];
    [Write] String EnabledProtocols;
    [write, EmbeddedInstance("MSFT_xWebAuthenticationInformation"), Description("Hashtable containing authentication information (Anonymous, Basic, Digest, Windows)")] String AuthenticationInfo;
    [Write, Description ("Allows the Website to automatically start without a request")] Boolean PreloadEnabled;
    [Write, Description ("Enables Autostart on a Website.")] Boolean ServiceAutoStartEnabled;
    [Write, Description ("Adds a AutostartProvider")] String ServiceAutoStartProvider;
    [Write, Description ("Adds a AutostartProvider ApplicationType")] String ApplicationType;
};