DSCResources/MSFT_EXOManagementRoleAssignment/MSFT_EXOManagementRoleAssignment.schema.mof

[ClassVersion("1.0.0.0"), FriendlyName("EXOManagementRoleAssignment")]
class MSFT_EXOManagementRoleAssignment : OMI_BaseResource
{
    [Key, Description("The Name parameter specifies a name for the new management role assignment. The maximum length of the name is 64 characters.")] String Name;
    [Key, Description("The Role parameter specifies the existing role to assign. You can use any value that uniquely identifies the role.")] String Role;
    [Write, Description("The App parameter specifies the service principal to assign the management role to. Specifically, the ServiceId GUID value from the output of the Get-ServicePrincipal cmdlet (for example, 6233fba6-0198-4277-892f-9275bf728bcc).")] String App;
    [Write, Description("The Policy parameter specifies the name of the management role assignment policy to assign the management role to.")] String Policy;
    [Write, Description("The SecurityGroup parameter specifies the name of the management role group or mail-enabled universal security group to assign the management role to.")] String SecurityGroup;
    [Write, Description("The User parameter specifies the name or alias of the user to assign the management role to.")] String User;
    [Write, Description("The CustomRecipientWriteScope parameter specifies the existing recipient-based management scope to associate with this management role assignment.")] String CustomRecipientWriteScope;
    [Write, Description("The CustomResourceScope parameter specifies the custom management scope to associate with this management role assignment. You can use any value that uniquely identifies the management scope.")] String CustomResourceScope;
    [Write, Description("The ExclusiveConfigWriteScope parameter specifies the exclusive configuration-based management scope to associate with the new role assignment.")] String ExclusiveRecipientWriteScope;
    [Write, Description("The RecipientAdministrativeUnitScope parameter specifies the administrative unit to scope the new role assignment to.")] String RecipientAdministrativeUnitScope;
    [Write, Description("The RecipientOrganizationalUnitScope parameter specifies the OU to scope the new role assignment to. If you use the RecipientOrganizationalUnitScope parameter, you can't use the CustomRecipientWriteScope or ExclusiveRecipientWriteScope parameters.")] String RecipientOrganizationalUnitScope;
    [Write, Description("The RecipientRelativeWriteScope parameter specifies the type of restriction to apply to a recipient scope. The available types are None, Organization, MyGAL, Self, and MyDistributionGroups. The RecipientRelativeWriteScope parameter is automatically set when the CustomRecipientWriteScope or RecipientOrganizationalUnitScope parameters are used.")] String RecipientRelativeWriteScope;
    [Write, Description("Specify if the Management Role Assignment should exist or not."), ValueMap{"Present","Absent"}, Values{"Present","Absent"}] 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;
};