DSCResources/MSFT_EXOTransportRule/MSFT_EXOTransportRule.schema.mof

[ClassVersion("1.0.0.0"), FriendlyName("EXOTransportRule")]
class MSFT_EXOTransportRule : OMI_BaseResource
{
    [Key, Description("The Name parameter specifies the display name of the transport rule to be created. The maximum length is 64 characters.")] String Name;
    [Write, Description("This parameter specifies a condition or part of a condition for the rule. The name of the corresponding exception parameter starts with ExceptIf.")] String ADComparisonAttribute;
    [Write, Description("This parameter specifies a condition or part of a condition for the rule. The name of the corresponding exception parameter starts with ExceptIf."), ValueMap{"Equal","NotEqual"}, Values{"Equal","NotEqual"}] String ADComparisonOperator;
    [Write, Description("The ActivationDate parameter specifies when the rule starts processing messages. The rule won't take any action on messages until the specified date/time.")] String ActivationDate;
    [Write, Description("The AddManagerAsRecipientType parameter specifies an action that delivers or redirects messages to the user that's defined in the sender's Manager attribute."), ValueMap{"To","Cc","Bcc","Redirect"}, Values{"To","Cc","Bcc","Redirect"}] String AddManagerAsRecipientType;
    [Write, Description("The AddToRecipients parameter specifies an action that adds recipients to the To field of messages.")] String AddToRecipients[];
    [Write, Description("The AnyOfCcHeader parameter specifies a condition that looks for recipients in the Cc field of messages.")] String AnyOfCcHeader[];
    [Write, Description("The AnyOfCcHeaderMemberOf parameter specifies a condition that looks for group members in the Cc field of messages.")] String AnyOfCcHeaderMemberOf[];
    [Write, Description("The AnyOfRecipientAddressContainsWords parameter specifies a condition that looks for words in recipient email addresses.")] String AnyOfRecipientAddressContainsWords[];
    [Write, Description("The AnyOfRecipientAddressMatchesPatterns parameter specifies a condition that looks for text patterns in recipient email addresses by using regular expressions.")] String AnyOfRecipientAddressMatchesPatterns[];
    [Write, Description("The AnyOfToCcHeader parameter specifies a condition that looks for recipients in the To or Cc fields of messages.")] String AnyOfToCcHeader[];
    [Write, Description("The AnyOfToCcHeaderMemberOf parameter specifies a condition that looks for group members in the To and Cc fields of messages.")] String AnyOfToCcHeaderMemberOf[];
    [Write, Description("The AnyOfToHeader parameter specifies a condition that looks for recipients in the To field of messages.")] String AnyOfToHeader[];
    [Write, Description("The AnyOfToHeaderMemberOf parameter specifies a condition that looks for group members in the To field of messages.")] String AnyOfToHeaderMemberOf[];
    [Write, Description("The ApplyClassification parameter specifies an action that applies a message classification to messages. ")] String ApplyClassification;
    [Write, Description("The ApplyHtmlDisclaimerFallbackAction parameter specifies what to do if the HTML disclaimer can't be added to a message."), ValueMap{"Wrap","Ignore","Reject"}, Values{"Wrap","Ignore","Reject"}] String ApplyHtmlDisclaimerFallbackAction;
    [Write, Description("The ApplyHtmlDisclaimerLocation parameter specifies where to insert the HTML disclaimer text in the body of messages."), ValueMap{"Append","Prepend"}, Values{"Append","Prepend"}] String ApplyHtmlDisclaimerLocation;
    [Write, Description("The ApplyHtmlDisclaimerText parameter specifies an action that adds the disclaimer text to messages.")] String ApplyHtmlDisclaimerText;
    [Write, Description("The ApplyOME parameter specifies an action that encrypts messages and their attachments by using Office 365 Message Encryption.")] Boolean ApplyOME;
    [Write, Description("The ApplyRightsProtectionCustomizationTemplate parameter specifies an action that applies a custom branding template for OME encrypted messages.")] String ApplyRightsProtectionCustomizationTemplate;
    [Write, Description("The ApplyRightsProtectionTemplate parameter specifies an action that applies rights management service (RMS) templates to messages. ")] String ApplyRightsProtectionTemplate;
    [Write, Description("The AttachmentContainsWords parameter specifies a condition that looks for words in message attachments. ")] String AttachmentContainsWords[];
    [Write, Description("The AttachmentExtensionMatchesWords parameter specifies a condition that looks for words in the file name extensions of message attachments.")] String AttachmentExtensionMatchesWords[];
    [Write, Description("The AttachmentHasExecutableContent parameter specifies a condition that looks for executable content in message attachments.")] Boolean AttachmentHasExecutableContent;
    [Write, Description("The AttachmentIsPasswordProtected parameter specifies a condition that looks for password protected files in messages (because the contents of the file can't be inspected).")] Boolean AttachmentIsPasswordProtected;
    [Write, Description("The AttachmentIsUnsupported parameter specifies a condition that looks for unsupported file types in messages.")] Boolean AttachmentIsUnsupported;
    [Write, Description("The AttachmentMatchesPatterns parameter specifies a condition that looks for text patterns in the content of message attachments by using regular expressions.")] String AttachmentMatchesPatterns[];
    [Write, Description("The AttachmentNameMatchesPatterns parameter specifies a condition that looks for text patterns in the file name of message attachments by using regular expressions.")] String AttachmentNameMatchesPatterns[];
    [Write, Description("The AttachmentProcessingLimitExceeded parameter specifies a condition that looks for messages where attachment scanning didn't complete.")] Boolean AttachmentProcessingLimitExceeded;
    [Write, Description("The AttachmentPropertyContainsWords parameter specifies a condition that looks for words in the properties of attached Office documents.")] String AttachmentPropertyContainsWords[];
    [Write, Description("The AttachmentSizeOver parameter specifies a condition that looks for messages where any attachment is greater than the specified size.")] String AttachmentSizeOver;
    [Write, Description("The BetweenMemberOf1 parameter specifies a condition that looks for messages that are sent between group members.")] String BetweenMemberOf1[];
    [Write, Description("The BetweenMemberOf2 parameter specifies a condition that looks for messages that are sent between group members.")] String BetweenMemberOf2[];
    [Write, Description("The BlindCopyTo parameter specifies an action that adds recipients to the Bcc field of messages. ")] String BlindCopyTo[];
    [Write, Description("The Comments parameter specifies optional descriptive text for the rule. The length of the comment can't exceed 1024 characters.")] String Comments;
    [Write, Description("The ContentCharacterSetContainsWords parameter specifies a condition that looks for character set names in messages.")] String ContentCharacterSetContainsWords[];
    [Write, Description("The CopyTo parameter specifies an action that adds recipients to the Cc field of messages.")] String CopyTo[];
    [Write, Description("The DeleteMessage parameter specifies an action that silently drops messages without an NDR.")] Boolean DeleteMessage;
    [Write, Description("The DlpPolicy parameter specifies the data loss prevention (DLP) policy that's associated with the rule.")] String DlpPolicy;
    [Write, Description("The Enabled parameter specifies whether the new rule is created as enabled or disabled.")] Boolean Enabled;
    [Write, Description("The ExceptIfADComparisonAttribute parameter specifies an exception that compares an Active Directory attribute between the sender and all recipients of the message.")] String ExceptIfADComparisonAttribute;
    [Write, Description("The ExceptIfADComparisonOperator parameter specifies the comparison operator for the ExceptIfADComparisonAttribute parameter."), ValueMap{"Equal","NotEqual"}, Values{"Equal","NotEqual"}] String ExceptIfADComparisonOperator;
    [Write, Description("The ExceptIfAnyOfCcHeader parameter specifies an exception that looks for recipients in the Cc field of messages.")] String ExceptIfAnyOfCcHeader[];
    [Write, Description("The ExceptIfAnyOfCcHeaderMemberOf parameter specifies an exception that looks for group members in the Cc field of messages. You can use any value that uniquely identifies the group.")] String ExceptIfAnyOfCcHeaderMemberOf[];
    [Write, Description("The ExceptIfAnyOfRecipientAddressContainsWords parameter specifies an exception that looks for words in recipient email addresses.")] String ExceptIfAnyOfRecipientAddressContainsWords[];
    [Write, Description("The ExceptIfAnyOfRecipientAddressMatchesPatterns parameter specifies an exception that looks for text patterns in recipient email addresses by using regular expressions.")] String ExceptIfAnyOfRecipientAddressMatchesPatterns[];
    [Write, Description("The ExceptIfAnyOfToCcHeader parameter specifies an exception that looks for recipients in the To or Cc fields of messages.")] String ExceptIfAnyOfToCcHeader[];
    [Write, Description("The ExceptIfAnyOfToCcHeaderMemberOf parameter specifies an exception that looks for group members in the To and Cc fields of messages.")] String ExceptIfAnyOfToCcHeaderMemberOf[];
    [Write, Description("The ExceptIfAnyOfToHeader parameter specifies an exception that looks for recipients in the To field of messages.")] String ExceptIfAnyOfToHeader[];
    [Write, Description("The ExceptIfAnyOfToHeaderMemberOf parameter specifies an exception that looks for group members in the To field of messages.")] String ExceptIfAnyOfToHeaderMemberOf[];
    [Write, Description("The ExceptIfAttachmentContainsWords parameter specifies an exception that looks for words in message attachments.")] String ExceptIfAttachmentContainsWords[];
    [Write, Description("The ExceptIfAttachmentExtensionMatchesWords parameter specifies an exception that looks for words in the file name extensions of message attachments.")] String ExceptIfAttachmentExtensionMatchesWords[];
    [Write, Description("The ExceptIfAttachmentHasExecutableContent parameter specifies an exception that looks for executable content in message attachments.")] Boolean ExceptIfAttachmentHasExecutableContent;
    [Write, Description("The ExceptIfAttachmentIsPasswordProtected parameter specifies an exception that looks for password protected files in messages (because the contents of the file can't be inspected).")] Boolean ExceptIfAttachmentIsPasswordProtected;
    [Write, Description("The ExceptIfAttachmentIsUnsupported parameter specifies an exception that looks for unsupported file types in messages.")] Boolean ExceptIfAttachmentIsUnsupported;
    [Write, Description("The ExceptIfAttachmentMatchesPatterns parameter specifies an exception that looks for text patterns in the content of message attachments by using regular expressions.")] String ExceptIfAttachmentMatchesPatterns[];
    [Write, Description("The ExceptIfAttachmentNameMatchesPatterns parameter specifies an exception that looks for text patterns in the file name of message attachments by using regular expressions.")] String ExceptIfAttachmentNameMatchesPatterns[];
    [Write, Description("The ExceptIfAttachmentPropertyContainsWords parameter specifies an exception that looks for words in the properties of attached Office documents. ")] String ExceptIfAttachmentPropertyContainsWords[];
    [Write, Description("The ExceptIfAttachmentProcessingLimitExceeded parameter specifies an exception that looks for messages where attachment scanning didn't complete.")] Boolean ExceptIfAttachmentProcessingLimitExceeded;
    [Write, Description("The ExceptIfAttachmentSizeOver parameter specifies an exception that looks for messages where any attachment is greater than the specified size.")] String ExceptIfAttachmentSizeOver;
    [Write, Description("The ExceptIfBetweenMemberOf1 parameter specifies an exception that looks for messages that are sent between group members. ")] String ExceptIfBetweenMemberOf1[];
    [Write, Description("The ExceptIfBetweenMemberOf2 parameter specifies an exception that looks for messages that are sent between group members.")] String ExceptIfBetweenMemberOf2[];
    [Write, Description("The ExceptIfContentCharacterSetContainsWords parameter specifies an exception that looks for character set names in messages.")] String ExceptIfContentCharacterSetContainsWords[];
    [Write, Description("The ExceptIfFrom parameter specifies an exception that looks for messages from specific senders.")] String ExceptIfFrom[];
    [Write, Description("The ExceptIfFromAddressContainsWords parameter specifies an exception that looks for words in the sender's email address.")] String ExceptIfFromAddressContainsWords[];
    [Write, Description("The ExceptIfFromAddressMatchesPatterns parameter specifies an exception that looks for text patterns in the sender's email address by using regular expressions.")] String ExceptIfFromAddressMatchesPatterns[];
    [Write, Description("The ExceptIfFromMemberOf parameter specifies an exception that looks for messages sent by group members.")] String ExceptIfFromMemberOf[];
    [Write, Description("The ExceptIfFromScope parameter specifies an exception that looks for the location of message senders."), ValueMap{"InOrganization","NotInOrganization"}, Values{"InOrganization","NotInOrganization"}] String ExceptIfFromScope;
    [Write, Description("The ExceptIfHasClassification parameter specifies an exception that looks for messages with the specified message classification.")] String ExceptIfHasClassification;
    [Write, Description("The ExceptIfHasNoClassification parameter specifies an exception that looks for messages with or without any message classifications.")] Boolean ExceptIfHasNoClassification;
    [Write, Description("DEPRECATED")] Boolean ExceptIfHasSenderOverride;
    [Write, Description("The ExceptIfHeaderContainsMessageHeader parameter specifies the name of header field in the message header when searching for the words specified by the ExceptIfHeaderContainsWords parameter.")] String ExceptIfHeaderContainsMessageHeader;
    [Write, Description("The ExceptIfHeaderContainsWords parameter specifies an exception that looks for words in a header field.")] String ExceptIfHeaderContainsWords[];
    [Write, Description("The ExceptIfHeaderMatchesMessageHeader parameter specifies the name of header field in the message header when searching for the text patterns specified by the ExceptIfHeaderMatchesPatterns parameter.")] String ExceptIfHeaderMatchesMessageHeader;
    [Write, Description("The ExceptIfHeaderMatchesPatterns parameter specifies an exception that looks for text patterns in a header field by using regular expressions.")] String ExceptIfHeaderMatchesPatterns[];
    [Write, Description("The ExceptIfManagerAddresses parameter specifies the users (managers) for the ExceptIfManagerForEvaluatedUser parameter.")] String ExceptIfManagerAddresses[];
    [Write, Description("The ExceptIfManagerForEvaluatedUser parameter specifies an exception that looks for users in the Manager attribute of senders or recipients.")] String ExceptIfManagerForEvaluatedUser;
    [Write, Description("The ExceptIfMessageTypeMatches parameter specifies an exception that looks for messages of the specified type."), ValueMap{"OOF","AutoForward","Encrypted","Calendaring","PermissionControlled","Voicemail","Signed","ApprovalRequest","ReadReceipt"}, Values{"OOF","AutoForward","Encrypted","Calendaring","PermissionControlled","Voicemail","Signed","ApprovalRequest","ReadReceipt"}] String ExceptIfMessageTypeMatches;
    [Write, Description("DEPRECATED")] String ExceptIfMessageContainsDataClassifications[];
    [Write, Description("The ExceptIfMessageSizeOver parameter specifies an exception that looks for messages larger than the specified size. ")] String ExceptIfMessageSizeOver;
    [Write, Description("The ExceptIfRecipientADAttributeContainsWords parameter specifies an exception that looks for words in the Active Directory attributes of recipients.")] String ExceptIfRecipientADAttributeContainsWords[];
    [Write, Description("The ExceptIfRecipientADAttributeMatchesPatterns parameter specifies an exception that looks for text patterns in the Active Directory attributes of recipients by using regular expressions.")] String ExceptIfRecipientADAttributeMatchesPatterns[];
    [Write, Description("The ExceptIfRecipientAddressContainsWords parameter specifies an exception that looks for words in recipient email addresses.")] String ExceptIfRecipientAddressContainsWords[];
    [Write, Description("The ExceptIfRecipientAddressMatchesPatterns parameter specifies an exception that looks for text patterns in recipient email addresses by using regular expressions.")] String ExceptIfRecipientAddressMatchesPatterns[];
    [Write, Description("The ExceptIfRecipientDomainIs parameter specifies an exception that looks for recipients with email address in the specified domains.")] String ExceptIfRecipientDomainIs[];
    [Write, Description("This parameter is reserved for internal Microsoft use.")] String ExceptIfRecipientInSenderList[];
    [Write, Description("The ExceptIfSCLOver parameter specifies an exception that looks for the SCL value of messages")] String ExceptIfSCLOver;
    [Write, Description("The ExceptIfSenderADAttributeContainsWords parameter specifies an exception that looks for words in Active Directory attributes of message senders.")] String ExceptIfSenderADAttributeContainsWords[];
    [Write, Description("The ExceptIfSenderADAttributeMatchesPatterns parameter specifies an exception that looks for text patterns in Active Directory attributes of message senders by using regular expressions.")] String ExceptIfSenderADAttributeMatchesPatterns[];
    [Write, Description("The ExceptIfSenderDomainIs parameter specifies an exception that looks for senders with email address in the specified domains.")] String ExceptIfSenderDomainIs[];
    [Write, Description("This parameter is reserved for internal Microsoft use.")] String ExceptIfSenderInRecipientList[];
    [Write, Description("The ExceptIfSenderIpRanges parameter specifies an exception that looks for senders whose IP addresses matches the specified value, or fall within the specified ranges.")] String ExceptIfSenderIpRanges[];
    [Write, Description("The ExceptIfSenderManagementRelationship parameter specifies an exception that looks for the relationship between the sender and recipients in messages."), ValueMap{"Manager","DirectReport"}, Values{"Manager","DirectReport"}] String ExceptIfSenderManagementRelationship;
    [Write, Description("The ExceptIfSentTo parameter specifies an exception that looks for recipients in messages. You can use any value that uniquely identifies the recipient.")] String ExceptIfSentTo[];
    [Write, Description("The ExceptIfSentToMemberOf parameter specifies an exception that looks for messages sent to members of groups. You can use any value that uniquely identifies the group.")] String ExceptIfSentToMemberOf[];
    [Write, Description("The ExceptIfSentToScope parameter specifies an exception that looks for the location of a recipient. "), ValueMap{"InOrganization","NotInOrganization","ExternalPartner","ExternalNonPartner"}, Values{"InOrganization","NotInOrganization","ExternalPartner","ExternalNonPartner"}] String ExceptIfSentToScope;
    [Write, Description("The ExceptIfSubjectContainsWords parameter specifies an exception that looks for words in the Subject field of messages.")] String ExceptIfSubjectContainsWords[];
    [Write, Description("The ExceptIfSubjectMatchesPatterns parameter specifies an exception that looks for text patterns in the Subject field of messages by using regular expressions.")] String ExceptIfSubjectMatchesPatterns[];
    [Write, Description("The ExceptIfSubjectOrBodyContainsWords parameter specifies an exception that looks for words in the Subject field or body of messages.")] String ExceptIfSubjectOrBodyContainsWords[];
    [Write, Description("The ExceptIfSubjectOrBodyMatchesPatterns parameter specifies an exception that looks for text patterns in the Subject field or body of messages.")] String ExceptIfSubjectOrBodyMatchesPatterns[];
    [Write, Description("The ExceptIfWithImportance parameter specifies an exception that looks for messages with the specified importance level."), ValueMap{"Low","Normal","High"}, Values{"Low","Normal","High"}] String ExceptIfWithImportance;
    [Write, Description("The ExpiryDate parameter specifies when this rule will stop processing messages. The rule won't take any action on messages after the specified date/time.")] String ExpiryDate;
    [Write, Description("The From parameter specifies a condition that looks for messages from specific senders. You can use any value that uniquely identifies the sender.")] String From[];
    [Write, Description("The FromAddressContainsWords parameter specifies a condition that looks for words in the sender's email address. ")] String FromAddressContainsWords[];
    [Write, Description("The FromAddressMatchesPatterns parameter specifies a condition that looks for text patterns in the sender's email address by using regular expressions.")] String FromAddressMatchesPatterns[];
    [Write, Description("The FromMemberOf parameter specifies a condition that looks for messages sent by group members.")] String FromMemberOf[];
    [Write, Description("The FromScope parameter specifies a condition that looks for the location of message senders."), ValueMap{"InOrganization","NotInOrganization"}, Values{"InOrganization","NotInOrganization"}] String FromScope;
    [Write, Description("The GenerateIncidentReport parameter specifies where to send the incident report that's defined by the IncidentReportContent parameter.")] String GenerateIncidentReport;
    [Write, Description("The GenerateNotification parameter specifies an action that sends a notification message to recipients.")] String GenerateNotification;
    [Write, Description("The HasClassification parameter specifies a condition that looks for messages with the specified message classification.")] String HasClassification;
    [Write, Description("The HasNoClassification parameter specifies a condition that looks for messages with or without any message classifications.")] Boolean HasNoClassification;
    [Write, Description("DEPRECATED")] Boolean HasSenderOverride;
    [Write, Description("The HeaderContainsMessageHeader parameter specifies the name of header field in the message header when searching for the words specified by the HeaderContainsWords parameter.")] String HeaderContainsMessageHeader;
    [Write, Description("The HeaderContainsWords parameter specifies a condition that looks for words in a header field.")] String HeaderContainsWords[];
    [Write, Description("The HeaderMatchesMessageHeader parameter specifies the name of header field in the message header when searching for the text patterns specified by the HeaderMatchesPatterns parameter.")] String HeaderMatchesMessageHeader;
    [Write, Description("The HeaderMatchesPatterns parameter specifies a condition that looks for text patterns in a header field by using regular expressions. ")] String HeaderMatchesPatterns[];
    [Write, Description("The IncidentReportContent parameter specifies the message properties that are included in the incident report that's generated when a message violates a DLP policy. ")] String IncidentReportContent[];
    [Write, Description("The ManagerAddresses parameter specifies the users (managers) for the ExceptIfManagerForEvaluatedUser parameter.")] String ManagerAddresses[];
    [Write, Description("The ManagerForEvaluatedUser parameter specifies a condition that looks for users in the Manager attribute of senders or recipients."), ValueMap{"Recipient","Sender"}, Values{"Recipient","Sender"}] String ManagerForEvaluatedUser;
    [Write, Description("DEPRECATED")] String MessageContainsDataClassifications[];
    [Write, Description("The MessageSizeOver parameter specifies a condition that looks for messages larger than the specified size. The size includes the message and all attachments.")] String MessageSizeOver;
    [Write, Description("The MessageTypeMatches parameter specifies a condition that looks for messages of the specified type."), ValueMap{"OOF","AutoForward","Encrypted","Calendaring","PermissionControlled","Voicemail","Signed","ApprovalRequest","ReadReceipt"}, Values{"OOF","AutoForward","Encrypted","Calendaring","PermissionControlled","Voicemail","Signed","ApprovalRequest","ReadReceipt"}] String MessageTypeMatches;
    [Write, Description("The Mode parameter specifies how the rule operates."), ValueMap{"Audit","AuditAndNotify","Enforce"}, Values{"Audit","AuditAndNotify","Enforce"}] String Mode;
    [Write, Description("The ModerateMessageByManager parameter specifies an action that forwards messages for approval to the user that's specified in the sender's Manager attribute.")] Boolean ModerateMessageByManager;
    [Write, Description("The ModerateMessageByUser parameter specifies an action that forwards messages for approval to the specified users.")] String ModerateMessageByUser[];
    [Write, Description("DEPRECATED"), ValueMap{"NotifyOnly","RejectMessage","RejectUnlessFalsePositiveOverride","RejectUnlessSilentOverride","RejectUnlessExplicitOverride"}, Values{"NotifyOnly","RejectMessage","RejectUnlessFalsePositiveOverride","RejectUnlessSilentOverride","RejectUnlessExplicitOverride"}] String NotifySender;
    [Write, Description("The PrependSubject parameter specifies an action that adds text to add to the beginning of the Subject field of messages.")] String PrependSubject;
    [Write, Description("The Priority parameter specifies a priority value for the rule that determines the order of rule processing.")] String Priority;
    [Write, Description("The Quarantine parameter specifies an action that quarantines messages.")] Boolean Quarantine;
    [Write, Description("The RecipientADAttributeContainsWords parameter specifies a condition that looks for words in the Active Directory attributes of recipients. ")] String RecipientADAttributeContainsWords[];
    [Write, Description("The RecipientADAttributeMatchesPatterns parameter specifies a condition that looks for text patterns in the Active Directory attributes of recipients by using regular expressions.")] String RecipientADAttributeMatchesPatterns[];
    [Write, Description("The RecipientAddressContainsWords parameter specifies a condition that looks for words in recipient email addresses.")] String RecipientAddressContainsWords[];
    [Write, Description("The RecipientAddressMatchesPatterns parameter specifies a condition that looks for text patterns in recipient email addresses by using regular expressions.")] String RecipientAddressMatchesPatterns[];
    [Write, Description("The RecipientAddressType parameter specifies how conditions and exceptions check recipient email addresses."), ValueMap{"Original","Resolved"}, Values{"Original","Resolved"}] String RecipientAddressType;
    [Write, Description("The RecipientDomainIs parameter specifies a condition that looks for recipients with email address in the specified domains.")] String RecipientDomainIs[];
    [Write, Description("This parameter is reserved for internal Microsoft use.")] String RecipientInSenderList[];
    [Write, Description("The RedirectMessageTo parameter specifies a rule action that redirects messages to the specified recipients.")] String RedirectMessageTo[];
    [Write, Description("The RejectMessageEnhancedStatusCode parameter specifies the enhanced status code that's used when the rule rejects messages.")] String RejectMessageEnhancedStatusCode;
    [Write, Description("The RejectMessageReasonText parameter specifies the explanation text that's used when the rule rejects messages.")] String RejectMessageReasonText;
    [Write, Description("The RemoveHeader parameter specifies an action that removes a header field from the message header.")] String RemoveHeader;
    [Write, Description("The RemoveOME parameter specifies an action that removes the previous version of Office 365 Message Encryption from messages and their attachments.")] Boolean RemoveOME;
    [Write, Description("The RemoveOMEv2 parameter specifies an action that removes Office 365 Message Encryption from messages and their attachments.")] Boolean RemoveOMEv2;
    [Write, Description("This parameter specifies an action or part of an action for the rule.")] Boolean RemoveRMSAttachmentEncryption;
    [Write, Description("The RouteMessageOutboundConnector parameter specifies an action that routes messages through the specified Outbound connector in Office 365.")] String RouteMessageOutboundConnector;
    [Write, Description("The RouteMessageOutboundRequireTls parameter specifies an action that uses Transport Layer Security (TLS) encryption to deliver messages outside your organization.")] Boolean RouteMessageOutboundRequireTls;
    [Write, Description("The RuleErrorAction parameter specifies what to do if rule processing can't be completed on messages."), ValueMap{"Ignore","Defer"}, Values{"Ignore","Defer"}] String RuleErrorAction;
    [Write, Description("The RuleSubType parameter specifies the rule type."), ValueMap{"Dlp","None"}, Values{"Dlp","None"}] String RuleSubType;
    [Write, Description("The SCLOver parameter specifies a condition that looks for the SCL value of messages")] String SCLOver;
    [Write, Description("The SenderADAttributeContainsWords parameter specifies a condition that looks for words in Active Directory attributes of message senders.")] String SenderADAttributeContainsWords[];
    [Write, Description("The SenderADAttributeMatchesPatterns parameter specifies a condition that looks for text patterns in Active Directory attributes of message senders by using regular expressions.")] String SenderADAttributeMatchesPatterns[];
    [Write, Description("The SenderAddressLocation parameter specifies where to look for sender addresses in conditions and exceptions that examine sender email addresses."), ValueMap{"Header","Envelope","HeaderOrEnvelope"}, Values{"Header","Envelope","HeaderOrEnvelope"}] String SenderAddressLocation;
    [Write, Description("The SenderDomainIs parameter specifies a condition that looks for senders with email address in the specified domains.")] String SenderDomainIs[];
    [Write, Description("This parameter is reserved for internal Microsoft use.")] String SenderInRecipientList;
    [Write, Description("The SenderIpRanges parameter specifies a condition that looks for senders whose IP addresses matches the specified value, or fall within the specified ranges.")] String SenderIpRanges[];
    [Write, Description("The SenderManagementRelationship parameter specifies a condition that looks for the relationship between the sender and recipients in messages."), ValueMap{"Manager","DirectReport"}, Values{"Manager","DirectReport"}] String SenderManagementRelationship;
    [Write, Description("The SentTo parameter specifies a condition that looks for recipients in messages.")] String SentTo[];
    [Write, Description("The SentToMemberOf parameter specifies a condition that looks for messages sent to members of distribution groups, dynamic distribution groups, or mail-enabled security groups.")] String SentToMemberOf[];
    [Write, Description("The SentToScope parameter specifies a condition that looks for the location of recipients."),ValueMap{"InOrganization","NotInOrganization","ExternalPartner","ExternalNonPartner"}, Values{"InOrganization","NotInOrganization","ExternalPartner","ExternalNonPartner"}] String SentToScope;
    [Write, Description("The SetAuditSeverity parameter specifies an action that sets the severity level of the incident report and the corresponding entry that's written to the message tracking log when messages violate DLP policies."), ValueMap{"DoNotAudit","Low","Medium","High"}, Values{"DoNotAudit","Low","Medium","High"}] String SetAuditSeverity;
    [Write, Description("The SetHeaderName parameter specifies an action that adds or modifies a header field in the message header.")] String SetHeaderName;
    [Write, Description("The SetHeaderValue parameter specifies an action that adds or modifies a header field in the message header.")] String SetHeaderValue;
    [Write, Description("The SetSCL parameter specifies an action that adds or modifies the SCL value of messages.")] String SetSCL;
    [Write, Description("The StopRuleProcessing parameter specifies an action that stops processing more rules.")] Boolean StopRuleProcessing;
    [Write, Description("The SubjectContainsWords parameter specifies a condition that looks for words in the Subject field of messages.")] String SubjectContainsWords[];
    [Write, Description("The SubjectMatchesPatterns parameter specifies a condition that looks for text patterns in the Subject field of messages by using regular expressions.")] String SubjectMatchesPatterns[];
    [Write, Description("The SubjectOrBodyContainsWords parameter specifies a condition that looks for words in the Subject field or body of messages.")] String SubjectOrBodyContainsWords[];
    [Write, Description("The SubjectOrBodyMatchesPatterns parameter specifies a condition that looks for text patterns in the Subject field or body of messages.")] String SubjectOrBodyMatchesPatterns[];
    [Write, Description("The WithImportance parameter specifies a condition that looks for messages with the specified importance level."),ValueMap{"Low","Normal","High"}, Values{"Low","Normal","High"}] String WithImportance;
    [Write, Description("Specify if the Transport Rule 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;
};