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

com.pulumi.gcp.vmwareengine.kotlin.outputs.ClusterAutoscalingSettings.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.gcp.vmwareengine.kotlin.outputs

import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 *
 * @property autoscalingPolicies The map with autoscaling policies applied to the cluster.
 * The key is the identifier of the policy.
 * It must meet the following requirements:
 * * Only contains 1-63 alphanumeric characters and hyphens
 * * Begins with an alphabetical character
 * * Ends with a non-hyphen character
 * * Not formatted as a UUID
 * * Complies with [RFC 1034](https://datatracker.ietf.org/doc/html/rfc1034) (section 3.5)
 * Currently the map must contain only one element
 * that describes the autoscaling policy for compute nodes.
 * Structure is documented below.
 * @property coolDownPeriod The minimum duration between consecutive autoscale operations.
 * It starts once addition or removal of nodes is fully completed.
 * Minimum cool down period is 30m.
 * Cool down period must be in whole minutes (for example, 30m, 31m, 50m).
 * Mandatory for successful addition of autoscaling settings in cluster.
 * @property maxClusterNodeCount Maximum number of nodes of any type in a cluster.
 * Mandatory for successful addition of autoscaling settings in cluster.
 * @property minClusterNodeCount Minimum number of nodes of any type in a cluster.
 * Mandatory for successful addition of autoscaling settings in cluster.
 */
public data class ClusterAutoscalingSettings(
    public val autoscalingPolicies: List,
    public val coolDownPeriod: String? = null,
    public val maxClusterNodeCount: Int? = null,
    public val minClusterNodeCount: Int? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.gcp.vmwareengine.outputs.ClusterAutoscalingSettings): ClusterAutoscalingSettings = ClusterAutoscalingSettings(
            autoscalingPolicies = javaType.autoscalingPolicies().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.vmwareengine.kotlin.outputs.ClusterAutoscalingSettingsAutoscalingPolicy.Companion.toKotlin(args0)
                })
            }),
            coolDownPeriod = javaType.coolDownPeriod().map({ args0 -> args0 }).orElse(null),
            maxClusterNodeCount = javaType.maxClusterNodeCount().map({ args0 -> args0 }).orElse(null),
            minClusterNodeCount = javaType.minClusterNodeCount().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy