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

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

package com.pulumi.awsnative.msk.kotlin.outputs

import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 *
 * @property brokerAzDistribution This parameter is currently not in use.
 * @property clientSubnets The list of subnets to connect to in the client virtual private cloud (VPC). Amazon creates elastic network interfaces inside these subnets. Client applications use elastic network interfaces to produce and consume data.
 * If you use the US West (N. California) Region, specify exactly two subnets. For other Regions where Amazon MSK is available, you can specify either two or three subnets. The subnets that you specify must be in distinct Availability Zones. When you create a cluster, Amazon MSK distributes the broker nodes evenly across the subnets that you specify.
 * Client subnets can't occupy the Availability Zone with ID `use1-az3` .
 * @property connectivityInfo Information about the cluster's connectivity setting.
 * @property instanceType The type of Amazon EC2 instances to use for brokers. The following instance types are allowed: kafka.m5.large, kafka.m5.xlarge, kafka.m5.2xlarge, kafka.m5.4xlarge, kafka.m5.8xlarge, kafka.m5.12xlarge, kafka.m5.16xlarge, kafka.m5.24xlarge, and kafka.t3.small.
 * @property securityGroups The security groups to associate with the elastic network interfaces in order to specify who can connect to and communicate with the Amazon MSK cluster. If you don't specify a security group, Amazon MSK uses the default security group associated with the VPC. If you specify security groups that were shared with you, you must ensure that you have permissions to them. Specifically, you need the `ec2:DescribeSecurityGroups` permission.
 * @property storageInfo Contains information about storage volumes attached to Amazon MSK broker nodes.
 */
public data class ClusterBrokerNodeGroupInfo(
    public val brokerAzDistribution: String? = null,
    public val clientSubnets: List,
    public val connectivityInfo: ClusterConnectivityInfo? = null,
    public val instanceType: String,
    public val securityGroups: List? = null,
    public val storageInfo: ClusterStorageInfo? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.awsnative.msk.outputs.ClusterBrokerNodeGroupInfo): ClusterBrokerNodeGroupInfo = ClusterBrokerNodeGroupInfo(
            brokerAzDistribution = javaType.brokerAzDistribution().map({ args0 -> args0 }).orElse(null),
            clientSubnets = javaType.clientSubnets().map({ args0 -> args0 }),
            connectivityInfo = javaType.connectivityInfo().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.msk.kotlin.outputs.ClusterConnectivityInfo.Companion.toKotlin(args0)
                })
            }).orElse(null),
            instanceType = javaType.instanceType(),
            securityGroups = javaType.securityGroups().map({ args0 -> args0 }),
            storageInfo = javaType.storageInfo().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.msk.kotlin.outputs.ClusterStorageInfo.Companion.toKotlin(args0)
                })
            }).orElse(null),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy