DSCResources/MSFT_xSPWordAutomationServiceApp/MSFT_xSPWordAutomationServiceApp.schema.mof

/*
**Description**
 
The resource is able to provision, unprovision and configure the Word Automation Service Application.
All settings that you can configure on the Service Application administration page are configurable using this resource.
 
Important:
When you specify Ensure=Present, the Application Pool and DatabaseName parameters are required.
When you specify Ensure=Absent, no other parameters are allowed (with the exception of Name, InstallAccount or PsDscRunAsCredential).
 
**Example**
 
Make sure the service application exists and has a specific configuration
 
    xSPWordAutomationServiceApp Word Automation
    {
        Name = "Word Automation Service Application"
        Ensure = "Present"
        ApplicationPool = "SharePoint Web Services"
        DatabaseName = "WordAutomation_DB"
        DatabaseServer = "SQLServer"
        SupportedFileFormats = "docx", "doc", "mht", "rtf", "xml"
        DisableEmbeddedFonts = $false
        MaximumMemoryUsage = 100
        RecycleThreshold = 100
        DisableBinaryFileScan = $false
        ConversionProcesses = 8
        JobConversionFrequency = 15 (in minutes)
        NumberOfConversionsPerProcess = 12
        TimeBeforeConversionIsMonitored = 5 (in minutes)
        MaximumConversionAttempts = 2
        MaximumSyncConversionRequests = 25
        KeepAliveTimeout = 30 (in seconds)
        MaximumConversionTime = 300 (in seconds)
        PsDscRunAsCredential = $InstallAccount
    }
 
Make sure the service application does not exist and remove when it does
 
    xSPWordAutomationServiceApp Word Automation
    {
        Name = "Word Automation Service Application"
        Ensure = "Absent"
        PsDscRunAsCredential = $InstallAccount
    }
*/
 
[ClassVersion("1.0.0.0"), FriendlyName("xSPWordAutomationServiceApp")]
class MSFT_xSPWordAutomationServiceApp : OMI_BaseResource
{
    [Key] string Name;
    [Required, ValueMap{"Present","Absent"}, Values{"Present","Absent"}] string Ensure;
    [Write] string ApplicationPool;
    [Write] string DatabaseName;
    [Write] string DatabaseServer;
    [Write, ValueMap{"docx","doc","mht","rtf","xml"}, Values{"docx","doc","mht","rtf","xml"}] string SupportedFileFormats[];
    [Write] boolean DisableEmbeddedFonts;
    [Write] uint32 MaximumMemoryUsage;
    [Write] uint32 RecycleThreshold;
    [Write] boolean DisableBinaryFileScan;
    [Write] uint32 ConversionProcesses;
    [Write] uint32 JobConversionFrequency;
    [Write] uint32 NumberOfConversionsPerProcess;
    [Write] uint32 TimeBeforeConversionIsMonitored;
    [Write] uint32 MaximumConversionAttempts;
    [Write] uint32 MaximumSyncConversionRequests;
    [Write] uint32 KeepAliveTimeout;
    [Write] uint32 MaximumConversionTime;
    [Write, EmbeddedInstance("MSFT_Credential")] string InstallAccount;
};