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

com.pulumi.awsnative.msk.kotlin.ConfigurationArgs.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: 1.11.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.msk.kotlin

import com.pulumi.awsnative.msk.ConfigurationArgs.builder
import com.pulumi.awsnative.msk.kotlin.inputs.ConfigurationLatestRevisionArgs
import com.pulumi.awsnative.msk.kotlin.inputs.ConfigurationLatestRevisionArgsBuilder
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.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 * Resource Type definition for AWS::MSK::Configuration
 * @property description The description of the configuration.
 * @property kafkaVersionsList
 * @property latestRevision Latest revision of the configuration.
 * @property name The name of the configuration. Configuration names are strings that match the regex "^[0-9A-Za-z][0-9A-Za-z-]{0,}$".
 * @property serverProperties Contents of the server.properties file. When using the API, you must ensure that the contents of the file are base64 encoded. When using the console, the SDK, or the CLI, the contents of server.properties can be in plaintext.
 */
public data class ConfigurationArgs(
    public val description: Output? = null,
    public val kafkaVersionsList: Output>? = null,
    public val latestRevision: Output? = null,
    public val name: Output? = null,
    public val serverProperties: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.msk.ConfigurationArgs =
        com.pulumi.awsnative.msk.ConfigurationArgs.builder()
            .description(description?.applyValue({ args0 -> args0 }))
            .kafkaVersionsList(kafkaVersionsList?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .latestRevision(latestRevision?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
            .name(name?.applyValue({ args0 -> args0 }))
            .serverProperties(serverProperties?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [ConfigurationArgs].
 */
@PulumiTagMarker
public class ConfigurationArgsBuilder internal constructor() {
    private var description: Output? = null

    private var kafkaVersionsList: Output>? = null

    private var latestRevision: Output? = null

    private var name: Output? = null

    private var serverProperties: Output? = null

    /**
     * @param value The description of the configuration.
     */
    @JvmName("wotudngpbbptaxcj")
    public suspend fun description(`value`: Output) {
        this.description = value
    }

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

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

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

    /**
     * @param value Latest revision of the configuration.
     */
    @JvmName("cpawbetqkqffgqkk")
    public suspend fun latestRevision(`value`: Output) {
        this.latestRevision = value
    }

    /**
     * @param value The name of the configuration. Configuration names are strings that match the regex "^[0-9A-Za-z][0-9A-Za-z-]{0,}$".
     */
    @JvmName("jaiqentqheguwneg")
    public suspend fun name(`value`: Output) {
        this.name = value
    }

    /**
     * @param value Contents of the server.properties file. When using the API, you must ensure that the contents of the file are base64 encoded. When using the console, the SDK, or the CLI, the contents of server.properties can be in plaintext.
     */
    @JvmName("wlkhapadvqserxoi")
    public suspend fun serverProperties(`value`: Output) {
        this.serverProperties = value
    }

    /**
     * @param value The description of the configuration.
     */
    @JvmName("wcstgiclbthmruri")
    public suspend fun description(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.description = mapped
    }

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

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

    /**
     * @param value Latest revision of the configuration.
     */
    @JvmName("dbillfdyajchuhlk")
    public suspend fun latestRevision(`value`: ConfigurationLatestRevisionArgs?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.latestRevision = mapped
    }

    /**
     * @param argument Latest revision of the configuration.
     */
    @JvmName("gdqealqgwlgldtek")
    public suspend fun latestRevision(argument: suspend ConfigurationLatestRevisionArgsBuilder.() -> Unit) {
        val toBeMapped = ConfigurationLatestRevisionArgsBuilder().applySuspend { argument() }.build()
        val mapped = of(toBeMapped)
        this.latestRevision = mapped
    }

    /**
     * @param value The name of the configuration. Configuration names are strings that match the regex "^[0-9A-Za-z][0-9A-Za-z-]{0,}$".
     */
    @JvmName("nsmumvrxkjdbdyvs")
    public suspend fun name(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.name = mapped
    }

    /**
     * @param value Contents of the server.properties file. When using the API, you must ensure that the contents of the file are base64 encoded. When using the console, the SDK, or the CLI, the contents of server.properties can be in plaintext.
     */
    @JvmName("lrerfsnisaalrkge")
    public suspend fun serverProperties(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.serverProperties = mapped
    }

    internal fun build(): ConfigurationArgs = ConfigurationArgs(
        description = description,
        kafkaVersionsList = kafkaVersionsList,
        latestRevision = latestRevision,
        name = name,
        serverProperties = serverProperties,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy