DSCResources/MSFT_xSPManagedAccount/MSFT_xSPManagedAccount.schema.mof

/*
**Description**
 
This resource will ensure a managed account is provisioned in to the SharePoint farm.
The Account object specific the credential to store (including username and password) to set as the managed account.
The settings for EmailNotification, PreExpireDays and Schedule all relate to enabling automatic password change for the managed account, leaving these option out of the resource will ensure that no automatic password changing from SharePoint occurs.
 
**Example**
 
    xSPManagedAccount WebPoolManagedAccount
    {
        AccountName = $WebPoolManagedAccount.UserName
        Account = $WebPoolManagedAccount
        PsDscRunAsCredential = $InstallAccount
    }
*/
[ClassVersion("1.0.0.0"), FriendlyName("xSPManagedAccount")]
class MSFT_xSPManagedAccount : OMI_BaseResource
{
    [Key, Description("The username of the account")] string AccountName;
    [Required, Description("The credential with password of the account"), EmbeddedInstance("MSFT_Credential")] String Account;
    [Write, Description("How many days before a password change should an email be sent")] Uint32 EmailNotification;
    [Write, Description("How many days before a password expires should it be changed")] Uint32 PreExpireDays;
    [Write, Description("What is the schedule for the password reset")] string Schedule;
    [Write, Description("POWERSHELL 4 ONLY: The account to run this resource as, use PsDscRunAsAccount if using PowerShell 5"), EmbeddedInstance("MSFT_Credential")] String InstallAccount;
};