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

com.pulumi.gcp.container.kotlin.inputs.NodePoolNodeConfigKubeletConfigArgs.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.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.container.inputs.NodePoolNodeConfigKubeletConfigArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 *
 * @property cpuCfsQuota Enable CPU CFS quota enforcement for containers that specify CPU limits.
 * @property cpuCfsQuotaPeriod Set the CPU CFS quota period value 'cpu.cfs_period_us'.
 * @property cpuManagerPolicy Control the CPU management policy on the node.
 * @property podPidsLimit Controls the maximum number of processes allowed to run in a pod.
 */
public data class NodePoolNodeConfigKubeletConfigArgs(
    public val cpuCfsQuota: Output? = null,
    public val cpuCfsQuotaPeriod: Output? = null,
    public val cpuManagerPolicy: Output,
    public val podPidsLimit: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.gcp.container.inputs.NodePoolNodeConfigKubeletConfigArgs =
        com.pulumi.gcp.container.inputs.NodePoolNodeConfigKubeletConfigArgs.builder()
            .cpuCfsQuota(cpuCfsQuota?.applyValue({ args0 -> args0 }))
            .cpuCfsQuotaPeriod(cpuCfsQuotaPeriod?.applyValue({ args0 -> args0 }))
            .cpuManagerPolicy(cpuManagerPolicy.applyValue({ args0 -> args0 }))
            .podPidsLimit(podPidsLimit?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [NodePoolNodeConfigKubeletConfigArgs].
 */
@PulumiTagMarker
public class NodePoolNodeConfigKubeletConfigArgsBuilder internal constructor() {
    private var cpuCfsQuota: Output? = null

    private var cpuCfsQuotaPeriod: Output? = null

    private var cpuManagerPolicy: Output? = null

    private var podPidsLimit: Output? = null

    /**
     * @param value Enable CPU CFS quota enforcement for containers that specify CPU limits.
     */
    @JvmName("jfhaifofywxckvie")
    public suspend fun cpuCfsQuota(`value`: Output) {
        this.cpuCfsQuota = value
    }

    /**
     * @param value Set the CPU CFS quota period value 'cpu.cfs_period_us'.
     */
    @JvmName("dguvqtbykwpwowsb")
    public suspend fun cpuCfsQuotaPeriod(`value`: Output) {
        this.cpuCfsQuotaPeriod = value
    }

    /**
     * @param value Control the CPU management policy on the node.
     */
    @JvmName("qxoceqhjfhhmqlqq")
    public suspend fun cpuManagerPolicy(`value`: Output) {
        this.cpuManagerPolicy = value
    }

    /**
     * @param value Controls the maximum number of processes allowed to run in a pod.
     */
    @JvmName("fumwctlatnegwncr")
    public suspend fun podPidsLimit(`value`: Output) {
        this.podPidsLimit = value
    }

    /**
     * @param value Enable CPU CFS quota enforcement for containers that specify CPU limits.
     */
    @JvmName("niwsxiceoeqvnpnc")
    public suspend fun cpuCfsQuota(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.cpuCfsQuota = mapped
    }

    /**
     * @param value Set the CPU CFS quota period value 'cpu.cfs_period_us'.
     */
    @JvmName("itsymwluwgkqnklm")
    public suspend fun cpuCfsQuotaPeriod(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.cpuCfsQuotaPeriod = mapped
    }

    /**
     * @param value Control the CPU management policy on the node.
     */
    @JvmName("hiidntrwklggmcgw")
    public suspend fun cpuManagerPolicy(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.cpuManagerPolicy = mapped
    }

    /**
     * @param value Controls the maximum number of processes allowed to run in a pod.
     */
    @JvmName("dbpbmgyvvvchngmd")
    public suspend fun podPidsLimit(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.podPidsLimit = mapped
    }

    internal fun build(): NodePoolNodeConfigKubeletConfigArgs = NodePoolNodeConfigKubeletConfigArgs(
        cpuCfsQuota = cpuCfsQuota,
        cpuCfsQuotaPeriod = cpuCfsQuotaPeriod,
        cpuManagerPolicy = cpuManagerPolicy ?: throw PulumiNullFieldException("cpuManagerPolicy"),
        podPidsLimit = podPidsLimit,
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy