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

com.pulumi.awsnative.securityhub.kotlin.inputs.AutomationRulesFindingFieldsUpdateArgs.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.securityhub.kotlin.inputs

import com.pulumi.awsnative.securityhub.inputs.AutomationRulesFindingFieldsUpdateArgs.builder
import com.pulumi.awsnative.securityhub.kotlin.enums.AutomationRulesFindingFieldsUpdateVerificationState
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.Int
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName

/**
 * The rule action will update the ``Note`` field of a finding.
 * @property confidence The rule action updates the `Confidence` field of a finding.
 * @property criticality The rule action updates the `Criticality` field of a finding.
 * @property note The rule action will update the ``Note`` field of a finding.
 * @property relatedFindings The rule action will update the ``RelatedFindings`` field of a finding.
 * @property severity The rule action will update the ``Severity`` field of a finding.
 * @property types The rule action updates the `Types` field of a finding.
 * @property userDefinedFields The rule action updates the `UserDefinedFields` field of a finding.
 * @property verificationState The rule action updates the `VerificationState` field of a finding.
 * @property workflow The rule action will update the ``Workflow`` field of a finding.
 */
public data class AutomationRulesFindingFieldsUpdateArgs(
    public val confidence: Output? = null,
    public val criticality: Output? = null,
    public val note: Output? = null,
    public val relatedFindings: Output>? = null,
    public val severity: Output? = null,
    public val types: Output>? = null,
    public val userDefinedFields: Output>? = null,
    public val verificationState: Output? = null,
    public val workflow: Output? = null,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.securityhub.inputs.AutomationRulesFindingFieldsUpdateArgs =
        com.pulumi.awsnative.securityhub.inputs.AutomationRulesFindingFieldsUpdateArgs.builder()
            .confidence(confidence?.applyValue({ args0 -> args0 }))
            .criticality(criticality?.applyValue({ args0 -> args0 }))
            .note(note?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .relatedFindings(
                relatedFindings?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.let({ args0 ->
                            args0.toJava()
                        })
                    })
                }),
            )
            .severity(severity?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .types(types?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .userDefinedFields(
                userDefinedFields?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.key.to(args0.value)
                    }).toMap()
                }),
            )
            .verificationState(verificationState?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .workflow(workflow?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}

/**
 * Builder for [AutomationRulesFindingFieldsUpdateArgs].
 */
@PulumiTagMarker
public class AutomationRulesFindingFieldsUpdateArgsBuilder internal constructor() {
    private var confidence: Output? = null

    private var criticality: Output? = null

    private var note: Output? = null

    private var relatedFindings: Output>? = null

    private var severity: Output? = null

    private var types: Output>? = null

    private var userDefinedFields: Output>? = null

    private var verificationState: Output? = null

    private var workflow: Output? = null

    /**
     * @param value The rule action updates the `Confidence` field of a finding.
     */
    @JvmName("ylotyoqonjrexqrd")
    public suspend fun confidence(`value`: Output) {
        this.confidence = value
    }

    /**
     * @param value The rule action updates the `Criticality` field of a finding.
     */
    @JvmName("muodvwrdwjqesrfk")
    public suspend fun criticality(`value`: Output) {
        this.criticality = value
    }

    /**
     * @param value The rule action will update the ``Note`` field of a finding.
     */
    @JvmName("pbtlgnrfilskfwgu")
    public suspend fun note(`value`: Output) {
        this.note = value
    }

    /**
     * @param value The rule action will update the ``RelatedFindings`` field of a finding.
     */
    @JvmName("kgclaoinwblnbnlc")
    public suspend fun relatedFindings(`value`: Output>) {
        this.relatedFindings = value
    }

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

    /**
     * @param values The rule action will update the ``RelatedFindings`` field of a finding.
     */
    @JvmName("xuenxylyperfjnam")
    public suspend fun relatedFindings(values: List>) {
        this.relatedFindings = Output.all(values)
    }

    /**
     * @param value The rule action will update the ``Severity`` field of a finding.
     */
    @JvmName("aremoojmncyysasb")
    public suspend fun severity(`value`: Output) {
        this.severity = value
    }

    /**
     * @param value The rule action updates the `Types` field of a finding.
     */
    @JvmName("gkgwrgriuktbpbqm")
    public suspend fun types(`value`: Output>) {
        this.types = value
    }

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

    /**
     * @param values The rule action updates the `Types` field of a finding.
     */
    @JvmName("ynovlgypooxqvxif")
    public suspend fun types(values: List>) {
        this.types = Output.all(values)
    }

    /**
     * @param value The rule action updates the `UserDefinedFields` field of a finding.
     */
    @JvmName("gycljtblbbvrnjfe")
    public suspend fun userDefinedFields(`value`: Output>) {
        this.userDefinedFields = value
    }

    /**
     * @param value The rule action updates the `VerificationState` field of a finding.
     */
    @JvmName("kkdntsopaubeoqip")
    public suspend fun verificationState(`value`: Output) {
        this.verificationState = value
    }

    /**
     * @param value The rule action will update the ``Workflow`` field of a finding.
     */
    @JvmName("mceqthxwtnhdlijl")
    public suspend fun workflow(`value`: Output) {
        this.workflow = value
    }

    /**
     * @param value The rule action updates the `Confidence` field of a finding.
     */
    @JvmName("qrimqnydhhvlwxdc")
    public suspend fun confidence(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.confidence = mapped
    }

    /**
     * @param value The rule action updates the `Criticality` field of a finding.
     */
    @JvmName("adgmjdsjxsqpomvo")
    public suspend fun criticality(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.criticality = mapped
    }

    /**
     * @param value The rule action will update the ``Note`` field of a finding.
     */
    @JvmName("qtqthmetfgnqrxfh")
    public suspend fun note(`value`: AutomationRuleNoteUpdateArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.note = mapped
    }

    /**
     * @param argument The rule action will update the ``Note`` field of a finding.
     */
    @JvmName("gmtbocsxbteaieeh")
    public suspend fun note(argument: suspend AutomationRuleNoteUpdateArgsBuilder.() -> Unit) {
        val toBeMapped = AutomationRuleNoteUpdateArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.note = mapped
    }

    /**
     * @param value The rule action will update the ``RelatedFindings`` field of a finding.
     */
    @JvmName("mlpsafnbulkfqjjp")
    public suspend fun relatedFindings(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.relatedFindings = mapped
    }

    /**
     * @param argument The rule action will update the ``RelatedFindings`` field of a finding.
     */
    @JvmName("dhulqkybmseyhnjt")
    public suspend fun relatedFindings(argument: List Unit>) {
        val toBeMapped = argument.toList().map {
            AutomationRuleRelatedFindingArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.relatedFindings = mapped
    }

    /**
     * @param argument The rule action will update the ``RelatedFindings`` field of a finding.
     */
    @JvmName("dwcytkhiykurdgyc")
    public suspend fun relatedFindings(vararg argument: suspend AutomationRuleRelatedFindingArgsBuilder.() -> Unit) {
        val toBeMapped = argument.toList().map {
            AutomationRuleRelatedFindingArgsBuilder().applySuspend {
                it()
            }.build()
        }
        val mapped = of(toBeMapped)
        this.relatedFindings = mapped
    }

    /**
     * @param argument The rule action will update the ``RelatedFindings`` field of a finding.
     */
    @JvmName("lwrfqhtqwkndadli")
    public suspend fun relatedFindings(argument: suspend AutomationRuleRelatedFindingArgsBuilder.() -> Unit) {
        val toBeMapped = listOf(
            AutomationRuleRelatedFindingArgsBuilder().applySuspend {
                argument()
            }.build(),
        )
        val mapped = of(toBeMapped)
        this.relatedFindings = mapped
    }

    /**
     * @param values The rule action will update the ``RelatedFindings`` field of a finding.
     */
    @JvmName("sctcwogiqdflbimg")
    public suspend fun relatedFindings(vararg values: AutomationRuleRelatedFindingArgs) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.relatedFindings = mapped
    }

    /**
     * @param value The rule action will update the ``Severity`` field of a finding.
     */
    @JvmName("aerfvdetjhrmaetb")
    public suspend fun severity(`value`: AutomationRuleSeverityUpdateArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.severity = mapped
    }

    /**
     * @param argument The rule action will update the ``Severity`` field of a finding.
     */
    @JvmName("pcwxstrapkgvirka")
    public suspend fun severity(argument: suspend AutomationRuleSeverityUpdateArgsBuilder.() -> Unit) {
        val toBeMapped = AutomationRuleSeverityUpdateArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.severity = mapped
    }

    /**
     * @param value The rule action updates the `Types` field of a finding.
     */
    @JvmName("fojastmjnremseak")
    public suspend fun types(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.types = mapped
    }

    /**
     * @param values The rule action updates the `Types` field of a finding.
     */
    @JvmName("oqpcfgesaetyjkfi")
    public suspend fun types(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.types = mapped
    }

    /**
     * @param value The rule action updates the `UserDefinedFields` field of a finding.
     */
    @JvmName("oaewabdidofwtbon")
    public suspend fun userDefinedFields(`value`: Map?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.userDefinedFields = mapped
    }

    /**
     * @param values The rule action updates the `UserDefinedFields` field of a finding.
     */
    @JvmName("eirhuegeenuvjyjh")
    public fun userDefinedFields(vararg values: Pair) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.userDefinedFields = mapped
    }

    /**
     * @param value The rule action updates the `VerificationState` field of a finding.
     */
    @JvmName("sqjnlfqosiqyjuyq")
    public suspend fun verificationState(`value`: AutomationRulesFindingFieldsUpdateVerificationState?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.verificationState = mapped
    }

    /**
     * @param value The rule action will update the ``Workflow`` field of a finding.
     */
    @JvmName("meoibmyrgfavpyni")
    public suspend fun workflow(`value`: AutomationRuleWorkflowUpdateArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.workflow = mapped
    }

    /**
     * @param argument The rule action will update the ``Workflow`` field of a finding.
     */
    @JvmName("gvcauvepvngnmdre")
    public suspend fun workflow(argument: suspend AutomationRuleWorkflowUpdateArgsBuilder.() -> Unit) {
        val toBeMapped = AutomationRuleWorkflowUpdateArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.workflow = mapped
    }

    internal fun build(): AutomationRulesFindingFieldsUpdateArgs =
        AutomationRulesFindingFieldsUpdateArgs(
            confidence = confidence,
            criticality = criticality,
            note = note,
            relatedFindings = relatedFindings,
            severity = severity,
            types = types,
            userDefinedFields = userDefinedFields,
            verificationState = verificationState,
            workflow = workflow,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy