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

com.pulumi.gcp.container.kotlin.outputs.ClusterNodePoolNetworkConfig.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.outputs

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

/**
 *
 * @property additionalNodeNetworkConfigs We specify the additional node networks for this node pool using this list. Each node network corresponds to an additional interface
 * @property additionalPodNetworkConfigs We specify the additional pod networks for this node pool using this list. Each pod network corresponds to an additional alias IP range for the node
 * @property createPodRange Whether to create a new range for pod IPs in this node pool. Defaults are provided for `pod_range` and `pod_ipv4_cidr_block` if they are not specified.
 * @property enablePrivateNodes Whether nodes have internal IP addresses only.
 * @property networkPerformanceConfig Network bandwidth tier configuration.
 * @property podCidrOverprovisionConfig Configuration for node-pool level pod cidr overprovision. If not set, the cluster level setting will be inherited
 * @property podIpv4CidrBlock The IP address range for pod IPs in this node pool. Only applicable if createPodRange is true. Set to blank to have a range chosen with the default size. Set to /netmask (e.g. /14) to have a range chosen with a specific netmask. Set to a CIDR notation (e.g. 10.96.0.0/14) to pick a specific range to use.
 * @property podRange The ID of the secondary range for pod IPs. If `create_pod_range` is true, this ID is used for the new range. If `create_pod_range` is false, uses an existing secondary range with this ID.
 */
public data class ClusterNodePoolNetworkConfig(
    public val additionalNodeNetworkConfigs: List? = null,
    public val additionalPodNetworkConfigs: List? = null,
    public val createPodRange: Boolean? = null,
    public val enablePrivateNodes: Boolean? = null,
    public val networkPerformanceConfig: ClusterNodePoolNetworkConfigNetworkPerformanceConfig? = null,
    public val podCidrOverprovisionConfig: ClusterNodePoolNetworkConfigPodCidrOverprovisionConfig? =
        null,
    public val podIpv4CidrBlock: String? = null,
    public val podRange: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.gcp.container.outputs.ClusterNodePoolNetworkConfig): ClusterNodePoolNetworkConfig = ClusterNodePoolNetworkConfig(
            additionalNodeNetworkConfigs = javaType.additionalNodeNetworkConfigs().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.ClusterNodePoolNetworkConfigAdditionalNodeNetworkConfig.Companion.toKotlin(args0)
                })
            }),
            additionalPodNetworkConfigs = javaType.additionalPodNetworkConfigs().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.ClusterNodePoolNetworkConfigAdditionalPodNetworkConfig.Companion.toKotlin(args0)
                })
            }),
            createPodRange = javaType.createPodRange().map({ args0 -> args0 }).orElse(null),
            enablePrivateNodes = javaType.enablePrivateNodes().map({ args0 -> args0 }).orElse(null),
            networkPerformanceConfig = javaType.networkPerformanceConfig().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.ClusterNodePoolNetworkConfigNetworkPerformanceConfig.Companion.toKotlin(args0)
                })
            }).orElse(null),
            podCidrOverprovisionConfig = javaType.podCidrOverprovisionConfig().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.ClusterNodePoolNetworkConfigPodCidrOverprovisionConfig.Companion.toKotlin(args0)
                })
            }).orElse(null),
            podIpv4CidrBlock = javaType.podIpv4CidrBlock().map({ args0 -> args0 }).orElse(null),
            podRange = javaType.podRange().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy