DSCResources/MSFT_EXOMailboxFolderPermission/MSFT_EXOMailboxFolderPermission.schema.mof

[ClassVersion("1.0.0")]
class MSFT_EXOMailboxFolderUserPermission
{
    [Write, Description("The AccessRights parameter specifies the permissions that you want to add for the user on the mailbox folder.")] String AccessRights[];
    [Write, Description("The User parameter specifies who gets the permissions on the mailbox folder.")] String User;
    [Write, Description("The SharingPermissionFlags parameter assigns calendar delegate permissions. This parameter only applies to calendar folders and can only be used when the AccessRights parameter value is Editor. Valid values are: None, Delegate, CanViewPrivateItems")] String SharingPermissionFlags;
};
 
[ClassVersion("1.0.0.0"), FriendlyName("EXOMailboxFolderPermission")]
class MSFT_EXOMailboxFolderPermission : OMI_BaseResource
{
    [Key, Description("The Identity parameter specifies the target mailbox and folder. The syntax is MailboxID:\\ParentFolder[\\SubFolder]. For the MailboxID you can use any value that uniquely identifies the mailbox.")] String Identity;
    [Write, Description("Mailbox Folder Permissions for the current user."),EmbeddedInstance("MSFT_EXOMailboxFolderUserPermission")] String UserPermissions[];
 
    [Write, Description("Determines wheter or not the permission should exist on the mailbox."), ValueMap{"Present"}, Values{"Present"}] String Ensure;
    [Write, Description("Credentials of the Exchange Global Admin"), EmbeddedInstance("MSFT_Credential")] string Credential;
    [Write, Description("Id of the Azure Active Directory application to authenticate with.")] String ApplicationId;
    [Write, Description("Id of the Azure Active Directory tenant used for authentication.")] String TenantId;
    [Write, Description("Thumbprint of the Azure Active Directory application's authentication certificate to use for authentication.")] String CertificateThumbprint;
    [Write, Description("Username can be made up to anything but password will be used for CertificatePassword"), EmbeddedInstance("MSFT_Credential")] String CertificatePassword;
    [Write, Description("Path to certificate used in service principal usually a PFX file.")] String CertificatePath;
    [Write, Description("Managed ID being used for authentication.")] Boolean ManagedIdentity;
    [Write, Description("Access token used for authentication.")] String AccessTokens[];
};