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

com.pulumi.azurenative.security.kotlin.inputs.AutomationRuleSetArgs.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: 2.82.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.azurenative.security.kotlin.inputs

import com.pulumi.azurenative.security.inputs.AutomationRuleSetArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 * A rule set which evaluates all its rules upon an event interception. Only when all the included rules in the rule set will be evaluated as 'true', will the event trigger the defined actions.
 * @property rules
 */
public data class AutomationRuleSetArgs(
    public val rules: Output>? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.security.inputs.AutomationRuleSetArgs =
        com.pulumi.azurenative.security.inputs.AutomationRuleSetArgs.builder()
            .rules(
                rules?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            ).build()
}

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

    /**
     * @param value
     */
    @JvmName("cdgmheldnlbsllnx")
    public suspend fun rules(`value`: Output>) {
        this.rules = value
    }

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

    /**
     * @param values
     */
    @JvmName("kenrsoxtfybxkujj")
    public suspend fun rules(values: List>) {
        this.rules = Output.all(values)
    }

    /**
     * @param value
     */
    @JvmName("tceabsavjxognmkp")
    public suspend fun rules(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.rules = mapped
    }

    /**
     * @param argument
     */
    @JvmName("nlbsvyhbfvsbsqfx")
    public suspend fun rules(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            AutomationTriggeringRuleArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.rules = mapped
    }

    /**
     * @param argument
     */
    @JvmName("jqcdetjfiosudenw")
    public suspend fun rules(vararg argument: suspend AutomationTriggeringRuleArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            AutomationTriggeringRuleArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.rules = mapped
    }

    /**
     * @param argument
     */
    @JvmName("wtvhjpkifpfusqep")
    public suspend fun rules(argument: suspend AutomationTriggeringRuleArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            AutomationTriggeringRuleArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.rules = mapped
    }

    /**
     * @param values
     */
    @JvmName("nmvypbgclohpyblh")
    public suspend fun rules(vararg values: AutomationTriggeringRuleArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.rules = mapped
    }

    internal fun build(): AutomationRuleSetArgs = AutomationRuleSetArgs(
        rules = rules,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy