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

com.pulumi.azurenative.servicelinker.kotlin.inputs.ConfigurationInfoArgs.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.servicelinker.kotlin.inputs

import com.pulumi.azurenative.servicelinker.inputs.ConfigurationInfoArgs.builder
import com.pulumi.azurenative.servicelinker.kotlin.enums.ActionType
import com.pulumi.azurenative.servicelinker.kotlin.enums.DeleteOrUpdateBehavior
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.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.Map
import kotlin.jvm.JvmName

/**
 * The configuration information, used to generate configurations or save to applications
 * @property action Optional, indicate whether to apply configurations on source application. If enable, generate configurations and applied to the source application. Default is enable. If optOut, no configuration change will be made on source.
 * @property additionalConfigurations A dictionary of additional configurations to be added. Service will auto generate a set of basic configurations and this property is to full fill more customized configurations
 * @property customizedKeys Optional. A dictionary of default key name and customized key name mapping. If not specified, default key name will be used for generate configurations
 * @property daprProperties Indicates some additional properties for dapr client type
 * @property deleteOrUpdateBehavior Indicates whether to clean up previous operation when Linker is updating or deleting
 */
public data class ConfigurationInfoArgs(
    public val action: Output>? = null,
    public val additionalConfigurations: Output>? = null,
    public val customizedKeys: Output>? = null,
    public val daprProperties: Output? = null,
    public val deleteOrUpdateBehavior: Output>? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.azurenative.servicelinker.inputs.ConfigurationInfoArgs =
        com.pulumi.azurenative.servicelinker.inputs.ConfigurationInfoArgs.builder()
            .action(
                action?.applyValue({ args0 ->
                    args0.transform({ args0 -> args0 }, { args0 ->
                        args0.let({ args0 -> args0.toJava() })
                    })
                }),
            )
            .additionalConfigurations(
                additionalConfigurations?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.key.to(args0.value)
                    }).toMap()
                }),
            )
            .customizedKeys(
                customizedKeys?.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0.key.to(args0.value)
                    }).toMap()
                }),
            )
            .daprProperties(daprProperties?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .deleteOrUpdateBehavior(
                deleteOrUpdateBehavior?.applyValue({ args0 ->
                    args0.transform({ args0 ->
                        args0
                    }, { args0 -> args0.let({ args0 -> args0.toJava() }) })
                }),
            ).build()
}

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

    private var additionalConfigurations: Output>? = null

    private var customizedKeys: Output>? = null

    private var daprProperties: Output? = null

    private var deleteOrUpdateBehavior: Output>? = null

    /**
     * @param value Optional, indicate whether to apply configurations on source application. If enable, generate configurations and applied to the source application. Default is enable. If optOut, no configuration change will be made on source.
     */
    @JvmName("pbaiyapaeaxqinle")
    public suspend fun action(`value`: Output>) {
        this.action = value
    }

    /**
     * @param value A dictionary of additional configurations to be added. Service will auto generate a set of basic configurations and this property is to full fill more customized configurations
     */
    @JvmName("oaidqnkjxxrshvfy")
    public suspend fun additionalConfigurations(`value`: Output>) {
        this.additionalConfigurations = value
    }

    /**
     * @param value Optional. A dictionary of default key name and customized key name mapping. If not specified, default key name will be used for generate configurations
     */
    @JvmName("nkeawfewimlhifvj")
    public suspend fun customizedKeys(`value`: Output>) {
        this.customizedKeys = value
    }

    /**
     * @param value Indicates some additional properties for dapr client type
     */
    @JvmName("ddwkqyndreieyolx")
    public suspend fun daprProperties(`value`: Output) {
        this.daprProperties = value
    }

    /**
     * @param value Indicates whether to clean up previous operation when Linker is updating or deleting
     */
    @JvmName("risrlewsmdtswdns")
    public suspend fun deleteOrUpdateBehavior(`value`: Output>) {
        this.deleteOrUpdateBehavior = value
    }

    /**
     * @param value Optional, indicate whether to apply configurations on source application. If enable, generate configurations and applied to the source application. Default is enable. If optOut, no configuration change will be made on source.
     */
    @JvmName("sfgoxiwqrkxwykqb")
    public suspend fun action(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.action = mapped
    }

    /**
     * @param value Optional, indicate whether to apply configurations on source application. If enable, generate configurations and applied to the source application. Default is enable. If optOut, no configuration change will be made on source.
     */
    @JvmName("qhcosrkmuoqcgbbe")
    public fun action(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.action = mapped
    }

    /**
     * @param value Optional, indicate whether to apply configurations on source application. If enable, generate configurations and applied to the source application. Default is enable. If optOut, no configuration change will be made on source.
     */
    @JvmName("qiuupfqhnuwwvhnv")
    public fun action(`value`: ActionType) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.action = mapped
    }

    /**
     * @param value A dictionary of additional configurations to be added. Service will auto generate a set of basic configurations and this property is to full fill more customized configurations
     */
    @JvmName("plfkeyqmmtmdyudf")
    public suspend fun additionalConfigurations(`value`: Map?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.additionalConfigurations = mapped
    }

    /**
     * @param values A dictionary of additional configurations to be added. Service will auto generate a set of basic configurations and this property is to full fill more customized configurations
     */
    @JvmName("hdpgtnirqjokxkhq")
    public fun additionalConfigurations(vararg values: Pair) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.additionalConfigurations = mapped
    }

    /**
     * @param value Optional. A dictionary of default key name and customized key name mapping. If not specified, default key name will be used for generate configurations
     */
    @JvmName("jjbpqparyjijjmrr")
    public suspend fun customizedKeys(`value`: Map?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.customizedKeys = mapped
    }

    /**
     * @param values Optional. A dictionary of default key name and customized key name mapping. If not specified, default key name will be used for generate configurations
     */
    @JvmName("wtkydjqxgqnpmegi")
    public fun customizedKeys(vararg values: Pair) {
        val toBeMapped = values.toMap()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.customizedKeys = mapped
    }

    /**
     * @param value Indicates some additional properties for dapr client type
     */
    @JvmName("nlcwuisyrfmqntev")
    public suspend fun daprProperties(`value`: DaprPropertiesArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.daprProperties = mapped
    }

    /**
     * @param argument Indicates some additional properties for dapr client type
     */
    @JvmName("vldkiagjbwwskycr")
    public suspend fun daprProperties(argument: suspend DaprPropertiesArgsBuilder.() -> Unit) {
        val toBeMapped = DaprPropertiesArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.daprProperties = mapped
    }

    /**
     * @param value Indicates whether to clean up previous operation when Linker is updating or deleting
     */
    @JvmName("txieocafgfhnomeo")
    public suspend fun deleteOrUpdateBehavior(`value`: Either?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.deleteOrUpdateBehavior = mapped
    }

    /**
     * @param value Indicates whether to clean up previous operation when Linker is updating or deleting
     */
    @JvmName("iwyburaueknobyvi")
    public fun deleteOrUpdateBehavior(`value`: String) {
        val toBeMapped = Either.ofLeft(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.deleteOrUpdateBehavior = mapped
    }

    /**
     * @param value Indicates whether to clean up previous operation when Linker is updating or deleting
     */
    @JvmName("ejjytwawrteehmvp")
    public fun deleteOrUpdateBehavior(`value`: DeleteOrUpdateBehavior) {
        val toBeMapped = Either.ofRight(value)
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.deleteOrUpdateBehavior = mapped
    }

    internal fun build(): ConfigurationInfoArgs = ConfigurationInfoArgs(
        action = action,
        additionalConfigurations = additionalConfigurations,
        customizedKeys = customizedKeys,
        daprProperties = daprProperties,
        deleteOrUpdateBehavior = deleteOrUpdateBehavior,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy