DSCResources/MSFT_SPServiceAppSecurity/MSFT_SPServiceAppSecurity.schema.mof

[ClassVersion("1.0.0.0")]
class MSFT_SPServiceAppSecurityEntry
{
    [Key, Description("The username for the entry")] String Username;
    [Required, Description("The access level for the entry"), ValueMap{"Change Permissions","Full Control", "Write", "Read"}, Values{"Change Permissions","Full Control", "Write", "Read"}] String AccessLevel;
};
[ClassVersion("1.0.0.0"), FriendlyName("SPServiceAppSecurity")]
class MSFT_SPServiceAppSecurity : OMI_BaseResource
{
    [Key, Description("The name of the service application you wish to apply security settings to")] String ServiceAppName;
    [Key, Description("Administrators will set the administrators for the service app, SharingPermissions will set those granted access through the permissions button seen in the Sharing section of the ribbon in central admin"), ValueMap{"Administrators","SharingPermissions"}, Values{"Administrators","SharingPermissions"}] string SecurityType;
    [Write, Description("A list of members to set the group to. Those not in this list will be removed"), EmbeddedInstance("MSFT_SPServiceAppSecurityEntry")] String Members[];
    [Write, Description("A list of members to add. Members not in this list will be left in the group"), EmbeddedInstance("MSFT_SPServiceAppSecurityEntry")] String MembersToInclude[];
    [Write, Description("A list of members to remove. Members not in this list will be left in the group")] String MembersToExclude[];
    [Write, Description("POWERSHELL 4 ONLY: The account to run this resource as, use PsDscRunAsCredential if using PowerShell 5"), EmbeddedInstance("MSFT_Credential")] String InstallAccount;
};