DSCResources/MSFT_SentinelAlertRule/MSFT_SentinelAlertRule.schema.mof

[ClassVersion("1.0.0")]
class MSFT_SentinelAlertRuleEventGroupingSettings
{
    [Write, Description("The event grouping aggregation kinds")] String aggregationKind;
};
 
[ClassVersion("1.0.0")]
class MSFT_SentinelAlertRuleCustomDetails
{
    [Write, Description("Key of the custom detail.")] String DetailKey;
    [Write, Description("Associated value with the custom detail.")] String DetailValue;
};
 
[ClassVersion("1.0.0")]
class MSFT_SentinelAlertRuleEntityMapping
{
    [Write, Description("Type of entity.")] String entityType;
    [Write, Description("List of field mappings."), EmbeddedInstance("MSFT_SentinelAlertRuleEntityMappingFieldMapping")] String fieldMappings[];
};
 
[ClassVersion("1.0.0")]
class MSFT_SentinelAlertRuleEntityMappingFieldMapping
{
    [Write, Description("Name of the column")] String columnName;
    [Write, Description("Identifier of the associated field.")] String identifier;
};
 
[ClassVersion("1.0.0")]
class MSFT_SentinelAlertRuleAlertDetailsOverride
{
    [Write, Description("The format containing columns name(s) to override the alert description")] String alertDescriptionFormat;
    [Write, Description("The format containing columns name(s) to override the alert name")] String alertDisplayNameFormat;
    [Write, Description("The column name to take the alert severity from")] String alertSeverityColumnName;
    [Write, Description("The column name to take the alert tactics from")] String alertTacticsColumnName;
    [Write, Description("List of additional dynamic properties to override"), EmbeddedInstance("MSFT_SentinelAlertRuleAlertDetailsOverrideAlertDynamicProperty")] String alertDynamicProperties[];
};
 
[ClassVersion("1.0.0")]
class MSFT_SentinelAlertRuleAlertDetailsOverrideAlertDynamicProperty
{
    [Write, Description("Dynamic property key.")] String alertProperty;
    [Write, Description("Dynamic property value.")] String alertPropertyValue;
};
 
[ClassVersion("1.0.0")]
class MSFT_SentinelAlertRuleIncidentConfiguration
{
    [Write, Description("Create incidents from alerts triggered by this analytics rule")] Boolean createIncident;
    [Write, Description("Set how the alerts that are triggered by this analytics rule, are grouped into incidents"), EmbeddedInstance("MSFT_SentinelAlertRuleIncidentConfigurationGroupingConfiguration")] String groupingConfiguration;
};
 
[ClassVersion("1.0.0")]
class MSFT_SentinelAlertRuleIncidentConfigurationGroupingConfiguration
{
    [Write, Description("Grouping enabled")] Boolean enabled;
    [Write, Description("A list of alert details to group by (when matchingMethod is Selected)"), EmbeddedInstance("MSFT_SentinelAlertRuleIncidentConfigurationGroupingConfigurationAlertDetail")] String groupByAlertDetails[];
    [Write, Description("A list of custom details keys to group by (when matchingMethod is Selected). Only keys defined in the current alert rule may be used.")] String groupByCustomDetails[];
    [Write, Description("A list of entity types to group by (when matchingMethod is Selected). Only entities defined in the current alert rule may be used.")] String groupByEntities[];
    [Write, Description("Limit the group to alerts created within the lookback duration (in ISO 8601 duration format)")] String lookbackDuration;
    [Write, Description("Grouping matching method. When method is Selected at least one of groupByEntities, groupByAlertDetails, groupByCustomDetails must be provided and not empty.")] String matchingMethod;
    [Write, Description("Re-open closed matching incidents")] Boolean reopenClosedIncident;
};
 
[ClassVersion("1.0.0")]
class MSFT_SentinelAlertRuleIncidentConfigurationGroupingConfigurationAlertDetail
{
    [Write, Description("Display name of the alert detail.")] String DisplayName;
    [Write, Description("Severity level associated with the alert detail.")] String Severity;
};
 
[ClassVersion("1.0.0.0"), FriendlyName("SentinelAlertRule")]
class MSFT_SentinelAlertRule : OMI_BaseResource
{
    [Key, Description("The display name of the indicator")] String DisplayName;
    [Write, Description("The name of the resource group. The name is case insensitive.")] String SubscriptionId;
    [Write, Description("The name of the resource group. The name is case insensitive.")] String ResourceGroupName;
    [Write, Description("The name of the workspace.")] String WorkspaceName;
    [Write, Description("The unique id of the indicator.")] String Id;
    [Write, Description("The name of the workspace.")] String Description;
    [Write, Description("The alerts' productName on which the cases will be generated")] String ProductFilter;
    [Write, Description("Determines whether this alert rule is enabled or disabled.")] Boolean Enabled;
    [Write, Description("The severity for alerts created by this alert rule.")] String Severity;
    [Write, Description("The tactics of the alert rule")] String Tactics[];
    [Write, Description("The techniques of the alert rule")] String Techniques[];
    [Write, Description("The sub-techniques of the alert rule")] String SubTechniques[];
    [Write, Description("The query that creates alerts for this rule.")] String Query;
    [Write, Description("The frequency (in ISO 8601 duration format) for this alert rule to run.")] String QueryFrequency;
    [Write, Description("The period (in ISO 8601 duration format) that this alert rule looks at.")] String QueryPeriod;
    [Write, Description("The operation against the threshold that triggers alert rule.")] String TriggerOperator;
    [Write, Description("The threshold triggers this alert rule.")] UInt32 TriggerThreshold;
    [Write, Description("The suppression (in ISO 8601 duration format) to wait since last time this alert rule been triggered.")] String SuppressionDuration;
    [Write, Description("Determines whether the suppression for this alert rule is enabled or disabled.")] String SuppressionEnabled;
    [Write, Description("The Name of the alert rule template used to create this rule.")] String AlertRuleTemplateName;
    [Write, Description("The alerts' displayNames on which the cases will not be generated.")] String DisplayNamesExcludeFilter[];
    [Write, Description("The alerts' displayNames on which the cases will be generated.")] String DisplayNamesFilter[];
    [Write, Description("The alerts' severities on which the cases will be generated")] String SeveritiesFilter[];
    [Write, Description("The event grouping settings."), EmbeddedInstance("MSFT_SentinelAlertRuleEventGroupingSettings")] String EventGroupingSettings;
    [Write, Description("Dictionary of string key-value pairs of columns to be attached to the alert"), EmbeddedInstance("MSFT_SentinelAlertRuleCustomDetails")] String CustomDetails[];
    [Write, Description("Array of the entity mappings of the alert rule"), EmbeddedInstance("MSFT_SentinelAlertRuleEntityMapping")] String EntityMappings[];
    [Write, Description("The alert details override settings"), EmbeddedInstance("MSFT_SentinelAlertRuleAlertDetailsOverride")] String AlertDetailsOverride;
    [Write, Description("The settings of the incidents that created from alerts triggered by this analytics rule"), EmbeddedInstance("MSFT_SentinelAlertRuleIncidentConfiguration")] String IncidentConfiguration;
    [Write, Description("The kind of the alert rule")] String Kind;
 
    [Write, Description("Present ensures the instance exists, absent ensures it is removed."), ValueMap{"Absent","Present"}, Values{"Absent","Present"}] string Ensure;
    [Write, Description("Credentials of the workload's 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("Managed ID being used for authentication.")] Boolean ManagedIdentity;
    [Write, Description("Access token used for authentication.")] String AccessTokens[];
};