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

com.pulumi.azure.monitoring.kotlin.inputs.ActivityLogAlertCriteriaArgs.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.21.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azure.monitoring.kotlin.inputs

import com.pulumi.azure.monitoring.inputs.ActivityLogAlertCriteriaArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property caller The email address or Azure Active Directory identifier of the user who performed the operation.
 * @property category The category of the operation. Possible values are `Administrative`, `Autoscale`, `Policy`, `Recommendation`, `ResourceHealth`, `Security` and `ServiceHealth`.
 * @property level The severity level of the event. Possible values are `Verbose`, `Informational`, `Warning`, `Error`, and `Critical`.
 * @property levels A list of severity level of the event. Possible values are `Verbose`, `Informational`, `Warning`, `Error`, and `Critical`.
 * > **NOTE:** `level` and `levels` are mutually exclusive.
 * @property operationName The Resource Manager Role-Based Access Control operation name. Supported operation should be of the form: `//`.
 * @property recommendationCategory The recommendation category of the event. Possible values are `Cost`, `Reliability`, `OperationalExcellence`, `HighAvailability` and `Performance`. It is only allowed when `category` is `Recommendation`.
 * @property recommendationImpact The recommendation impact of the event. Possible values are `High`, `Medium` and `Low`. It is only allowed when `category` is `Recommendation`.
 * @property recommendationType The recommendation type of the event. It is only allowed when `category` is `Recommendation`.
 * @property resourceGroup The name of resource group monitored by the activity log alert.
 * @property resourceGroups A list of names of resource groups monitored by the activity log alert.
 * > **NOTE:** `resource_group` and `resource_groups` are mutually exclusive.
 * @property resourceHealths A block to define fine grain resource health settings.
 * @property resourceId The specific resource monitored by the activity log alert. It should be within one of the `scopes`.
 * @property resourceIds A list of specific resources monitored by the activity log alert. It should be within one of the `scopes`.
 * > **NOTE:** `resource_id` and `resource_ids` are mutually exclusive.
 * @property resourceProvider The name of the resource provider monitored by the activity log alert.
 * @property resourceProviders A list of names of resource providers monitored by the activity log alert.
 * > **NOTE:** `resource_provider` and `resource_providers` are mutually exclusive.
 * @property resourceType The resource type monitored by the activity log alert.
 * @property resourceTypes A list of resource types monitored by the activity log alert.
 * > **NOTE:** `resource_type` and `resource_types` are mutually exclusive.
 * @property serviceHealths A block to define fine grain service health settings.
 * @property status The status of the event. For example, `Started`, `Failed`, or `Succeeded`.
 * @property statuses A list of status of the event. For example, `Started`, `Failed`, or `Succeeded`.
 * > **NOTE:** `status` and `statuses` are mutually exclusive.
 * @property subStatus The sub status of the event.
 * @property subStatuses A list of sub status of the event.
 * > **NOTE:** `sub_status` and `sub_statuses` are mutually exclusive.
 */
public data class ActivityLogAlertCriteriaArgs(
    public val caller: Output? = null,
    public val category: Output,
    public val level: Output? = null,
    public val levels: Output>? = null,
    public val operationName: Output? = null,
    public val recommendationCategory: Output? = null,
    public val recommendationImpact: Output? = null,
    public val recommendationType: Output? = null,
    public val resourceGroup: Output? = null,
    public val resourceGroups: Output>? = null,
    public val resourceHealths: Output>? = null,
    public val resourceId: Output? = null,
    public val resourceIds: Output>? = null,
    public val resourceProvider: Output? = null,
    public val resourceProviders: Output>? = null,
    public val resourceType: Output? = null,
    public val resourceTypes: Output>? = null,
    public val serviceHealths: Output>? = null,
    public val status: Output? = null,
    public val statuses: Output>? = null,
    public val subStatus: Output? = null,
    public val subStatuses: Output>? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azure.monitoring.inputs.ActivityLogAlertCriteriaArgs =
        com.pulumi.azure.monitoring.inputs.ActivityLogAlertCriteriaArgs.builder()
            .caller(caller?.applyValue({ args0 -> args0 }))
            .category(category.applyValue({ args0 -> args0 }))
            .level(level?.applyValue({ args0 -> args0 }))
            .levels(levels?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .operationName(operationName?.applyValue({ args0 -> args0 }))
            .recommendationCategory(recommendationCategory?.applyValue({ args0 -> args0 }))
            .recommendationImpact(recommendationImpact?.applyValue({ args0 -> args0 }))
            .recommendationType(recommendationType?.applyValue({ args0 -> args0 }))
            .resourceGroup(resourceGroup?.applyValue({ args0 -> args0 }))
            .resourceGroups(resourceGroups?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .resourceHealths(
                resourceHealths?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .resourceId(resourceId?.applyValue({ args0 -> args0 }))
            .resourceIds(resourceIds?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .resourceProvider(resourceProvider?.applyValue({ args0 -> args0 }))
            .resourceProviders(resourceProviders?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .resourceType(resourceType?.applyValue({ args0 -> args0 }))
            .resourceTypes(resourceTypes?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .serviceHealths(
                serviceHealths?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .status(status?.applyValue({ args0 -> args0 }))
            .statuses(statuses?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .subStatus(subStatus?.applyValue({ args0 -> args0 }))
            .subStatuses(subStatuses?.applyValue({ args0 -> args0.map({ args0 -> args0 }) })).build()
}

/**
 * Builder for [ActivityLogAlertCriteriaArgs].
 */
@PulumiTagMarker
public class ActivityLogAlertCriteriaArgsBuilder internal constructor() {
    private var caller: Output? = null

    private var category: Output? = null

    private var level: Output? = null

    private var levels: Output>? = null

    private var operationName: Output? = null

    private var recommendationCategory: Output? = null

    private var recommendationImpact: Output? = null

    private var recommendationType: Output? = null

    private var resourceGroup: Output? = null

    private var resourceGroups: Output>? = null

    private var resourceHealths: Output>? = null

    private var resourceId: Output? = null

    private var resourceIds: Output>? = null

    private var resourceProvider: Output? = null

    private var resourceProviders: Output>? = null

    private var resourceType: Output? = null

    private var resourceTypes: Output>? = null

    private var serviceHealths: Output>? = null

    private var status: Output? = null

    private var statuses: Output>? = null

    private var subStatus: Output? = null

    private var subStatuses: Output>? = null

    /**
     * @param value The email address or Azure Active Directory identifier of the user who performed the operation.
     */
    @JvmName("nmfxpqvhtjbcmdre")
    public suspend fun caller(`value`: Output) {
        this.caller = value
    }

    /**
     * @param value The category of the operation. Possible values are `Administrative`, `Autoscale`, `Policy`, `Recommendation`, `ResourceHealth`, `Security` and `ServiceHealth`.
     */
    @JvmName("xcmxyjyndyptcbpf")
    public suspend fun category(`value`: Output) {
        this.category = value
    }

    /**
     * @param value The severity level of the event. Possible values are `Verbose`, `Informational`, `Warning`, `Error`, and `Critical`.
     */
    @JvmName("nboeytgmgdahfogv")
    public suspend fun level(`value`: Output) {
        this.level = value
    }

    /**
     * @param value A list of severity level of the event. Possible values are `Verbose`, `Informational`, `Warning`, `Error`, and `Critical`.
     * > **NOTE:** `level` and `levels` are mutually exclusive.
     */
    @JvmName("qjheamwggydnqbmp")
    public suspend fun levels(`value`: Output>) {
        this.levels = value
    }

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

    /**
     * @param values A list of severity level of the event. Possible values are `Verbose`, `Informational`, `Warning`, `Error`, and `Critical`.
     * > **NOTE:** `level` and `levels` are mutually exclusive.
     */
    @JvmName("dgivsrjdngdsdaoq")
    public suspend fun levels(values: List>) {
        this.levels = Output.all(values)
    }

    /**
     * @param value The Resource Manager Role-Based Access Control operation name. Supported operation should be of the form: `//`.
     */
    @JvmName("alkuqnivouypqyut")
    public suspend fun operationName(`value`: Output) {
        this.operationName = value
    }

    /**
     * @param value The recommendation category of the event. Possible values are `Cost`, `Reliability`, `OperationalExcellence`, `HighAvailability` and `Performance`. It is only allowed when `category` is `Recommendation`.
     */
    @JvmName("xtigdpvavqkdpoyw")
    public suspend fun recommendationCategory(`value`: Output) {
        this.recommendationCategory = value
    }

    /**
     * @param value The recommendation impact of the event. Possible values are `High`, `Medium` and `Low`. It is only allowed when `category` is `Recommendation`.
     */
    @JvmName("ghamvvdjblfcihua")
    public suspend fun recommendationImpact(`value`: Output) {
        this.recommendationImpact = value
    }

    /**
     * @param value The recommendation type of the event. It is only allowed when `category` is `Recommendation`.
     */
    @JvmName("vxgchrfxwxpqwcsx")
    public suspend fun recommendationType(`value`: Output) {
        this.recommendationType = value
    }

    /**
     * @param value The name of resource group monitored by the activity log alert.
     */
    @JvmName("ibmntmkpcmptiygv")
    public suspend fun resourceGroup(`value`: Output) {
        this.resourceGroup = value
    }

    /**
     * @param value A list of names of resource groups monitored by the activity log alert.
     * > **NOTE:** `resource_group` and `resource_groups` are mutually exclusive.
     */
    @JvmName("qeiobgtdwwkvmgvf")
    public suspend fun resourceGroups(`value`: Output>) {
        this.resourceGroups = value
    }

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

    /**
     * @param values A list of names of resource groups monitored by the activity log alert.
     * > **NOTE:** `resource_group` and `resource_groups` are mutually exclusive.
     */
    @JvmName("hgmggsnwpthxebqe")
    public suspend fun resourceGroups(values: List>) {
        this.resourceGroups = Output.all(values)
    }

    /**
     * @param value A block to define fine grain resource health settings.
     */
    @JvmName("jhemkxmeuqysqtfq")
    public suspend
    fun resourceHealths(`value`: Output>) {
        this.resourceHealths = value
    }

    @JvmName("xdfmsehyhsbsqavv")
    public suspend fun resourceHealths(
        vararg
        values: Output,
    ) {
        this.resourceHealths = Output.all(values.asList())
    }

    /**
     * @param values A block to define fine grain resource health settings.
     */
    @JvmName("jtgcsabpderpgerx")
    public suspend
    fun resourceHealths(values: List>) {
        this.resourceHealths = Output.all(values)
    }

    /**
     * @param value The specific resource monitored by the activity log alert. It should be within one of the `scopes`.
     */
    @JvmName("vdnyjhmnhwhmaukj")
    public suspend fun resourceId(`value`: Output) {
        this.resourceId = value
    }

    /**
     * @param value A list of specific resources monitored by the activity log alert. It should be within one of the `scopes`.
     * > **NOTE:** `resource_id` and `resource_ids` are mutually exclusive.
     */
    @JvmName("uwjxtjmokwefxuko")
    public suspend fun resourceIds(`value`: Output>) {
        this.resourceIds = value
    }

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

    /**
     * @param values A list of specific resources monitored by the activity log alert. It should be within one of the `scopes`.
     * > **NOTE:** `resource_id` and `resource_ids` are mutually exclusive.
     */
    @JvmName("bjusawjmqlrbtylt")
    public suspend fun resourceIds(values: List>) {
        this.resourceIds = Output.all(values)
    }

    /**
     * @param value The name of the resource provider monitored by the activity log alert.
     */
    @JvmName("ecqnsrmepndipnve")
    public suspend fun resourceProvider(`value`: Output) {
        this.resourceProvider = value
    }

    /**
     * @param value A list of names of resource providers monitored by the activity log alert.
     * > **NOTE:** `resource_provider` and `resource_providers` are mutually exclusive.
     */
    @JvmName("seekrurmkcbwixca")
    public suspend fun resourceProviders(`value`: Output>) {
        this.resourceProviders = value
    }

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

    /**
     * @param values A list of names of resource providers monitored by the activity log alert.
     * > **NOTE:** `resource_provider` and `resource_providers` are mutually exclusive.
     */
    @JvmName("qlkrabkoqothpykc")
    public suspend fun resourceProviders(values: List>) {
        this.resourceProviders = Output.all(values)
    }

    /**
     * @param value The resource type monitored by the activity log alert.
     */
    @JvmName("edamscldgxihavvv")
    public suspend fun resourceType(`value`: Output) {
        this.resourceType = value
    }

    /**
     * @param value A list of resource types monitored by the activity log alert.
     * > **NOTE:** `resource_type` and `resource_types` are mutually exclusive.
     */
    @JvmName("uiciblmqomamhkby")
    public suspend fun resourceTypes(`value`: Output>) {
        this.resourceTypes = value
    }

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

    /**
     * @param values A list of resource types monitored by the activity log alert.
     * > **NOTE:** `resource_type` and `resource_types` are mutually exclusive.
     */
    @JvmName("ppmtsuqdcvnfatyy")
    public suspend fun resourceTypes(values: List>) {
        this.resourceTypes = Output.all(values)
    }

    /**
     * @param value A block to define fine grain service health settings.
     */
    @JvmName("tafoedhujuadpegr")
    public suspend
    fun serviceHealths(`value`: Output>) {
        this.serviceHealths = value
    }

    @JvmName("ybyyhnojeampivhe")
    public suspend fun serviceHealths(
        vararg
        values: Output,
    ) {
        this.serviceHealths = Output.all(values.asList())
    }

    /**
     * @param values A block to define fine grain service health settings.
     */
    @JvmName("nrubbqwshfawamut")
    public suspend
    fun serviceHealths(values: List>) {
        this.serviceHealths = Output.all(values)
    }

    /**
     * @param value The status of the event. For example, `Started`, `Failed`, or `Succeeded`.
     */
    @JvmName("xyrwkuqraapbxjul")
    public suspend fun status(`value`: Output) {
        this.status = value
    }

    /**
     * @param value A list of status of the event. For example, `Started`, `Failed`, or `Succeeded`.
     * > **NOTE:** `status` and `statuses` are mutually exclusive.
     */
    @JvmName("ofcljesvaqvitunm")
    public suspend fun statuses(`value`: Output>) {
        this.statuses = value
    }

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

    /**
     * @param values A list of status of the event. For example, `Started`, `Failed`, or `Succeeded`.
     * > **NOTE:** `status` and `statuses` are mutually exclusive.
     */
    @JvmName("bvnuvdoqsxrbsuqm")
    public suspend fun statuses(values: List>) {
        this.statuses = Output.all(values)
    }

    /**
     * @param value The sub status of the event.
     */
    @JvmName("hnufjbuxmiyvaajk")
    public suspend fun subStatus(`value`: Output) {
        this.subStatus = value
    }

    /**
     * @param value A list of sub status of the event.
     * > **NOTE:** `sub_status` and `sub_statuses` are mutually exclusive.
     */
    @JvmName("heuiuyucekrqicey")
    public suspend fun subStatuses(`value`: Output>) {
        this.subStatuses = value
    }

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

    /**
     * @param values A list of sub status of the event.
     * > **NOTE:** `sub_status` and `sub_statuses` are mutually exclusive.
     */
    @JvmName("ccuoexlrgwvsdmkp")
    public suspend fun subStatuses(values: List>) {
        this.subStatuses = Output.all(values)
    }

    /**
     * @param value The email address or Azure Active Directory identifier of the user who performed the operation.
     */
    @JvmName("uydkadolxfcigjxk")
    public suspend fun caller(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.caller = mapped
    }

    /**
     * @param value The category of the operation. Possible values are `Administrative`, `Autoscale`, `Policy`, `Recommendation`, `ResourceHealth`, `Security` and `ServiceHealth`.
     */
    @JvmName("cwyqrljqjytvqwhm")
    public suspend fun category(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.category = mapped
    }

    /**
     * @param value The severity level of the event. Possible values are `Verbose`, `Informational`, `Warning`, `Error`, and `Critical`.
     */
    @JvmName("cgiwmxdfnpxndxyd")
    public suspend fun level(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.level = mapped
    }

    /**
     * @param value A list of severity level of the event. Possible values are `Verbose`, `Informational`, `Warning`, `Error`, and `Critical`.
     * > **NOTE:** `level` and `levels` are mutually exclusive.
     */
    @JvmName("epqthqjqmjfddjsu")
    public suspend fun levels(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.levels = mapped
    }

    /**
     * @param values A list of severity level of the event. Possible values are `Verbose`, `Informational`, `Warning`, `Error`, and `Critical`.
     * > **NOTE:** `level` and `levels` are mutually exclusive.
     */
    @JvmName("djtucqplroakisrs")
    public suspend fun levels(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.levels = mapped
    }

    /**
     * @param value The Resource Manager Role-Based Access Control operation name. Supported operation should be of the form: `//`.
     */
    @JvmName("kcpmydjirwmcvusj")
    public suspend fun operationName(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.operationName = mapped
    }

    /**
     * @param value The recommendation category of the event. Possible values are `Cost`, `Reliability`, `OperationalExcellence`, `HighAvailability` and `Performance`. It is only allowed when `category` is `Recommendation`.
     */
    @JvmName("xdssuqaxwfhfcpin")
    public suspend fun recommendationCategory(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.recommendationCategory = mapped
    }

    /**
     * @param value The recommendation impact of the event. Possible values are `High`, `Medium` and `Low`. It is only allowed when `category` is `Recommendation`.
     */
    @JvmName("yfexiyckuryseviq")
    public suspend fun recommendationImpact(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.recommendationImpact = mapped
    }

    /**
     * @param value The recommendation type of the event. It is only allowed when `category` is `Recommendation`.
     */
    @JvmName("oehhbjafgtypvpin")
    public suspend fun recommendationType(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.recommendationType = mapped
    }

    /**
     * @param value The name of resource group monitored by the activity log alert.
     */
    @JvmName("mkmlrysqyqkggbvi")
    public suspend fun resourceGroup(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.resourceGroup = mapped
    }

    /**
     * @param value A list of names of resource groups monitored by the activity log alert.
     * > **NOTE:** `resource_group` and `resource_groups` are mutually exclusive.
     */
    @JvmName("monsxntaadvxvrat")
    public suspend fun resourceGroups(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.resourceGroups = mapped
    }

    /**
     * @param values A list of names of resource groups monitored by the activity log alert.
     * > **NOTE:** `resource_group` and `resource_groups` are mutually exclusive.
     */
    @JvmName("xnymoayrlqsvknaj")
    public suspend fun resourceGroups(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.resourceGroups = mapped
    }

    /**
     * @param value A block to define fine grain resource health settings.
     */
    @JvmName("udiuqnvprvimgvna")
    public suspend fun resourceHealths(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.resourceHealths = mapped
    }

    /**
     * @param argument A block to define fine grain resource health settings.
     */
    @JvmName("gwycymajtshhcpmp")
    public suspend
    fun resourceHealths(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            ActivityLogAlertCriteriaResourceHealthArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.resourceHealths = mapped
    }

    /**
     * @param argument A block to define fine grain resource health settings.
     */
    @JvmName("hichpmeyfojsqeyq")
    public suspend fun resourceHealths(
        vararg
        argument: suspend ActivityLogAlertCriteriaResourceHealthArgsBuilder.() -> Unit,
    ) {
        val toBeMapped = argument.toList().map {
            ActivityLogAlertCriteriaResourceHealthArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.resourceHealths = mapped
    }

    /**
     * @param argument A block to define fine grain resource health settings.
     */
    @JvmName("xmvhtmjiobtevsdv")
    public suspend
    fun resourceHealths(argument: suspend ActivityLogAlertCriteriaResourceHealthArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            ActivityLogAlertCriteriaResourceHealthArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.resourceHealths = mapped
    }

    /**
     * @param values A block to define fine grain resource health settings.
     */
    @JvmName("buywfifppyvsdmht")
    public suspend fun resourceHealths(vararg values: ActivityLogAlertCriteriaResourceHealthArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.resourceHealths = mapped
    }

    /**
     * @param value The specific resource monitored by the activity log alert. It should be within one of the `scopes`.
     */
    @JvmName("crrqkjkqrjxqfkic")
    public suspend fun resourceId(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.resourceId = mapped
    }

    /**
     * @param value A list of specific resources monitored by the activity log alert. It should be within one of the `scopes`.
     * > **NOTE:** `resource_id` and `resource_ids` are mutually exclusive.
     */
    @JvmName("qjhudpbalucwlrhv")
    public suspend fun resourceIds(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.resourceIds = mapped
    }

    /**
     * @param values A list of specific resources monitored by the activity log alert. It should be within one of the `scopes`.
     * > **NOTE:** `resource_id` and `resource_ids` are mutually exclusive.
     */
    @JvmName("lhdocmnhpuaeefcr")
    public suspend fun resourceIds(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.resourceIds = mapped
    }

    /**
     * @param value The name of the resource provider monitored by the activity log alert.
     */
    @JvmName("pueonvfmicdbtxqb")
    public suspend fun resourceProvider(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.resourceProvider = mapped
    }

    /**
     * @param value A list of names of resource providers monitored by the activity log alert.
     * > **NOTE:** `resource_provider` and `resource_providers` are mutually exclusive.
     */
    @JvmName("nivutxovfcbfoqvp")
    public suspend fun resourceProviders(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.resourceProviders = mapped
    }

    /**
     * @param values A list of names of resource providers monitored by the activity log alert.
     * > **NOTE:** `resource_provider` and `resource_providers` are mutually exclusive.
     */
    @JvmName("rjaksduwihqigpra")
    public suspend fun resourceProviders(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.resourceProviders = mapped
    }

    /**
     * @param value The resource type monitored by the activity log alert.
     */
    @JvmName("ubaigbeugasuiojr")
    public suspend fun resourceType(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.resourceType = mapped
    }

    /**
     * @param value A list of resource types monitored by the activity log alert.
     * > **NOTE:** `resource_type` and `resource_types` are mutually exclusive.
     */
    @JvmName("lkwjjcjlhhkiegay")
    public suspend fun resourceTypes(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.resourceTypes = mapped
    }

    /**
     * @param values A list of resource types monitored by the activity log alert.
     * > **NOTE:** `resource_type` and `resource_types` are mutually exclusive.
     */
    @JvmName("rovstrpymcfwauxn")
    public suspend fun resourceTypes(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.resourceTypes = mapped
    }

    /**
     * @param value A block to define fine grain service health settings.
     */
    @JvmName("ikagnfodeysfdxkh")
    public suspend fun serviceHealths(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.serviceHealths = mapped
    }

    /**
     * @param argument A block to define fine grain service health settings.
     */
    @JvmName("qdmiupgvpyybcuhu")
    public suspend
    fun serviceHealths(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            ActivityLogAlertCriteriaServiceHealthArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.serviceHealths = mapped
    }

    /**
     * @param argument A block to define fine grain service health settings.
     */
    @JvmName("oocevjsttgbqmxqu")
    public suspend fun serviceHealths(
        vararg
        argument: suspend ActivityLogAlertCriteriaServiceHealthArgsBuilder.() -> Unit,
    ) {
        val toBeMapped = argument.toList().map {
            ActivityLogAlertCriteriaServiceHealthArgsBuilder().applySuspend { it() }.build()
        }
        val mapped = of(toBeMapped)
        this.serviceHealths = mapped
    }

    /**
     * @param argument A block to define fine grain service health settings.
     */
    @JvmName("uimovsuogpldpnul")
    public suspend
    fun serviceHealths(argument: suspend ActivityLogAlertCriteriaServiceHealthArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            ActivityLogAlertCriteriaServiceHealthArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.serviceHealths = mapped
    }

    /**
     * @param values A block to define fine grain service health settings.
     */
    @JvmName("kjywvsfmhlkemfvm")
    public suspend fun serviceHealths(vararg values: ActivityLogAlertCriteriaServiceHealthArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.serviceHealths = mapped
    }

    /**
     * @param value The status of the event. For example, `Started`, `Failed`, or `Succeeded`.
     */
    @JvmName("xvyfwtpngyrpyboy")
    public suspend fun status(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.status = mapped
    }

    /**
     * @param value A list of status of the event. For example, `Started`, `Failed`, or `Succeeded`.
     * > **NOTE:** `status` and `statuses` are mutually exclusive.
     */
    @JvmName("mjlpcmedkthdstog")
    public suspend fun statuses(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.statuses = mapped
    }

    /**
     * @param values A list of status of the event. For example, `Started`, `Failed`, or `Succeeded`.
     * > **NOTE:** `status` and `statuses` are mutually exclusive.
     */
    @JvmName("rhbygqptuphbancg")
    public suspend fun statuses(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.statuses = mapped
    }

    /**
     * @param value The sub status of the event.
     */
    @JvmName("fdmfmebiyccfavxc")
    public suspend fun subStatus(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.subStatus = mapped
    }

    /**
     * @param value A list of sub status of the event.
     * > **NOTE:** `sub_status` and `sub_statuses` are mutually exclusive.
     */
    @JvmName("pecabnykxyqjbfhg")
    public suspend fun subStatuses(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.subStatuses = mapped
    }

    /**
     * @param values A list of sub status of the event.
     * > **NOTE:** `sub_status` and `sub_statuses` are mutually exclusive.
     */
    @JvmName("wwevtrnewyyfavwt")
    public suspend fun subStatuses(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.subStatuses = mapped
    }

    internal fun build(): ActivityLogAlertCriteriaArgs = ActivityLogAlertCriteriaArgs(
        caller = caller,
        category = category ?: throw PulumiNullFieldException("category"),
        level = level,
        levels = levels,
        operationName = operationName,
        recommendationCategory = recommendationCategory,
        recommendationImpact = recommendationImpact,
        recommendationType = recommendationType,
        resourceGroup = resourceGroup,
        resourceGroups = resourceGroups,
        resourceHealths = resourceHealths,
        resourceId = resourceId,
        resourceIds = resourceIds,
        resourceProvider = resourceProvider,
        resourceProviders = resourceProviders,
        resourceType = resourceType,
        resourceTypes = resourceTypes,
        serviceHealths = serviceHealths,
        status = status,
        statuses = statuses,
        subStatus = subStatus,
        subStatuses = subStatuses,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy