DSCResources/MSFT_SPUsageApplication/MSFT_SPUsageApplication.schema.mof

/*
**Description**
 
This resource provisions an instance of the usage and health monitoring service application.
The database settings are only used for initial provisioning, but the usage settings can be changed and will be enforced as the resource is executed.
 
**Example**
 
    SPUsageApplication UsageApplication
    {
        Name = "Usage Service Application"
        DatabaseName = "SP_Usage"
        UsageLogCutTime = 5
        UsageLogLocation = "L:\UsageLogs"
        UsageLogMaxFileSizeKB = 1024
        Ensure = "Present"
        InstallAccount = $InstallAccount
    }
*/
[ClassVersion("1.0.0.0"), FriendlyName("SPUsageApplication")]
class MSFT_SPUsageApplication : OMI_BaseResource
{
    [Key, Description("The name of the service application")] string Name;
    [Write, Description("The name of the database for the service app")] string DatabaseName;
    [Write, Description("The name of the database server")] string DatabaseServer;
    [Write, Description("The credentials to use to access the database"), EmbeddedInstance("MSFT_Credential")] String DatabaseCredentials;
    [Write, Description("The name of the failover database server")] string FailoverDatabaseServer;
    [Write, Description("The time in minutes to cut over to new log files")] uint32 UsageLogCutTime;
    [Write, Description("The location on each server to store the log files")] string UsageLogLocation;
    [Write, Description("The maximum file size for log files in KB")] uint32 UsageLogMaxFileSizeKB;
    [Write, Description("The total space of all log files on disk in GB")] uint32 UsageLogMaxSpaceGB;
    [Write, Description("Present if the service app should exist, absent if it should not"), ValueMap{"Present","Absent"}, Values{"Present","Absent"}] string Ensure;
    [Write, Description("POWERSHELL 4 ONLY: The account to run this resource as, use PsDscRunAsAccount if using PowerShell 5"), EmbeddedInstance("MSFT_Credential")] String InstallAccount;
};