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

com.pulumi.azurenative.security.kotlin.inputs.RecommendationConfigurationPropertiesArgs.kt Maven / Gradle / Ivy

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

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

import com.pulumi.azurenative.security.inputs.RecommendationConfigurationPropertiesArgs.builder
import com.pulumi.azurenative.security.kotlin.enums.RecommendationConfigStatus
import com.pulumi.azurenative.security.kotlin.enums.RecommendationType
import com.pulumi.core.Either
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 kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 * The type of IoT Security recommendation.
 * @property recommendationType The type of IoT Security recommendation.
 * @property status Recommendation status. When the recommendation status is disabled recommendations are not generated.
 */
public data class RecommendationConfigurationPropertiesArgs(
    public val recommendationType: Output>,
    public val status: Output>,
) :
    ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.security.inputs.RecommendationConfigurationPropertiesArgs =
        com.pulumi.azurenative.security.inputs.RecommendationConfigurationPropertiesArgs.builder()
            .recommendationType(
                recommendationType.applyValue({ args0 ->
                    args0.transform(
                        { args0 -> args0 },
                        { args0 -> args0.let({ args0 -> args0.toJava() }) },
                    )
                }),
            )
            .status(
                status.applyValue({ args0 ->
                    args0.transform({ args0 -> args0 }, { args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            ).build()
}

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

    private var status: Output>? = null

    /**
     * @param value The type of IoT Security recommendation.
     */
    @JvmName("dhabuuvbgluwiovt")
    public suspend fun recommendationType(`value`: Output>) {
        this.recommendationType = value
    }

    /**
     * @param value Recommendation status. When the recommendation status is disabled recommendations are not generated.
     */
    @JvmName("culdppnuamiwnqmr")
    public suspend fun status(`value`: Output>) {
        this.status = value
    }

    /**
     * @param value The type of IoT Security recommendation.
     */
    @JvmName("hppjixyamxwgevwt")
    public suspend fun recommendationType(`value`: Either) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.recommendationType = mapped
    }

    /**
     * @param value The type of IoT Security recommendation.
     */
    @JvmName("mwqneowiuvhoxjmp")
    public fun recommendationType(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.recommendationType = mapped
    }

    /**
     * @param value The type of IoT Security recommendation.
     */
    @JvmName("dcodsjgdjsnechxa")
    public fun recommendationType(`value`: RecommendationType) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.recommendationType = mapped
    }

    /**
     * @param value Recommendation status. When the recommendation status is disabled recommendations are not generated.
     */
    @JvmName("jtlmngphanfmipkc")
    public suspend fun status(`value`: Either) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.status = mapped
    }

    /**
     * @param value Recommendation status. When the recommendation status is disabled recommendations are not generated.
     */
    @JvmName("vvxfbpbkmuweekvw")
    public fun status(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.status = mapped
    }

    /**
     * @param value Recommendation status. When the recommendation status is disabled recommendations are not generated.
     */
    @JvmName("aqkpdlyedoxrvlvw")
    public fun status(`value`: RecommendationConfigStatus) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.status = mapped
    }

    internal fun build(): RecommendationConfigurationPropertiesArgs =
        RecommendationConfigurationPropertiesArgs(
            recommendationType = recommendationType ?: throw PulumiNullFieldException("recommendationType"),
            status = status ?: throw PulumiNullFieldException("status"),
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy