All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.azure.sentinel.kotlin.inputs.AlertRuleScheduledIncidentGroupingArgs.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 6.15.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azure.sentinel.kotlin.inputs

import com.pulumi.azure.sentinel.inputs.AlertRuleScheduledIncidentGroupingArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property byAlertDetails A list of alert details to group by, only when the `entity_matching_method` is `Selected`. Possible values are `DisplayName` and `Severity`.
 * @property byCustomDetails A list of custom details keys to group by, only when the `entity_matching_method` is `Selected`. Only keys defined in the `custom_details` may be used.
 * @property byEntities A list of entity types to group by, only when the `entity_matching_method` is `Selected`. Possible values are `Account`, `AzureResource`, `CloudApplication`, `DNS`, `File`, `FileHash`, `Host`, `IP`, `Mailbox`, `MailCluster`, `MailMessage`, `Malware`, `Process`, `RegistryKey`, `RegistryValue`, `SecurityGroup`, `SubmissionMail`, `URL`.
 * @property enabled Enable grouping incidents created from alerts triggered by this Sentinel Scheduled Alert Rule. Defaults to `true`.
 * @property entityMatchingMethod The method used to group incidents. Possible values are `AnyAlert`, `Selected` and `AllEntities`. Defaults to `AnyAlert`.
 * @property lookbackDuration Limit the group to alerts created within the lookback duration (in ISO 8601 duration format). Defaults to `PT5M`.
 * @property reopenClosedIncidents Whether to re-open closed matching incidents? Defaults to `false`.
 */
public data class AlertRuleScheduledIncidentGroupingArgs(
    public val byAlertDetails: Output>? = null,
    public val byCustomDetails: Output>? = null,
    public val byEntities: Output>? = null,
    public val enabled: Output? = null,
    public val entityMatchingMethod: Output? = null,
    public val lookbackDuration: Output? = null,
    public val reopenClosedIncidents: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azure.sentinel.inputs.AlertRuleScheduledIncidentGroupingArgs =
        com.pulumi.azure.sentinel.inputs.AlertRuleScheduledIncidentGroupingArgs.builder()
            .byAlertDetails(byAlertDetails?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .byCustomDetails(byCustomDetails?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .byEntities(byEntities?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .enabled(enabled?.applyValue({ args0 -> args0 }))
            .entityMatchingMethod(entityMatchingMethod?.applyValue({ args0 -> args0 }))
            .lookbackDuration(lookbackDuration?.applyValue({ args0 -> args0 }))
            .reopenClosedIncidents(reopenClosedIncidents?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [AlertRuleScheduledIncidentGroupingArgs].
 */
@PulumiTagMarker
public class AlertRuleScheduledIncidentGroupingArgsBuilder internal constructor() {
    private var byAlertDetails: Output>? = null

    private var byCustomDetails: Output>? = null

    private var byEntities: Output>? = null

    private var enabled: Output? = null

    private var entityMatchingMethod: Output? = null

    private var lookbackDuration: Output? = null

    private var reopenClosedIncidents: Output? = null

    /**
     * @param value A list of alert details to group by, only when the `entity_matching_method` is `Selected`. Possible values are `DisplayName` and `Severity`.
     */
    @JvmName("nhcglduhmbwkpkit")
    public suspend fun byAlertDetails(`value`: Output>) {
        this.byAlertDetails = value
    }

    @JvmName("adxuvxhxiyyfmhkl")
    public suspend fun byAlertDetails(vararg values: Output) {
        this.byAlertDetails = Output.all(values.asList())
    }

    /**
     * @param values A list of alert details to group by, only when the `entity_matching_method` is `Selected`. Possible values are `DisplayName` and `Severity`.
     */
    @JvmName("qssxwieoptvyuihw")
    public suspend fun byAlertDetails(values: List>) {
        this.byAlertDetails = Output.all(values)
    }

    /**
     * @param value A list of custom details keys to group by, only when the `entity_matching_method` is `Selected`. Only keys defined in the `custom_details` may be used.
     */
    @JvmName("ldermwgyeefyawcb")
    public suspend fun byCustomDetails(`value`: Output>) {
        this.byCustomDetails = value
    }

    @JvmName("sntlfnifetlkxpvx")
    public suspend fun byCustomDetails(vararg values: Output) {
        this.byCustomDetails = Output.all(values.asList())
    }

    /**
     * @param values A list of custom details keys to group by, only when the `entity_matching_method` is `Selected`. Only keys defined in the `custom_details` may be used.
     */
    @JvmName("rltotsahrusojvqe")
    public suspend fun byCustomDetails(values: List>) {
        this.byCustomDetails = Output.all(values)
    }

    /**
     * @param value A list of entity types to group by, only when the `entity_matching_method` is `Selected`. Possible values are `Account`, `AzureResource`, `CloudApplication`, `DNS`, `File`, `FileHash`, `Host`, `IP`, `Mailbox`, `MailCluster`, `MailMessage`, `Malware`, `Process`, `RegistryKey`, `RegistryValue`, `SecurityGroup`, `SubmissionMail`, `URL`.
     */
    @JvmName("phvcexegnylfwlno")
    public suspend fun byEntities(`value`: Output>) {
        this.byEntities = value
    }

    @JvmName("ffvilowicsqjpcxp")
    public suspend fun byEntities(vararg values: Output) {
        this.byEntities = Output.all(values.asList())
    }

    /**
     * @param values A list of entity types to group by, only when the `entity_matching_method` is `Selected`. Possible values are `Account`, `AzureResource`, `CloudApplication`, `DNS`, `File`, `FileHash`, `Host`, `IP`, `Mailbox`, `MailCluster`, `MailMessage`, `Malware`, `Process`, `RegistryKey`, `RegistryValue`, `SecurityGroup`, `SubmissionMail`, `URL`.
     */
    @JvmName("rxboiigxxhsjxhka")
    public suspend fun byEntities(values: List>) {
        this.byEntities = Output.all(values)
    }

    /**
     * @param value Enable grouping incidents created from alerts triggered by this Sentinel Scheduled Alert Rule. Defaults to `true`.
     */
    @JvmName("ooekeeitbdxttdgv")
    public suspend fun enabled(`value`: Output) {
        this.enabled = value
    }

    /**
     * @param value The method used to group incidents. Possible values are `AnyAlert`, `Selected` and `AllEntities`. Defaults to `AnyAlert`.
     */
    @JvmName("ojuyhskqktdaifhv")
    public suspend fun entityMatchingMethod(`value`: Output) {
        this.entityMatchingMethod = value
    }

    /**
     * @param value Limit the group to alerts created within the lookback duration (in ISO 8601 duration format). Defaults to `PT5M`.
     */
    @JvmName("ukxgnrfcyreuasiu")
    public suspend fun lookbackDuration(`value`: Output) {
        this.lookbackDuration = value
    }

    /**
     * @param value Whether to re-open closed matching incidents? Defaults to `false`.
     */
    @JvmName("cbptqlhfqfwsdkfv")
    public suspend fun reopenClosedIncidents(`value`: Output) {
        this.reopenClosedIncidents = value
    }

    /**
     * @param value A list of alert details to group by, only when the `entity_matching_method` is `Selected`. Possible values are `DisplayName` and `Severity`.
     */
    @JvmName("bogolgijjgxabofw")
    public suspend fun byAlertDetails(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.byAlertDetails = mapped
    }

    /**
     * @param values A list of alert details to group by, only when the `entity_matching_method` is `Selected`. Possible values are `DisplayName` and `Severity`.
     */
    @JvmName("mqsiysxntlqudeai")
    public suspend fun byAlertDetails(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.byAlertDetails = mapped
    }

    /**
     * @param value A list of custom details keys to group by, only when the `entity_matching_method` is `Selected`. Only keys defined in the `custom_details` may be used.
     */
    @JvmName("amaytsmyhtykhohj")
    public suspend fun byCustomDetails(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.byCustomDetails = mapped
    }

    /**
     * @param values A list of custom details keys to group by, only when the `entity_matching_method` is `Selected`. Only keys defined in the `custom_details` may be used.
     */
    @JvmName("fwwtenpjrnweepjs")
    public suspend fun byCustomDetails(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.byCustomDetails = mapped
    }

    /**
     * @param value A list of entity types to group by, only when the `entity_matching_method` is `Selected`. Possible values are `Account`, `AzureResource`, `CloudApplication`, `DNS`, `File`, `FileHash`, `Host`, `IP`, `Mailbox`, `MailCluster`, `MailMessage`, `Malware`, `Process`, `RegistryKey`, `RegistryValue`, `SecurityGroup`, `SubmissionMail`, `URL`.
     */
    @JvmName("sxhemtdwmtcpmrql")
    public suspend fun byEntities(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.byEntities = mapped
    }

    /**
     * @param values A list of entity types to group by, only when the `entity_matching_method` is `Selected`. Possible values are `Account`, `AzureResource`, `CloudApplication`, `DNS`, `File`, `FileHash`, `Host`, `IP`, `Mailbox`, `MailCluster`, `MailMessage`, `Malware`, `Process`, `RegistryKey`, `RegistryValue`, `SecurityGroup`, `SubmissionMail`, `URL`.
     */
    @JvmName("dpsdrkrjoxgymtdf")
    public suspend fun byEntities(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.byEntities = mapped
    }

    /**
     * @param value Enable grouping incidents created from alerts triggered by this Sentinel Scheduled Alert Rule. Defaults to `true`.
     */
    @JvmName("fqkuxmvyvjvrfxnc")
    public suspend fun enabled(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.enabled = mapped
    }

    /**
     * @param value The method used to group incidents. Possible values are `AnyAlert`, `Selected` and `AllEntities`. Defaults to `AnyAlert`.
     */
    @JvmName("rmtmbhigkwsoyfrl")
    public suspend fun entityMatchingMethod(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.entityMatchingMethod = mapped
    }

    /**
     * @param value Limit the group to alerts created within the lookback duration (in ISO 8601 duration format). Defaults to `PT5M`.
     */
    @JvmName("oialqcguxohvbxsh")
    public suspend fun lookbackDuration(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.lookbackDuration = mapped
    }

    /**
     * @param value Whether to re-open closed matching incidents? Defaults to `false`.
     */
    @JvmName("ukubqrdtrhcomaje")
    public suspend fun reopenClosedIncidents(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.reopenClosedIncidents = mapped
    }

    internal fun build(): AlertRuleScheduledIncidentGroupingArgs =
        AlertRuleScheduledIncidentGroupingArgs(
            byAlertDetails = byAlertDetails,
            byCustomDetails = byCustomDetails,
            byEntities = byEntities,
            enabled = enabled,
            entityMatchingMethod = entityMatchingMethod,
            lookbackDuration = lookbackDuration,
            reopenClosedIncidents = reopenClosedIncidents,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy