com.pulumi.gcp.gkeonprem.kotlin.outputs.VMwareNodePoolConfig.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-gcp-kotlin Show documentation
Show all versions of pulumi-gcp-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.gcp.gkeonprem.kotlin.outputs
import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.collections.Map
/**
*
* @property bootDiskSizeGb VMware disk size to be used during creation.
* @property cpus The number of CPUs for each node in the node pool.
* @property enableLoadBalancer Allow node pool traffic to be load balanced. Only works for clusters with
* MetalLB load balancers.
* @property image The OS image name in vCenter, only valid when using Windows.
* @property imageType The OS image to be used for each node in a node pool.
* Currently `cos`, `ubuntu`, `ubuntu_containerd` and `windows` are supported.
* @property labels The map of Kubernetes labels (key/value pairs) to be applied to each node.
* These will added in addition to any default label(s) that
* Kubernetes may apply to the node.
* In case of conflict in label keys, the applied set may differ depending on
* the Kubernetes version -- it's best to assume the behavior is undefined
* and conflicts should be avoided.
* @property memoryMb The megabytes of memory for each node in the node pool.
* @property replicas The number of nodes in the node pool.
* @property taints The initial taints assigned to nodes of this node pool.
* Structure is documented below.
* @property vsphereConfigs Specifies the vSphere config for node pool.
* Structure is documented below.
*/
public data class VMwareNodePoolConfig(
public val bootDiskSizeGb: Int? = null,
public val cpus: Int? = null,
public val enableLoadBalancer: Boolean? = null,
public val image: String? = null,
public val imageType: String,
public val labels: Map? = null,
public val memoryMb: Int? = null,
public val replicas: Int? = null,
public val taints: List? = null,
public val vsphereConfigs: List? = null,
) {
public companion object {
public fun toKotlin(javaType: com.pulumi.gcp.gkeonprem.outputs.VMwareNodePoolConfig): VMwareNodePoolConfig = VMwareNodePoolConfig(
bootDiskSizeGb = javaType.bootDiskSizeGb().map({ args0 -> args0 }).orElse(null),
cpus = javaType.cpus().map({ args0 -> args0 }).orElse(null),
enableLoadBalancer = javaType.enableLoadBalancer().map({ args0 -> args0 }).orElse(null),
image = javaType.image().map({ args0 -> args0 }).orElse(null),
imageType = javaType.imageType(),
labels = javaType.labels().map({ args0 -> args0.key.to(args0.value) }).toMap(),
memoryMb = javaType.memoryMb().map({ args0 -> args0 }).orElse(null),
replicas = javaType.replicas().map({ args0 -> args0 }).orElse(null),
taints = javaType.taints().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.gkeonprem.kotlin.outputs.VMwareNodePoolConfigTaint.Companion.toKotlin(args0)
})
}),
vsphereConfigs = javaType.vsphereConfigs().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.gkeonprem.kotlin.outputs.VMwareNodePoolConfigVsphereConfig.Companion.toKotlin(args0)
})
}),
)
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy