DSCResources/MSFT_EXODistributionGroup/MSFT_EXODistributionGroup.schema.mof

[ClassVersion("1.0.0.0"), FriendlyName("EXODistributionGroup")]
class MSFT_EXODistributionGroup : OMI_BaseResource
{
    [Key, Description("The Name parameter specifies a unique name for the address list.")] String Name;
    [Write, Description("Exchange alias (also known as the mail nickname) for the recipient")] String Alias;
    [Write, Description("Is Bcc blocked for the distribution group.")] Boolean BccBlocked;
    [Write, Description("The ByPassNestedModerationEnabled parameter specifies how to handle message approval when a moderated group contains other moderated groups as members.")] Boolean BypassNestedModerationEnabled;
    [Write, Description("Description of the distribution group.")] String Description;
    [Write, Description("The DisplayName parameter specifies the display name of the group. The display name is visible in the Exchange admin center and in address lists. The maximum length is 256 characters.")] String DisplayName;
    [Write, Description("The HiddenGroupMembershipEnabled switch specifies whether to hide the members of the distribution group from members of the group and users who aren't members of the group.")] Boolean HiddenGroupMembershipEnabled;
    [Write, Description("The ManagedBy parameter specifies an owner for the group. A group must have at least one owner.")] String ManagedBy[];
    [Write, Description("The MemberDepartRestriction parameter specifies the restrictions that you put on requests to leave the group. Valid values are: Open & Closed"), ValueMap{"Open","Closed"}, Values{"Open","Closed"}] String MemberDepartRestriction;
    [Write, Description("The MemberJoinRestriction parameter specifies the restrictions that you put on requests to join the group. Valid values are: Open, Closed & ApprovalRequired"), ValueMap{"Open","Closed","ApprovalRequired"}, Values{"Open","Closed","ApprovalRequired"}] String MemberJoinRestriction;
    [Write, Description("The Members parameter specifies the recipients (mail-enabled objects) that are members of the group. You can use any value that uniquely identifies the recipient.")] String Members[];
    [Write, Description("The ModeratedBy parameter specifies one or more moderators for this group. A moderator approves messages sent to the group before the messages are delivered. A moderator must be a mailbox, mail user, or mail contact in your organization. You can use any value that uniquely identifies the moderator.")] String ModeratedBy[];
    [Write, Description("The ModerationEnabled parameter specifies whether moderation is enabled for this recipient.")] Boolean ModerationEnabled;
    [Write, Description("The Notes parameters specifies additional information about the object.")] String Notes;
    [Write, Description("The OrganizationalUnit parameter specifies the location in Active Directory where the group is created.")] String OrganizationalUnit;
    [Write, Description("The PrimarySmtpAddress parameter specifies the primary return email address that's used for the recipient.")] String PrimarySmtpAddress;
    [Write, Description("The RequireSenderAuthenticationEnabled parameter specifies whether to accept messages only from authenticated (internal) senders.")] Boolean RequireSenderAuthenticationEnabled;
    [Write, Description("The RoomList switch specifies that all members of this distribution group are room mailboxes. You don't need to specify a value with this switch.")] Boolean RoomList;
    [Write, Description("The SendModerationNotifications parameter specifies when moderation notification messages are sent. Valid values are: Always, Internal & Never"), ValueMap{"Always","Internal", "Never"}, Values{"Always","Internal", "Never"}] String SendModerationNotifications;
    [Write, Description("The Type parameter specifies the type of group that you want to create. Valid values are: Distribution & Security"), ValueMap{"Distribution","Security"}, Values{"Distribution","Security"}] String Type;
    [Write, Description("Specifies if this AddressList should exist."), 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;
};