com.pulumi.aws.msk.kotlin.inputs.ClusterBrokerNodeGroupInfoArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-aws-kotlin Show documentation
Show all versions of pulumi-aws-kotlin Show documentation
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.aws.msk.kotlin.inputs
import com.pulumi.aws.msk.inputs.ClusterBrokerNodeGroupInfoArgs.builder
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 com.pulumi.kotlin.applySuspend
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
*
* @property azDistribution The distribution of broker nodes across availability zones ([documentation](https://docs.aws.amazon.com/msk/1.0/apireference/clusters.html#clusters-model-brokerazdistribution)). Currently the only valid value is `DEFAULT`.
* @property clientSubnets A list of subnets to connect to in client VPC ([documentation](https://docs.aws.amazon.com/msk/1.0/apireference/clusters.html#clusters-prop-brokernodegroupinfo-clientsubnets)).
* @property connectivityInfo Information about the cluster access configuration. See below. For security reasons, you can't turn on public access while creating an MSK cluster. However, you can update an existing cluster to make it publicly accessible. You can also create a new cluster and then update it to make it publicly accessible ([documentation](https://docs.aws.amazon.com/msk/latest/developerguide/public-access.html)).
* @property instanceType Specify the instance type to use for the kafka brokersE.g., kafka.m5.large. ([Pricing info](https://aws.amazon.com/msk/pricing/))
* @property securityGroups A list of the security groups to associate with the elastic network interfaces to control who can communicate with the cluster.
* @property storageInfo A block that contains information about storage volumes attached to MSK broker nodes. See below.
*/
public data class ClusterBrokerNodeGroupInfoArgs(
public val azDistribution: Output? = null,
public val clientSubnets: Output>,
public val connectivityInfo: Output? = null,
public val instanceType: Output,
public val securityGroups: Output>,
public val storageInfo: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.aws.msk.inputs.ClusterBrokerNodeGroupInfoArgs =
com.pulumi.aws.msk.inputs.ClusterBrokerNodeGroupInfoArgs.builder()
.azDistribution(azDistribution?.applyValue({ args0 -> args0 }))
.clientSubnets(clientSubnets.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.connectivityInfo(connectivityInfo?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.instanceType(instanceType.applyValue({ args0 -> args0 }))
.securityGroups(securityGroups.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.storageInfo(storageInfo?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}
/**
* Builder for [ClusterBrokerNodeGroupInfoArgs].
*/
@PulumiTagMarker
public class ClusterBrokerNodeGroupInfoArgsBuilder internal constructor() {
private var azDistribution: Output? = null
private var clientSubnets: Output>? = null
private var connectivityInfo: Output? = null
private var instanceType: Output? = null
private var securityGroups: Output>? = null
private var storageInfo: Output? = null
/**
* @param value The distribution of broker nodes across availability zones ([documentation](https://docs.aws.amazon.com/msk/1.0/apireference/clusters.html#clusters-model-brokerazdistribution)). Currently the only valid value is `DEFAULT`.
*/
@JvmName("bwhlgxilxhmsbpgo")
public suspend fun azDistribution(`value`: Output) {
this.azDistribution = value
}
/**
* @param value A list of subnets to connect to in client VPC ([documentation](https://docs.aws.amazon.com/msk/1.0/apireference/clusters.html#clusters-prop-brokernodegroupinfo-clientsubnets)).
*/
@JvmName("wvtcwlwhawcstcin")
public suspend fun clientSubnets(`value`: Output>) {
this.clientSubnets = value
}
@JvmName("mhxhbtvxfodgvyvu")
public suspend fun clientSubnets(vararg values: Output) {
this.clientSubnets = Output.all(values.asList())
}
/**
* @param values A list of subnets to connect to in client VPC ([documentation](https://docs.aws.amazon.com/msk/1.0/apireference/clusters.html#clusters-prop-brokernodegroupinfo-clientsubnets)).
*/
@JvmName("xgmnocuvleyjilae")
public suspend fun clientSubnets(values: List
© 2015 - 2024 Weber Informatics LLC | Privacy Policy