DSCResources/MSFT_SCDLPComplianceRule/MSFT_SCDLPComplianceRule.schema.mof

[ClassVersion("1.0.0")]
class MSFT_SCDLPSensitiveInformation
{
    [Required, Description("Name of the Sensitive Information Content")] String name;
    [Write, Description("Id of the Sensitive Information Content")] String id;
    [Write, Description("Maximum Confidence level value for the Sensitive Information")] String maxconfidence;
    [Write, Description("Minimum Confidence level value for the Sensitive Information")] String minconfidence;
    [Write, Description("Type of Classifier value for the Sensitive Information")] String classifiertype;
    [Write, Description("Minimum Count value for the Sensitive Information")] String mincount;
    [Write, Description("Maximum Count value for the Sensitive Information")] String maxcount;
};
[ClassVersion("1.0.0")]
class MSFT_SCDLPLabel
{
    [Required, Description("Name of the Sensitive Label")] String name;
    [Write, Description("Id of the Sensitive Information label")] String id;
    [Write, Description("Type of the Sensitive Information label")] String type;
};
[ClassVersion("1.0.0")]
class MSFT_SCDLPContainsSensitiveInformationGroup
{
    [Write, Description("Sensitive Information Content Types"),EmbeddedInstance("MSFT_SCDLPSensitiveInformation")] String SensitiveInformation[];
    [Write, Description("Sensitive Information Labels"),EmbeddedInstance("MSFT_SCDLPLabel")] String Labels[];
    [Required, Description("Name of the group")] String Name;
    [Required, Description("Operator"),ValueMap{"And","Or"}, Values{"And","Or"}] String Operator;
};
[ClassVersion("1.0.0")]
class MSFT_SCDLPContainsSensitiveInformation
{
    [Write, Description("Sensitive Information Content Types"),EmbeddedInstance("MSFT_SCDLPSensitiveInformation")] String SensitiveInformation[];
    [Write, Description("Groups of sensitive information types."),EmbeddedInstance("MSFT_SCDLPContainsSensitiveInformationGroup")] String Groups[];
    [Write, Description("Operator"),ValueMap{"And","Or"}, Values{"And","Or"}] String Operator;
};
[ClassVersion("1.0.0.0"), FriendlyName("SCDLPComplianceRule")]
class MSFT_SCDLPComplianceRule : OMI_BaseResource
{
    [Key, Description("Name of the Rule.")] String Name;
    [Required, Description("Name of the associated DLP Compliance Policy.")] String Policy;
    [Write, Description("The AccessScope parameter specifies a condition for the DLP rule that's based on the access scope of the content. The rule is applied to content that matches the specified access scope."), ValueMap{"InOrganization","NotInOrganization", "None"}, Values{"InOrganization","NotInOrganization", "None"}] String AccessScope;
    [Write, Description("The BlockAccess parameter specifies an action for the DLP rule that blocks access to the source item when the conditions of the rule are met. $true: Blocks further access to the source item that matched the rule. The owner, author, and site owner can still access the item. $false: Allows access to the source item that matched the rule. This is the default value.")] Boolean BlockAccess;
    [Write, Description("The BlockAccessScope parameter specifies the scope of the block access action."), ValueMap{"All", "PerUser","None"}, Values{"All", "PerUser","None"}] String BlockAccessScope;
    [Write, Description("The Comment parameter specifies an optional comment. If you specify a value that contains spaces, enclose the value in quotation marks.")] String Comment;
    [Write, Description("The AdvancedRule parameter uses complex rule syntax that supports multiple AND, OR, and NOT operators and nested groups")] String AdvancedRule;
    [Write, Description("The ContentContainsSensitiveInformation parameter specifies a condition for the rule that's based on a sensitive information type match in content. The rule is applied to content that contains the specified sensitive information type."), EmbeddedInstance("MSFT_SCDLPContainsSensitiveInformation")] String ContentContainsSensitiveInformation;
    [Write, Description("The ExceptIfContentContainsSensitiveInformation parameter specifies an exception for the rule that's based on a sensitive information type match in content. The rule isn't applied to content that contains the specified sensitive information type."), EmbeddedInstance("MSFT_SCDLPContainsSensitiveInformation")] String ExceptIfContentContainsSensitiveInformation;
    [Write, Description("The ContentPropertyContainsWords parameter specifies a condition for the DLP rule that's based on a property match in content. The rule is applied to content that contains the specified property.")] String ContentPropertyContainsWords[];
    [Write, Description("The Disabled parameter specifies whether the DLP rule is disabled.")] Boolean Disabled;
    [Write, Description("The GenerateAlert parameter specifies an action for the DLP rule that notifies the specified users when the conditions of the rule are met.")] String GenerateAlert[];
    [Write, Description("The GenerateIncidentReport parameter specifies an action for the DLP rule that sends an incident report to the specified users when the conditions of the rule are met.")] String GenerateIncidentReport[];
    [Write, Description("The IncidentReportContent parameter specifies the content to include in the report when you use the GenerateIncidentReport parameter."), ValueMap{"All", "Default", "DetectionDetails", "Detections", "DocumentAuthor", "DocumentLastModifier", "MatchedItem", "OriginalContent", "RulesMatched", "Service", "Severity", "Title","RetentionLabel","SensitivityLabel"}, Values{"All", "Default", "DetectionDetails", "Detections", "DocumentAuthor", "DocumentLastModifier", "MatchedItem", "OriginalContent", "RulesMatched", "Service", "Severity", "Title","RetentionLabel","SensitivityLabel"}] String IncidentReportContent[];
    [Write, Description("The NotifyAllowOverride parameter specifies the notification override options when the conditions of the rule are met."), ValueMap{"FalsePositive", "WithoutJustification", "WithJustification"}, Values{"FalsePositive", "WithoutJustification", "WithJustification"}] String NotifyAllowOverride[];
    [Write, Description("The NotifyEmailCustomText parameter specifies the custom text in the email notification message that's sent to recipients when the conditions of the rule are met.")] String NotifyEmailCustomText;
    [Write, Description("The NotifyPolicyTipCustomText parameter specifies the custom text in the Policy Tip notification message that's shown to recipients when the conditions of the rule are met. The maximum length is 256 characters. HTML tags and tokens (variables) aren't supported.")] String NotifyPolicyTipCustomText;
    [Write, Description("The NotifyUser parameter specifies an action for the DLP rule that notifies the specified users when the conditions of the rule are met.")] String NotifyUser[];
    [Write, Description("The ReportSeverityLevel parameter specifies the severity level of the incident report for content detections based on the rule."), ValueMap{"Low", "Medium", "High", "None"}, Values{"Low", "Medium", "High", "None"}] String ReportSeverityLevel;
    [Write, Description("The RuleErrorAction parameter specifies what to do if an error is encountered during the evaluation of the rule."), ValueMap{"Ignore", "RetryThenBlock"}, Values{"Ignore", "RetryThenBlock"}] String RuleErrorAction;
    [Write, Description("Specify if this 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("The AnyOfRecipientAddressContainsWords parameter specifies a condition for the DLP rule that looks for words or phrases in recipient email addresses.")] String AnyOfRecipientAddressContainsWords[];
    [Write, Description("The AnyOfRecipientAddressMatchesPatterns parameter specifies a condition for the DLP rule that looks for text patterns in recipient email addresses by using regular expressions.")] String AnyOfRecipientAddressMatchesPatterns[];
    [Write, Description("The RemoveRMSTemplate parameter specifies an action for the DLP rule that removes Office 365 Message Encryption from messages and their attachments.")] Boolean RemoveRMSTemplate;
    [Write, Description("The StopPolicyProcessing parameter specifies an action that stops processing more DLP policy rules.")] Boolean StopPolicyProcessing;
    [Write, Description("The DocumentIsUnsupported parameter specifies a condition for the DLP rule that looks for files that can't be scanned.")] Boolean DocumentIsUnsupported;
    [Write, Description("The ExceptIfDocumentIsUnsupported parameter specifies an exception for the DLP rule that looks for files that can't be scanned.")] Boolean ExceptIfDocumentIsUnsupported;
    [Write, Description("The SenderOverride parameter specifies a condition for the rule that looks for messages where the sender chose to override a DLP policy.")] Boolean HasSenderOverride;
    [Write, Description("The ExceptIfHasSenderOverride parameter specifies an exception for the rule that looks for messages where the sender chose to override a DLP policy.")] Boolean ExceptIfHasSenderOverride;
    [Write, Description("The ProcessingLimitExceeded parameter specifies a condition for the DLP rule that looks for files where scanning couldn't complete.")] Boolean ProcessingLimitExceeded;
    [Write, Description("The ExceptIfProcessingLimitExceeded parameter specifies an exception for the DLP rule that looks for files where scanning couldn't complete.")] Boolean ExceptIfProcessingLimitExceeded;
    [Write, Description("The DocumentIsPasswordProtected parameter specifies a condition for the DLP rule that looks for password protected files (because the contents of the file can't be inspected). Password detection only works for Office documents and .zip files.")] Boolean DocumentIsPasswordProtected;
    [Write, Description("The ExceptIfDocumentIsPasswordProtected parameter specifies an exception for the DLP rule that looks for password protected files (because the contents of the file can't be inspected). Password detection only works for Office documents and .zip files. ")] Boolean ExceptIfDocumentIsPasswordProtected;
    [Write, Description("The MessageTypeMatches parameter specifies a condition for the DLP rule that looks for types of SMIME message patterns.")] String MessageTypeMatches[];
    [Write, Description("The FromScope parameter specifies wether messages from inside or outside the organisation are in scope for the DLP rule.")] String FromScope[];
    [Write, Description("The ExceptIfFromScope parameter specifies wether messages from inside or outside the organisation are in scope for the DLP rule.")] String ExceptIfFromScope[];
    [Write, Description("The SubjectContainsWords parameter specifies a condition for the DLP rule that looks for words or phrases in the Subject field of messages. You can specify multiple words or phrases separated by commas.")] String SubjectContainsWords[];
    [Write, Description("The SubjectMatchesPatterns parameter specifies a condition for the DLP rule 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 for the rule that looks for words in the Subject field or body of messages.")] String SubjectOrBodyContainsWords[];
    [Write, Description("The SubjectOrBodyMatchesPatterns parameter specifies a condition for the rule that looks for text patterns in the Subject field or body of messages.")] String SubjectOrBodyMatchesPatterns[];
    [Write, Description("The ContentCharacterSetContainsWords parameter specifies a condition for the rule that looks for character set names in messages. You can specify multiple values separated by commas.")] String ContentCharacterSetContainsWords[];
    [Write, Description("The DocumentNameMatchesPatterns parameter specifies a condition for the DLP rule that looks for text patterns in the name of message attachments by using regular expressions.")] String DocumentNameMatchesPatterns[];
    [Write, Description("The DocumentNameMatchesWords parameter specifies a condition for the DLP rule that looks for words or phrases in the name of message attachments. ")] String DocumentNameMatchesWords[];
    [Write, Description("he ExceptIfAnyOfRecipientAddressContainsWords parameter specifies an exception for the DLP rule that looks for words or phrases in recipient email addresses.")] String ExceptIfAnyOfRecipientAddressContainsWords[];
    [Write, Description("The ExceptIfAnyOfRecipientAddressMatchesPatterns parameter specifies an exception for the DLP rule that looks for text patterns in recipient email addresses by using regular expressions.")] String ExceptIfAnyOfRecipientAddressMatchesPatterns[];
    [Write, Description("The ExceptIfContentCharacterSetContainsWords parameter specifies an exception for the rule that looks for character set names in messages.")] String ExceptIfContentCharacterSetContainsWords[];
    [Write, Description("The ExceptIfContentPropertyContainsWords parameter specifies an exception for the DLP rule that's based on a property match in content.")] String ExceptIfContentPropertyContainsWords[];
    [Write, Description("The ExceptIfDocumentNameMatchesPatterns parameter specifies an exception for the DLP rule that looks for text patterns in the name of message attachments by using regular expressions.")] String ExceptIfDocumentNameMatchesPatterns[];
    [Write, Description("The ExceptIfDocumentNameMatchesWords parameter specifies an exception for the DLP rule that looks for words or phrases in the name of message attachments.")] String ExceptIfDocumentNameMatchesWords[];
    [Write, Description("The ExceptIfFromAddressContainsWords parameter specifies an exception for the DLP rule that looks for words or phrases in the sender's email address.")] String ExceptIfFromAddressContainsWords[];
    [Write, Description("The ExceptIfFromAddressMatchesPatterns parameter specifies an exception for the DLP rule that looks for text patterns in the sender's email address by using regular expressions.")] String ExceptIfFromAddressMatchesPatterns[];
    [Write, Description("The FromAddressContainsWords parameter specifies a condition for the DLP rule that looks for words or phrases in the sender's email address.")] String FromAddressContainsWords[];
    [Write, Description("The FromAddressMatchesPatterns parameter specifies a condition for the DLP rule that looks for text patterns in the sender's email address by using regular expressions. ")] String FromAddressMatchesPatterns[];
    [Write, Description("The ExceptIfMessageTypeMatches parameter specifies an exception for the rule that looks for messages of the specified type.")] String ExceptIfMessageTypeMatches[];
    [Write, Description("The RecipientDomainIs parameter specifies a condition for the DLP rule that looks for recipients with email addresses in the specified domains.")] String RecipientDomainIs[];
    [Write, Description("The ExceptIfRecipientDomainIs parameter specifies an exception for the DLP rule that looks for recipients with email addresses in the specified domains.")] String ExceptIfRecipientDomainIs[];
    [Write, Description("The ExceptIfSenderDomainIs parameter specifies an exception for the DLP rule that looks for messages from senders with email address in the specified domains. ")] String ExceptIfSenderDomainIs[];
    [Write, Description("The ExceptIfSenderIpRanges parameter specifies an exception for the DLP rule that looks for senders whose IP addresses matches the specified value, or fall within the specified ranges.")] String ExceptIfSenderIPRanges[];
    [Write, Description("The ExceptIfSentTo parameter specifies an exception for the DLP rule that looks for recipients in messages. You identify the recipients by email address.")] String ExceptIfSentTo[];
    [Write, Description("The ExceptIfSubjectContainsWords parameter specifies an exception for the DLP rule that looks for words or phrases in the Subject field of messages.")] String ExceptIfSubjectContainsWords[];
    [Write, Description("The ExceptIfSubjectMatchesPatterns parameter specifies an exception for the DLP rule 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 for the rule that looks for words in the Subject field or body of messages.")] String ExceptIfSubjectOrBodyContainsWords[];
    [Write, Description("The ExceptIfSubjectOrBodyMatchesPatterns parameter specifies an exception for the rule that looks for text patterns in the Subject field or body of messages.")] String ExceptIfSubjectOrBodyMatchesPatterns[];
    [Write, Description("The DocumentContainsWords parameter specifies a condition for the DLP rule that looks for words in message attachments. Only supported attachment types are checked.")] String DocumentContainsWords[];
    [Write, Description("The SentToMemberOf parameter specifies a condition for the DLP rule that looks for messages sent to members of distribution groups, dynamic distribution groups, or mail-enabled security groups.")] String SentToMemberOf[];
    [Write, Description("The ContentIsNotLabeled parameter specifies if the content is labeled. A True or False condition.")] Boolean ContentIsNotLabeled;
    [Write, Description("The SetHeader The SetHeader parameter specifies an action for the DLP rule that adds or modifies a header field and value in the message header. You can specify multiple header name and value pairs separated by commas")] String SetHeader[];
    [Write, Description("The ContentExtensionMatchesWords parameter specifies a condition for the DLP rule that looks for words in file name extensions. You can specify multiple words separated by commas.")] String ContentExtensionMatchesWords[];
    [Write, Description("The ExceptIfContentExtensionMatchesWords parameter specifies an exception for the DLP rule that looks for words in file name extensions. You can specify multiple words separated by commas.")] String ExceptIfContentExtensionMatchesWords[];
    [Write, Description("Access token used for authentication.")] String AccessTokens[];
};