com.pulumi.gcp.container.kotlin.outputs.ClusterClusterAutoscaling.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.container.kotlin.outputs
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
/**
*
* @property autoProvisioningDefaults Contains defaults for a node pool created by NAP. A subset of fields also apply to
* GKE Autopilot clusters.
* Structure is documented below.
* @property autoscalingProfile Configuration
* options for the [Autoscaling profile](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-autoscaler#autoscaling_profiles)
* feature, which lets you choose whether the cluster autoscaler should optimize for resource utilization or resource availability
* when deciding to remove nodes from a cluster. Can be `BALANCED` or `OPTIMIZE_UTILIZATION`. Defaults to `BALANCED`.
* @property enabled Whether node auto-provisioning is enabled. Must be supplied for GKE Standard clusters, `true` is implied
* for autopilot clusters. Resource limits for `cpu` and `memory` must be defined to enable node auto-provisioning for GKE Standard.
* @property resourceLimits Global constraints for machine resources in the
* cluster. Configuring the `cpu` and `memory` types is required if node
* auto-provisioning is enabled. These limits will apply to node pool autoscaling
* in addition to node auto-provisioning. Structure is documented below.
*/
public data class ClusterClusterAutoscaling(
public val autoProvisioningDefaults: ClusterClusterAutoscalingAutoProvisioningDefaults? = null,
public val autoscalingProfile: String? = null,
public val enabled: Boolean? = null,
public val resourceLimits: List? = null,
) {
public companion object {
public fun toKotlin(javaType: com.pulumi.gcp.container.outputs.ClusterClusterAutoscaling): ClusterClusterAutoscaling = ClusterClusterAutoscaling(
autoProvisioningDefaults = javaType.autoProvisioningDefaults().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.container.kotlin.outputs.ClusterClusterAutoscalingAutoProvisioningDefaults.Companion.toKotlin(args0)
})
}).orElse(null),
autoscalingProfile = javaType.autoscalingProfile().map({ args0 -> args0 }).orElse(null),
enabled = javaType.enabled().map({ args0 -> args0 }).orElse(null),
resourceLimits = javaType.resourceLimits().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.container.kotlin.outputs.ClusterClusterAutoscalingResourceLimit.Companion.toKotlin(args0)
})
}),
)
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy