DSCResources/MSFT_xSPUserProfileServiceApp/MSFT_xSPUserProfileServiceApp.schema.mof

/*
**Description**
 
This resource will provision an instance of the user profile service to the farm.
It creates the required databases using the parameters that are passed in to it (although these are only used during the initial provisioning).
The farm account is used during the provisioning of the service only (in the set method), and the install account is used in the get and test methods.
This is done to ensure that the databases are created with the correct schema owners and allow the user profile sync service to operate correctly.
 
**Example**
 
    xSPUserProfileServiceApp UserProfileServiceApp
    {
        Name = "User Profile Service Application"
        ApplicationPool = "SharePoint Service Applications"
        MySiteHostLocation = "http://my.sharepoint.contoso.local"
        ProfileDBName = "SP_UserProfiles"
        ProfileDBServer = "SQL.contoso.local\SQLINSTANCE"
        SocialDBName = "SP_Social"
        SocialDBServer = "SQL.contoso.local\SQLINSTANCE"
        SyncDBName = "SP_ProfileSync"
        SyncDBServer = "SQL.contoso.local\SQLINSTANCE"
        FarmAccount = $FarmAccount
        PsDscRunAsCredential = $SetupAccount
    }
*/
[ClassVersion("1.0.0.0"), FriendlyName("xSPUserProfileServiceApp")]
class MSFT_xSPUserProfileServiceApp : OMI_BaseResource
{
    [Key] string Name;
    [Required] string ApplicationPool;
    [Required, EmbeddedInstance("MSFT_Credential")] String FarmAccount;
    [Write, EmbeddedInstance("MSFT_Credential")] String InstallAccount;
    [Write] string MySiteHostLocation;
    [Write] string ProfileDBName;
    [Write] string ProfileDBServer;
    [Write] string SocialDBName;
    [Write] string SocialDBServer;
    [Write] string SyncDBName;
    [Write] string SyncDBServer;
};