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

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

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

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

import com.pulumi.azure.containerservice.inputs.KubernetesClusterDefaultNodePoolKubeletConfigArgs.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 `*`).
 * @property containerLogMaxLine Specifies the maximum number of container log files that can be present for a container. must be at least 2.
 * @property containerLogMaxSizeMb Specifies the maximum size (e.g. 10MB) of container log file before it is rotated.
 * @property cpuCfsQuotaEnabled Is CPU CFS quota enforcement for containers enabled?
 * @property cpuCfsQuotaPeriod Specifies the CPU CFS quota period value.
 * @property cpuManagerPolicy Specifies the CPU Manager policy to use. Possible values are `none` and `static`,.
 * @property imageGcHighThreshold Specifies the percent of disk usage above which image garbage collection is always run. Must be between `0` and `100`.
 * @property imageGcLowThreshold Specifies the percent of disk usage lower than which image garbage collection is never run. Must be between `0` and `100`.
 * @property podMaxPid Specifies the maximum number of processes per pod.
 * @property topologyManagerPolicy Specifies the Topology Manager policy to use. Possible values are `none`, `best-effort`, `restricted` or `single-numa-node`.
 */
public data class KubernetesClusterDefaultNodePoolKubeletConfigArgs(
    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.KubernetesClusterDefaultNodePoolKubeletConfigArgs =
        com.pulumi.azure.containerservice.inputs.KubernetesClusterDefaultNodePoolKubeletConfigArgs.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 [KubernetesClusterDefaultNodePoolKubeletConfigArgs].
 */
@PulumiTagMarker
public class KubernetesClusterDefaultNodePoolKubeletConfigArgsBuilder 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 `*`).
     */
    @JvmName("kyebettmdkqnajwk")
    public suspend fun allowedUnsafeSysctls(`value`: Output>) {
        this.allowedUnsafeSysctls = value
    }

    @JvmName("exvsrgpltuikxwah")
    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 `*`).
     */
    @JvmName("eyghseeuqtamtxor")
    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.
     */
    @JvmName("rmebfnbxvvsxwfso")
    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.
     */
    @JvmName("uwdkcwvoqlemffdd")
    public suspend fun containerLogMaxSizeMb(`value`: Output) {
        this.containerLogMaxSizeMb = value
    }

    /**
     * @param value Is CPU CFS quota enforcement for containers enabled?
     */
    @JvmName("vpfiiioigmptjcne")
    public suspend fun cpuCfsQuotaEnabled(`value`: Output) {
        this.cpuCfsQuotaEnabled = value
    }

    /**
     * @param value Specifies the CPU CFS quota period value.
     */
    @JvmName("wwxnlsdbovbwfmct")
    public suspend fun cpuCfsQuotaPeriod(`value`: Output) {
        this.cpuCfsQuotaPeriod = value
    }

    /**
     * @param value Specifies the CPU Manager policy to use. Possible values are `none` and `static`,.
     */
    @JvmName("afbvxcrctvsfpoir")
    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`.
     */
    @JvmName("qkoynarkqsxfsobb")
    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`.
     */
    @JvmName("lodlbqvbqawuherb")
    public suspend fun imageGcLowThreshold(`value`: Output) {
        this.imageGcLowThreshold = value
    }

    /**
     * @param value Specifies the maximum number of processes per pod.
     */
    @JvmName("nruwycvgkfihdiin")
    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`.
     */
    @JvmName("scxpsxfvjvdlyblw")
    public suspend fun topologyManagerPolicy(`value`: Output) {
        this.topologyManagerPolicy = value
    }

    /**
     * @param value Specifies the allow list of unsafe sysctls command or patterns (ending in `*`).
     */
    @JvmName("vvqbbvppdvlnbpoj")
    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 `*`).
     */
    @JvmName("rbtxihthovqlvhew")
    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.
     */
    @JvmName("msgbhnjthqgrexmd")
    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.
     */
    @JvmName("sxqgbkaphularwdk")
    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?
     */
    @JvmName("kkexbrvijdmstnxt")
    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.
     */
    @JvmName("hjsfipvslttghvgp")
    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`,.
     */
    @JvmName("amuwsgpebvpofjvh")
    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`.
     */
    @JvmName("omrcwulxhxqikdaf")
    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`.
     */
    @JvmName("ayvcnycrxxbadhpu")
    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.
     */
    @JvmName("ljasntwfyuwtxtux")
    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`.
     */
    @JvmName("kqvvkhhdattjftsw")
    public suspend fun topologyManagerPolicy(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.topologyManagerPolicy = mapped
    }

    internal fun build(): KubernetesClusterDefaultNodePoolKubeletConfigArgs =
        KubernetesClusterDefaultNodePoolKubeletConfigArgs(
            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