Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.awsnative.msk.kotlin.ClusterArgs.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.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.msk.kotlin
import com.pulumi.awsnative.msk.ClusterArgs.builder
import com.pulumi.awsnative.msk.kotlin.enums.ClusterEnhancedMonitoring
import com.pulumi.awsnative.msk.kotlin.enums.ClusterStorageMode
import com.pulumi.awsnative.msk.kotlin.inputs.ClusterBrokerNodeGroupInfoArgs
import com.pulumi.awsnative.msk.kotlin.inputs.ClusterBrokerNodeGroupInfoArgsBuilder
import com.pulumi.awsnative.msk.kotlin.inputs.ClusterClientAuthenticationArgs
import com.pulumi.awsnative.msk.kotlin.inputs.ClusterClientAuthenticationArgsBuilder
import com.pulumi.awsnative.msk.kotlin.inputs.ClusterConfigurationInfoArgs
import com.pulumi.awsnative.msk.kotlin.inputs.ClusterConfigurationInfoArgsBuilder
import com.pulumi.awsnative.msk.kotlin.inputs.ClusterEncryptionInfoArgs
import com.pulumi.awsnative.msk.kotlin.inputs.ClusterEncryptionInfoArgsBuilder
import com.pulumi.awsnative.msk.kotlin.inputs.ClusterLoggingInfoArgs
import com.pulumi.awsnative.msk.kotlin.inputs.ClusterLoggingInfoArgsBuilder
import com.pulumi.awsnative.msk.kotlin.inputs.ClusterOpenMonitoringArgs
import com.pulumi.awsnative.msk.kotlin.inputs.ClusterOpenMonitoringArgsBuilder
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.Map
import kotlin.jvm.JvmName
/**
* Resource Type definition for AWS::MSK::Cluster
* @property brokerNodeGroupInfo Information about the broker nodes in the cluster.
* @property clientAuthentication Includes all client authentication related information.
* @property clusterName The name of the cluster.
* @property configurationInfo Represents the configuration that you want MSK to use for the cluster.
* @property currentVersion The current version of the MSK cluster
* @property encryptionInfo Includes all encryption-related information.
* @property enhancedMonitoring Specifies the level of monitoring for the MSK cluster. The possible values are `DEFAULT` , `PER_BROKER` , and `PER_TOPIC_PER_BROKER` .
* @property kafkaVersion The version of Apache Kafka. You can use Amazon MSK to create clusters that use Apache Kafka versions 1.1.1 and 2.2.1.
* @property loggingInfo Logging Info details.
* @property numberOfBrokerNodes The number of broker nodes in the cluster.
* @property openMonitoring The settings for open monitoring.
* @property storageMode This controls storage mode for supported storage tiers.
* @property tags A key-value pair to associate with a resource.
*/
public data class ClusterArgs(
public val brokerNodeGroupInfo: Output? = null,
public val clientAuthentication: Output? = null,
public val clusterName: Output? = null,
public val configurationInfo: Output? = null,
public val currentVersion: Output? = null,
public val encryptionInfo: Output? = null,
public val enhancedMonitoring: Output? = null,
public val kafkaVersion: Output? = null,
public val loggingInfo: Output? = null,
public val numberOfBrokerNodes: Output? = null,
public val openMonitoring: Output? = null,
public val storageMode: Output? = null,
public val tags: Output>? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.msk.ClusterArgs =
com.pulumi.awsnative.msk.ClusterArgs.builder()
.brokerNodeGroupInfo(
brokerNodeGroupInfo?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.clientAuthentication(
clientAuthentication?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.clusterName(clusterName?.applyValue({ args0 -> args0 }))
.configurationInfo(configurationInfo?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.currentVersion(currentVersion?.applyValue({ args0 -> args0 }))
.encryptionInfo(encryptionInfo?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.enhancedMonitoring(
enhancedMonitoring?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.kafkaVersion(kafkaVersion?.applyValue({ args0 -> args0 }))
.loggingInfo(loggingInfo?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.numberOfBrokerNodes(numberOfBrokerNodes?.applyValue({ args0 -> args0 }))
.openMonitoring(openMonitoring?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.storageMode(storageMode?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.tags(
tags?.applyValue({ args0 ->
args0.map({ args0 ->
args0.key.to(args0.value)
}).toMap()
}),
).build()
}
/**
* Builder for [ClusterArgs].
*/
@PulumiTagMarker
public class ClusterArgsBuilder internal constructor() {
private var brokerNodeGroupInfo: Output? = null
private var clientAuthentication: Output? = null
private var clusterName: Output? = null
private var configurationInfo: Output? = null
private var currentVersion: Output? = null
private var encryptionInfo: Output? = null
private var enhancedMonitoring: Output? = null
private var kafkaVersion: Output? = null
private var loggingInfo: Output? = null
private var numberOfBrokerNodes: Output? = null
private var openMonitoring: Output? = null
private var storageMode: Output? = null
private var tags: Output>? = null
/**
* @param value Information about the broker nodes in the cluster.
*/
@JvmName("omuatqrrxhngqodc")
public suspend fun brokerNodeGroupInfo(`value`: Output) {
this.brokerNodeGroupInfo = value
}
/**
* @param value Includes all client authentication related information.
*/
@JvmName("xtivnskjehvvwbeh")
public suspend fun clientAuthentication(`value`: Output) {
this.clientAuthentication = value
}
/**
* @param value The name of the cluster.
*/
@JvmName("efhnmfngmixgwpak")
public suspend fun clusterName(`value`: Output) {
this.clusterName = value
}
/**
* @param value Represents the configuration that you want MSK to use for the cluster.
*/
@JvmName("ardutogpflgoersy")
public suspend fun configurationInfo(`value`: Output) {
this.configurationInfo = value
}
/**
* @param value The current version of the MSK cluster
*/
@JvmName("iiiexkbjaxgbegbe")
public suspend fun currentVersion(`value`: Output) {
this.currentVersion = value
}
/**
* @param value Includes all encryption-related information.
*/
@JvmName("wmswfeqdftyyektu")
public suspend fun encryptionInfo(`value`: Output) {
this.encryptionInfo = value
}
/**
* @param value Specifies the level of monitoring for the MSK cluster. The possible values are `DEFAULT` , `PER_BROKER` , and `PER_TOPIC_PER_BROKER` .
*/
@JvmName("kqmtfalnbpvhogpu")
public suspend fun enhancedMonitoring(`value`: Output) {
this.enhancedMonitoring = value
}
/**
* @param value The version of Apache Kafka. You can use Amazon MSK to create clusters that use Apache Kafka versions 1.1.1 and 2.2.1.
*/
@JvmName("brwflertfskgsiko")
public suspend fun kafkaVersion(`value`: Output) {
this.kafkaVersion = value
}
/**
* @param value Logging Info details.
*/
@JvmName("bqpadxpifkkigvtj")
public suspend fun loggingInfo(`value`: Output) {
this.loggingInfo = value
}
/**
* @param value The number of broker nodes in the cluster.
*/
@JvmName("dingsylkxxcyghux")
public suspend fun numberOfBrokerNodes(`value`: Output) {
this.numberOfBrokerNodes = value
}
/**
* @param value The settings for open monitoring.
*/
@JvmName("vuiosjjyeadvcfxt")
public suspend fun openMonitoring(`value`: Output) {
this.openMonitoring = value
}
/**
* @param value This controls storage mode for supported storage tiers.
*/
@JvmName("rufjevubvojflqpe")
public suspend fun storageMode(`value`: Output) {
this.storageMode = value
}
/**
* @param value A key-value pair to associate with a resource.
*/
@JvmName("xuybujntvgiskhdu")
public suspend fun tags(`value`: Output>) {
this.tags = value
}
/**
* @param value Information about the broker nodes in the cluster.
*/
@JvmName("etnsawdvgkxfoqmb")
public suspend fun brokerNodeGroupInfo(`value`: ClusterBrokerNodeGroupInfoArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.brokerNodeGroupInfo = mapped
}
/**
* @param argument Information about the broker nodes in the cluster.
*/
@JvmName("msscgxartkntodfr")
public suspend fun brokerNodeGroupInfo(argument: suspend ClusterBrokerNodeGroupInfoArgsBuilder.() -> Unit) {
val toBeMapped = ClusterBrokerNodeGroupInfoArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.brokerNodeGroupInfo = mapped
}
/**
* @param value Includes all client authentication related information.
*/
@JvmName("iaaxvmqxxoqjlijl")
public suspend fun clientAuthentication(`value`: ClusterClientAuthenticationArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.clientAuthentication = mapped
}
/**
* @param argument Includes all client authentication related information.
*/
@JvmName("nasxudnnmtldwsdj")
public suspend fun clientAuthentication(argument: suspend ClusterClientAuthenticationArgsBuilder.() -> Unit) {
val toBeMapped = ClusterClientAuthenticationArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.clientAuthentication = mapped
}
/**
* @param value The name of the cluster.
*/
@JvmName("fxgowshhedcaadxx")
public suspend fun clusterName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.clusterName = mapped
}
/**
* @param value Represents the configuration that you want MSK to use for the cluster.
*/
@JvmName("ugfgbstsirxgabqo")
public suspend fun configurationInfo(`value`: ClusterConfigurationInfoArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.configurationInfo = mapped
}
/**
* @param argument Represents the configuration that you want MSK to use for the cluster.
*/
@JvmName("jwwchufhkxwwmosk")
public suspend fun configurationInfo(argument: suspend ClusterConfigurationInfoArgsBuilder.() -> Unit) {
val toBeMapped = ClusterConfigurationInfoArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.configurationInfo = mapped
}
/**
* @param value The current version of the MSK cluster
*/
@JvmName("bfalnaxrfuyrbhbd")
public suspend fun currentVersion(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.currentVersion = mapped
}
/**
* @param value Includes all encryption-related information.
*/
@JvmName("dbbaajbryjvgoxss")
public suspend fun encryptionInfo(`value`: ClusterEncryptionInfoArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.encryptionInfo = mapped
}
/**
* @param argument Includes all encryption-related information.
*/
@JvmName("vnilkodyameghxux")
public suspend fun encryptionInfo(argument: suspend ClusterEncryptionInfoArgsBuilder.() -> Unit) {
val toBeMapped = ClusterEncryptionInfoArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.encryptionInfo = mapped
}
/**
* @param value Specifies the level of monitoring for the MSK cluster. The possible values are `DEFAULT` , `PER_BROKER` , and `PER_TOPIC_PER_BROKER` .
*/
@JvmName("gxkronanmxplsuee")
public suspend fun enhancedMonitoring(`value`: ClusterEnhancedMonitoring?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.enhancedMonitoring = mapped
}
/**
* @param value The version of Apache Kafka. You can use Amazon MSK to create clusters that use Apache Kafka versions 1.1.1 and 2.2.1.
*/
@JvmName("avvuqelstmoirmpf")
public suspend fun kafkaVersion(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.kafkaVersion = mapped
}
/**
* @param value Logging Info details.
*/
@JvmName("aerjeynvuqryktcd")
public suspend fun loggingInfo(`value`: ClusterLoggingInfoArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.loggingInfo = mapped
}
/**
* @param argument Logging Info details.
*/
@JvmName("lpggnimdeptroygd")
public suspend fun loggingInfo(argument: suspend ClusterLoggingInfoArgsBuilder.() -> Unit) {
val toBeMapped = ClusterLoggingInfoArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.loggingInfo = mapped
}
/**
* @param value The number of broker nodes in the cluster.
*/
@JvmName("orpxtubvfiywmbii")
public suspend fun numberOfBrokerNodes(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.numberOfBrokerNodes = mapped
}
/**
* @param value The settings for open monitoring.
*/
@JvmName("qwiojongxcxtvtgs")
public suspend fun openMonitoring(`value`: ClusterOpenMonitoringArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.openMonitoring = mapped
}
/**
* @param argument The settings for open monitoring.
*/
@JvmName("vmwvrtlitooammpl")
public suspend fun openMonitoring(argument: suspend ClusterOpenMonitoringArgsBuilder.() -> Unit) {
val toBeMapped = ClusterOpenMonitoringArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.openMonitoring = mapped
}
/**
* @param value This controls storage mode for supported storage tiers.
*/
@JvmName("ycmdfyvvsnnlxxlc")
public suspend fun storageMode(`value`: ClusterStorageMode?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.storageMode = mapped
}
/**
* @param value A key-value pair to associate with a resource.
*/
@JvmName("bhfnnkquccwdhcxp")
public suspend fun tags(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.tags = mapped
}
/**
* @param values A key-value pair to associate with a resource.
*/
@JvmName("gfwbtayoefkresyl")
public fun tags(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.tags = mapped
}
internal fun build(): ClusterArgs = ClusterArgs(
brokerNodeGroupInfo = brokerNodeGroupInfo,
clientAuthentication = clientAuthentication,
clusterName = clusterName,
configurationInfo = configurationInfo,
currentVersion = currentVersion,
encryptionInfo = encryptionInfo,
enhancedMonitoring = enhancedMonitoring,
kafkaVersion = kafkaVersion,
loggingInfo = loggingInfo,
numberOfBrokerNodes = numberOfBrokerNodes,
openMonitoring = openMonitoring,
storageMode = storageMode,
tags = tags,
)
}