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

com.pulumi.gcp.container.kotlin.inputs.AwsClusterNetworkingArgs.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: 8.10.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.gcp.container.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.container.inputs.AwsClusterNetworkingArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property perNodePoolSgRulesDisabled Disable the per node pool subnet security group rules on the control plane security group. When set to true, you must also provide one or more security groups that ensure node pools are able to send requests to the control plane on TCP/443 and TCP/8132. Failure to do so may result in unavailable node pools.
 * @property podAddressCidrBlocks All pods in the cluster are assigned an RFC1918 IPv4 address from these ranges. Only a single range is supported. This field cannot be changed after creation.
 * @property serviceAddressCidrBlocks All services in the cluster are assigned an RFC1918 IPv4 address from these ranges. Only a single range is supported. This field cannot be changed after creation.
 * @property vpcId The VPC associated with the cluster. All component clusters (i.e. control plane and node pools) run on a single VPC. This field cannot be changed after creation.
 * - - -
 */
public data class AwsClusterNetworkingArgs(
    public val perNodePoolSgRulesDisabled: Output? = null,
    public val podAddressCidrBlocks: Output>,
    public val serviceAddressCidrBlocks: Output>,
    public val vpcId: Output,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.gcp.container.inputs.AwsClusterNetworkingArgs =
        com.pulumi.gcp.container.inputs.AwsClusterNetworkingArgs.builder()
            .perNodePoolSgRulesDisabled(perNodePoolSgRulesDisabled?.applyValue({ args0 -> args0 }))
            .podAddressCidrBlocks(podAddressCidrBlocks.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .serviceAddressCidrBlocks(
                serviceAddressCidrBlocks.applyValue({ args0 ->
                    args0.map({ args0 ->
                        args0
                    })
                }),
            )
            .vpcId(vpcId.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [AwsClusterNetworkingArgs].
 */
@PulumiTagMarker
public class AwsClusterNetworkingArgsBuilder internal constructor() {
    private var perNodePoolSgRulesDisabled: Output? = null

    private var podAddressCidrBlocks: Output>? = null

    private var serviceAddressCidrBlocks: Output>? = null

    private var vpcId: Output? = null

    /**
     * @param value Disable the per node pool subnet security group rules on the control plane security group. When set to true, you must also provide one or more security groups that ensure node pools are able to send requests to the control plane on TCP/443 and TCP/8132. Failure to do so may result in unavailable node pools.
     */
    @JvmName("gajxhnysmgnatkkq")
    public suspend fun perNodePoolSgRulesDisabled(`value`: Output) {
        this.perNodePoolSgRulesDisabled = value
    }

    /**
     * @param value All pods in the cluster are assigned an RFC1918 IPv4 address from these ranges. Only a single range is supported. This field cannot be changed after creation.
     */
    @JvmName("xuphcuivxnqvwopx")
    public suspend fun podAddressCidrBlocks(`value`: Output>) {
        this.podAddressCidrBlocks = value
    }

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

    /**
     * @param values All pods in the cluster are assigned an RFC1918 IPv4 address from these ranges. Only a single range is supported. This field cannot be changed after creation.
     */
    @JvmName("fahilgsdlfkfbaxo")
    public suspend fun podAddressCidrBlocks(values: List>) {
        this.podAddressCidrBlocks = Output.all(values)
    }

    /**
     * @param value All services in the cluster are assigned an RFC1918 IPv4 address from these ranges. Only a single range is supported. This field cannot be changed after creation.
     */
    @JvmName("nwojvdghdsikslya")
    public suspend fun serviceAddressCidrBlocks(`value`: Output>) {
        this.serviceAddressCidrBlocks = value
    }

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

    /**
     * @param values All services in the cluster are assigned an RFC1918 IPv4 address from these ranges. Only a single range is supported. This field cannot be changed after creation.
     */
    @JvmName("iswonajtffeaurxk")
    public suspend fun serviceAddressCidrBlocks(values: List>) {
        this.serviceAddressCidrBlocks = Output.all(values)
    }

    /**
     * @param value The VPC associated with the cluster. All component clusters (i.e. control plane and node pools) run on a single VPC. This field cannot be changed after creation.
     * - - -
     */
    @JvmName("qipipmmfdqrawmqi")
    public suspend fun vpcId(`value`: Output) {
        this.vpcId = value
    }

    /**
     * @param value Disable the per node pool subnet security group rules on the control plane security group. When set to true, you must also provide one or more security groups that ensure node pools are able to send requests to the control plane on TCP/443 and TCP/8132. Failure to do so may result in unavailable node pools.
     */
    @JvmName("dlscimrncnlyucyb")
    public suspend fun perNodePoolSgRulesDisabled(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.perNodePoolSgRulesDisabled = mapped
    }

    /**
     * @param value All pods in the cluster are assigned an RFC1918 IPv4 address from these ranges. Only a single range is supported. This field cannot be changed after creation.
     */
    @JvmName("ccbdptbuhbravkbg")
    public suspend fun podAddressCidrBlocks(`value`: List) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.podAddressCidrBlocks = mapped
    }

    /**
     * @param values All pods in the cluster are assigned an RFC1918 IPv4 address from these ranges. Only a single range is supported. This field cannot be changed after creation.
     */
    @JvmName("csispkurcmryuhvj")
    public suspend fun podAddressCidrBlocks(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.podAddressCidrBlocks = mapped
    }

    /**
     * @param value All services in the cluster are assigned an RFC1918 IPv4 address from these ranges. Only a single range is supported. This field cannot be changed after creation.
     */
    @JvmName("twbnsgjvyrvecbgv")
    public suspend fun serviceAddressCidrBlocks(`value`: List) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.serviceAddressCidrBlocks = mapped
    }

    /**
     * @param values All services in the cluster are assigned an RFC1918 IPv4 address from these ranges. Only a single range is supported. This field cannot be changed after creation.
     */
    @JvmName("cpypwkaivbbkshtn")
    public suspend fun serviceAddressCidrBlocks(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.serviceAddressCidrBlocks = mapped
    }

    /**
     * @param value The VPC associated with the cluster. All component clusters (i.e. control plane and node pools) run on a single VPC. This field cannot be changed after creation.
     * - - -
     */
    @JvmName("xdopiintkenfrefi")
    public suspend fun vpcId(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.vpcId = mapped
    }

    internal fun build(): AwsClusterNetworkingArgs = AwsClusterNetworkingArgs(
        perNodePoolSgRulesDisabled = perNodePoolSgRulesDisabled,
        podAddressCidrBlocks = podAddressCidrBlocks ?: throw
            PulumiNullFieldException("podAddressCidrBlocks"),
        serviceAddressCidrBlocks = serviceAddressCidrBlocks ?: throw
            PulumiNullFieldException("serviceAddressCidrBlocks"),
        vpcId = vpcId ?: throw PulumiNullFieldException("vpcId"),
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy