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

com.pulumi.gcp.container.kotlin.outputs.ClusterIpAllocationPolicy.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.String
import kotlin.Suppress

/**
 *
 * @property additionalPodRangesConfig The configuration for additional pod secondary ranges at
 * the cluster level. Used for Autopilot clusters and Standard clusters with which control of the
 * secondary Pod IP address assignment to node pools isn't needed. Structure is documented below.
 * @property clusterIpv4CidrBlock The IP address range for the cluster pod IPs.
 * 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)
 * from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to
 * pick a specific range to use.
 * @property clusterSecondaryRangeName The name of the existing secondary
 * range in the cluster's subnetwork to use for pod IP addresses. Alternatively,
 * `cluster_ipv4_cidr_block` can be used to automatically create a GKE-managed one.
 * @property podCidrOverprovisionConfig Configuration for cluster level pod cidr overprovision. Default is disabled=false.
 * @property servicesIpv4CidrBlock The IP address range of the services IPs in this cluster.
 * 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)
 * from the RFC-1918 private networks (e.g. 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) to
 * pick a specific range to use.
 * @property servicesSecondaryRangeName The name of the existing
 * secondary range in the cluster's subnetwork to use for service `ClusterIP`s.
 * Alternatively, `services_ipv4_cidr_block` can be used to automatically create a
 * GKE-managed one.
 * @property stackType The IP Stack Type of the cluster.
 * Default value is `IPV4`.
 * Possible values are `IPV4` and `IPV4_IPV6`.
 */
public data class ClusterIpAllocationPolicy(
    public val additionalPodRangesConfig: ClusterIpAllocationPolicyAdditionalPodRangesConfig? = null,
    public val clusterIpv4CidrBlock: String? = null,
    public val clusterSecondaryRangeName: String? = null,
    public val podCidrOverprovisionConfig: ClusterIpAllocationPolicyPodCidrOverprovisionConfig? =
        null,
    public val servicesIpv4CidrBlock: String? = null,
    public val servicesSecondaryRangeName: String? = null,
    public val stackType: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.gcp.container.outputs.ClusterIpAllocationPolicy): ClusterIpAllocationPolicy = ClusterIpAllocationPolicy(
            additionalPodRangesConfig = javaType.additionalPodRangesConfig().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.ClusterIpAllocationPolicyAdditionalPodRangesConfig.Companion.toKotlin(args0)
                })
            }).orElse(null),
            clusterIpv4CidrBlock = javaType.clusterIpv4CidrBlock().map({ args0 -> args0 }).orElse(null),
            clusterSecondaryRangeName = javaType.clusterSecondaryRangeName().map({ args0 ->
                args0
            }).orElse(null),
            podCidrOverprovisionConfig = javaType.podCidrOverprovisionConfig().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.container.kotlin.outputs.ClusterIpAllocationPolicyPodCidrOverprovisionConfig.Companion.toKotlin(args0)
                })
            }).orElse(null),
            servicesIpv4CidrBlock = javaType.servicesIpv4CidrBlock().map({ args0 -> args0 }).orElse(null),
            servicesSecondaryRangeName = javaType.servicesSecondaryRangeName().map({ args0 ->
                args0
            }).orElse(null),
            stackType = javaType.stackType().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy