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

com.pulumi.azure.containerservice.kotlin.inputs.KubernetesClusterNodePoolKubeletConfigArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.azure.containerservice.kotlin.inputs

import com.pulumi.azure.containerservice.inputs.KubernetesClusterNodePoolKubeletConfigArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.jvm.JvmName

/**
 *
 * @property allowedUnsafeSysctls Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). Changing this forces a new resource to be created.
 * @property containerLogMaxLine Specifies the maximum number of container log files that can be present for a container. must be at least 2. Changing this forces a new resource to be created.
 * @property containerLogMaxSizeMb Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. Changing this forces a new resource to be created.
 * @property cpuCfsQuotaEnabled Is CPU CFS quota enforcement for containers enabled? Changing this forces a new resource to be created.
 * @property cpuCfsQuotaPeriod Specifies the CPU CFS quota period value. Changing this forces a new resource to be created.
 * @property cpuManagerPolicy Specifies the CPU Manager policy to use. Possible values are `none` and `static`, Changing this forces a new resource to be created.
 * @property imageGcHighThreshold Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. Changing this forces a new resource to be created.
 * @property imageGcLowThreshold Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. Changing this forces a new resource to be created.
 * @property podMaxPid Specifies the maximum number of processes per pod. Changing this forces a new resource to be created.
 * @property topologyManagerPolicy Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. Changing this forces a new resource to be created.
 */
public data class KubernetesClusterNodePoolKubeletConfigArgs(
    public val allowedUnsafeSysctls: Output>? = null,
    public val containerLogMaxLine: Output? = null,
    public val containerLogMaxSizeMb: Output? = null,
    public val cpuCfsQuotaEnabled: Output? = null,
    public val cpuCfsQuotaPeriod: Output? = null,
    public val cpuManagerPolicy: Output? = null,
    public val imageGcHighThreshold: Output? = null,
    public val imageGcLowThreshold: Output? = null,
    public val podMaxPid: Output? = null,
    public val topologyManagerPolicy: Output? = null,
) :
    ConvertibleToJava {
    override fun toJava():
        com.pulumi.azure.containerservice.inputs.KubernetesClusterNodePoolKubeletConfigArgs =
        com.pulumi.azure.containerservice.inputs.KubernetesClusterNodePoolKubeletConfigArgs.builder()
            .allowedUnsafeSysctls(allowedUnsafeSysctls?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
            .containerLogMaxLine(containerLogMaxLine?.applyValue({ args0 -> args0 }))
            .containerLogMaxSizeMb(containerLogMaxSizeMb?.applyValue({ args0 -> args0 }))
            .cpuCfsQuotaEnabled(cpuCfsQuotaEnabled?.applyValue({ args0 -> args0 }))
            .cpuCfsQuotaPeriod(cpuCfsQuotaPeriod?.applyValue({ args0 -> args0 }))
            .cpuManagerPolicy(cpuManagerPolicy?.applyValue({ args0 -> args0 }))
            .imageGcHighThreshold(imageGcHighThreshold?.applyValue({ args0 -> args0 }))
            .imageGcLowThreshold(imageGcLowThreshold?.applyValue({ args0 -> args0 }))
            .podMaxPid(podMaxPid?.applyValue({ args0 -> args0 }))
            .topologyManagerPolicy(topologyManagerPolicy?.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [KubernetesClusterNodePoolKubeletConfigArgs].
 */
@PulumiTagMarker
public class KubernetesClusterNodePoolKubeletConfigArgsBuilder internal constructor() {
    private var allowedUnsafeSysctls: Output>? = null

    private var containerLogMaxLine: Output? = null

    private var containerLogMaxSizeMb: Output? = null

    private var cpuCfsQuotaEnabled: Output? = null

    private var cpuCfsQuotaPeriod: Output? = null

    private var cpuManagerPolicy: Output? = null

    private var imageGcHighThreshold: Output? = null

    private var imageGcLowThreshold: Output? = null

    private var podMaxPid: Output? = null

    private var topologyManagerPolicy: Output? = null

    /**
     * @param value Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). Changing this forces a new resource to be created.
     */
    @JvmName("mqnswobqcsjiicbm")
    public suspend fun allowedUnsafeSysctls(`value`: Output>) {
        this.allowedUnsafeSysctls = value
    }

    @JvmName("xibxmroajmuihjeu")
    public suspend fun allowedUnsafeSysctls(vararg values: Output) {
        this.allowedUnsafeSysctls = Output.all(values.asList())
    }

    /**
     * @param values Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). Changing this forces a new resource to be created.
     */
    @JvmName("pvwjnluiumqqxxfv")
    public suspend fun allowedUnsafeSysctls(values: List>) {
        this.allowedUnsafeSysctls = Output.all(values)
    }

    /**
     * @param value Specifies the maximum number of container log files that can be present for a container. must be at least 2. Changing this forces a new resource to be created.
     */
    @JvmName("rdracpqdymuvhjjk")
    public suspend fun containerLogMaxLine(`value`: Output) {
        this.containerLogMaxLine = value
    }

    /**
     * @param value Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. Changing this forces a new resource to be created.
     */
    @JvmName("kftbebtgvtqrpbyu")
    public suspend fun containerLogMaxSizeMb(`value`: Output) {
        this.containerLogMaxSizeMb = value
    }

    /**
     * @param value Is CPU CFS quota enforcement for containers enabled? Changing this forces a new resource to be created.
     */
    @JvmName("eqyaovpdlfcxbdpx")
    public suspend fun cpuCfsQuotaEnabled(`value`: Output) {
        this.cpuCfsQuotaEnabled = value
    }

    /**
     * @param value Specifies the CPU CFS quota period value. Changing this forces a new resource to be created.
     */
    @JvmName("tdudcfvubpqjmxnv")
    public suspend fun cpuCfsQuotaPeriod(`value`: Output) {
        this.cpuCfsQuotaPeriod = value
    }

    /**
     * @param value Specifies the CPU Manager policy to use. Possible values are `none` and `static`, Changing this forces a new resource to be created.
     */
    @JvmName("wjxcmdnsimlmyksk")
    public suspend fun cpuManagerPolicy(`value`: Output) {
        this.cpuManagerPolicy = value
    }

    /**
     * @param value Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. Changing this forces a new resource to be created.
     */
    @JvmName("lgsxutjbihtwmykn")
    public suspend fun imageGcHighThreshold(`value`: Output) {
        this.imageGcHighThreshold = value
    }

    /**
     * @param value Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. Changing this forces a new resource to be created.
     */
    @JvmName("yewkyceuxqwwpneu")
    public suspend fun imageGcLowThreshold(`value`: Output) {
        this.imageGcLowThreshold = value
    }

    /**
     * @param value Specifies the maximum number of processes per pod. Changing this forces a new resource to be created.
     */
    @JvmName("ayqpgxinftvuhiao")
    public suspend fun podMaxPid(`value`: Output) {
        this.podMaxPid = value
    }

    /**
     * @param value Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. Changing this forces a new resource to be created.
     */
    @JvmName("stlkmjqsjrtqihqt")
    public suspend fun topologyManagerPolicy(`value`: Output) {
        this.topologyManagerPolicy = value
    }

    /**
     * @param value Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). Changing this forces a new resource to be created.
     */
    @JvmName("nrswsyfprfuocwoh")
    public suspend fun allowedUnsafeSysctls(`value`: List?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.allowedUnsafeSysctls = mapped
    }

    /**
     * @param values Specifies the allow list of unsafe sysctls command or patterns (ending in `*`). Changing this forces a new resource to be created.
     */
    @JvmName("hpdswgcdpssdemrd")
    public suspend fun allowedUnsafeSysctls(vararg values: String) {
        val toBeMapped = values.toList()
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.allowedUnsafeSysctls = mapped
    }

    /**
     * @param value Specifies the maximum number of container log files that can be present for a container. must be at least 2. Changing this forces a new resource to be created.
     */
    @JvmName("forfirmasfakfyxh")
    public suspend fun containerLogMaxLine(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.containerLogMaxLine = mapped
    }

    /**
     * @param value Specifies the maximum size (e.g. 10MB) of container log file before it is rotated. Changing this forces a new resource to be created.
     */
    @JvmName("neyhkpaubgioqyci")
    public suspend fun containerLogMaxSizeMb(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.containerLogMaxSizeMb = mapped
    }

    /**
     * @param value Is CPU CFS quota enforcement for containers enabled? Changing this forces a new resource to be created.
     */
    @JvmName("maqbsxrelxlwexko")
    public suspend fun cpuCfsQuotaEnabled(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.cpuCfsQuotaEnabled = mapped
    }

    /**
     * @param value Specifies the CPU CFS quota period value. Changing this forces a new resource to be created.
     */
    @JvmName("cukmnvdljuidmooy")
    public suspend fun cpuCfsQuotaPeriod(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.cpuCfsQuotaPeriod = mapped
    }

    /**
     * @param value Specifies the CPU Manager policy to use. Possible values are `none` and `static`, Changing this forces a new resource to be created.
     */
    @JvmName("lgyxpomwbsvgjckf")
    public suspend fun cpuManagerPolicy(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.cpuManagerPolicy = mapped
    }

    /**
     * @param value Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`. Changing this forces a new resource to be created.
     */
    @JvmName("xandjjaygguwenws")
    public suspend fun imageGcHighThreshold(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.imageGcHighThreshold = mapped
    }

    /**
     * @param value Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`. Changing this forces a new resource to be created.
     */
    @JvmName("eedkfojlnuxxdxjq")
    public suspend fun imageGcLowThreshold(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.imageGcLowThreshold = mapped
    }

    /**
     * @param value Specifies the maximum number of processes per pod. Changing this forces a new resource to be created.
     */
    @JvmName("syeatqvlowdybpue")
    public suspend fun podMaxPid(`value`: Int?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.podMaxPid = mapped
    }

    /**
     * @param value Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`. Changing this forces a new resource to be created.
     */
    @JvmName("csuectykirqudlyr")
    public suspend fun topologyManagerPolicy(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.topologyManagerPolicy = mapped
    }

    internal fun build(): KubernetesClusterNodePoolKubeletConfigArgs =
        KubernetesClusterNodePoolKubeletConfigArgs(
            allowedUnsafeSysctls = allowedUnsafeSysctls,
            containerLogMaxLine = containerLogMaxLine,
            containerLogMaxSizeMb = containerLogMaxSizeMb,
            cpuCfsQuotaEnabled = cpuCfsQuotaEnabled,
            cpuCfsQuotaPeriod = cpuCfsQuotaPeriod,
            cpuManagerPolicy = cpuManagerPolicy,
            imageGcHighThreshold = imageGcHighThreshold,
            imageGcLowThreshold = imageGcLowThreshold,
            podMaxPid = podMaxPid,
            topologyManagerPolicy = topologyManagerPolicy,
        )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy