DSCResources/MSFT_EXOMailboxPermission/MSFT_EXOMailboxPermission.schema.mof

[ClassVersion("1.0.0.0"), FriendlyName("EXOMailboxPermission")]
class MSFT_EXOMailboxPermission : OMI_BaseResource
{
    [Key, Description("The Identity parameter specifies the mailbox where you want to assign permissions to the user. You can use any value that uniquely identifies the mailbox.")] String Identity;
    [Required, Description("The AccessRights parameter specifies the permission that you want to add for the user on the mailbox. Valid values are: ChangeOwner, ChangePermission, DeleteItem, ExternalAccount, FullAccess and ReadPermission.")] String AccessRights[];
    [Key, Description("The User parameter specifies who gets the permissions on the mailbox.")] String User;
    [Key, Description("The InheritanceType parameter specifies how permissions are inherited by folders in the mailbox. Valid values are: None, All, Children, Descendents, SelfAndChildren."), ValueMap{"None", "All", "Children", "Descendents", "SelfAndChildren"}, Values{"None", "All", "Children", "Descendents", "SelfAndChildren"}] String InheritanceType;
    [Write, Description("The Owner parameter specifies the owner of the mailbox object.")] String Owner;
    [Write, Description("The Deny switch specifies that the permissions you're adding are Deny permissions.")] Boolean Deny;
    [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;
};