// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.azure.containerservice.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.Integer;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class KubernetesClusterNodePoolLinuxOsConfigSysctlConfigArgs extends com.pulumi.resources.ResourceArgs {

    public static final KubernetesClusterNodePoolLinuxOsConfigSysctlConfigArgs Empty = new KubernetesClusterNodePoolLinuxOsConfigSysctlConfigArgs();

    /**
     * The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="fsAioMaxNr")
    private @Nullable Output<Integer> fsAioMaxNr;

    /**
     * @return The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. Changing this forces a new resource to be created.
     * 
     */
    public Optional<Output<Integer>> fsAioMaxNr() {
        return Optional.ofNullable(this.fsAioMaxNr);
    }

    /**
     * The sysctl setting fs.file-max. Must be between `8192` and `12000500`. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="fsFileMax")
    private @Nullable Output<Integer> fsFileMax;

    /**
     * @return The sysctl setting fs.file-max. Must be between `8192` and `12000500`. Changing this forces a new resource to be created.
     * 
     */
    public Optional<Output<Integer>> fsFileMax() {
        return Optional.ofNullable(this.fsFileMax);
    }

    /**
     * The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="fsInotifyMaxUserWatches")
    private @Nullable Output<Integer> fsInotifyMaxUserWatches;

    /**
     * @return The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. Changing this forces a new resource to be created.
     * 
     */
    public Optional<Output<Integer>> fsInotifyMaxUserWatches() {
        return Optional.ofNullable(this.fsInotifyMaxUserWatches);
    }

    /**
     * The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="fsNrOpen")
    private @Nullable Output<Integer> fsNrOpen;

    /**
     * @return The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. Changing this forces a new resource to be created.
     * 
     */
    public Optional<Output<Integer>> fsNrOpen() {
        return Optional.ofNullable(this.fsNrOpen);
    }

    /**
     * The sysctl setting kernel.threads-max. Must be between `20` and `513785`. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="kernelThreadsMax")
    private @Nullable Output<Integer> kernelThreadsMax;

    /**
     * @return The sysctl setting kernel.threads-max. Must be between `20` and `513785`. Changing this forces a new resource to be created.
     * 
     */
    public Optional<Output<Integer>> kernelThreadsMax() {
        return Optional.ofNullable(this.kernelThreadsMax);
    }

    /**
     * The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="netCoreNetdevMaxBacklog")
    private @Nullable Output<Integer> netCoreNetdevMaxBacklog;

    /**
     * @return The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. Changing this forces a new resource to be created.
     * 
     */
    public Optional<Output<Integer>> netCoreNetdevMaxBacklog() {
        return Optional.ofNullable(this.netCoreNetdevMaxBacklog);
    }

    /**
     * The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="netCoreOptmemMax")
    private @Nullable Output<Integer> netCoreOptmemMax;

    /**
     * @return The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. Changing this forces a new resource to be created.
     * 
     */
    public Optional<Output<Integer>> netCoreOptmemMax() {
        return Optional.ofNullable(this.netCoreOptmemMax);
    }

    /**
     * The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="netCoreRmemDefault")
    private @Nullable Output<Integer> netCoreRmemDefault;

    /**
     * @return The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created.
     * 
     */
    public Optional<Output<Integer>> netCoreRmemDefault() {
        return Optional.ofNullable(this.netCoreRmemDefault);
    }

    /**
     * The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="netCoreRmemMax")
    private @Nullable Output<Integer> netCoreRmemMax;

    /**
     * @return The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created.
     * 
     */
    public Optional<Output<Integer>> netCoreRmemMax() {
        return Optional.ofNullable(this.netCoreRmemMax);
    }

    /**
     * The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="netCoreSomaxconn")
    private @Nullable Output<Integer> netCoreSomaxconn;

    /**
     * @return The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. Changing this forces a new resource to be created.
     * 
     */
    public Optional<Output<Integer>> netCoreSomaxconn() {
        return Optional.ofNullable(this.netCoreSomaxconn);
    }

    /**
     * The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="netCoreWmemDefault")
    private @Nullable Output<Integer> netCoreWmemDefault;

    /**
     * @return The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created.
     * 
     */
    public Optional<Output<Integer>> netCoreWmemDefault() {
        return Optional.ofNullable(this.netCoreWmemDefault);
    }

    /**
     * The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="netCoreWmemMax")
    private @Nullable Output<Integer> netCoreWmemMax;

    /**
     * @return The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created.
     * 
     */
    public Optional<Output<Integer>> netCoreWmemMax() {
        return Optional.ofNullable(this.netCoreWmemMax);
    }

    /**
     * The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `1024` and `60999`. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="netIpv4IpLocalPortRangeMax")
    private @Nullable Output<Integer> netIpv4IpLocalPortRangeMax;

    /**
     * @return The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `1024` and `60999`. Changing this forces a new resource to be created.
     * 
     */
    public Optional<Output<Integer>> netIpv4IpLocalPortRangeMax() {
        return Optional.ofNullable(this.netIpv4IpLocalPortRangeMax);
    }

    /**
     * The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="netIpv4IpLocalPortRangeMin")
    private @Nullable Output<Integer> netIpv4IpLocalPortRangeMin;

    /**
     * @return The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. Changing this forces a new resource to be created.
     * 
     */
    public Optional<Output<Integer>> netIpv4IpLocalPortRangeMin() {
        return Optional.ofNullable(this.netIpv4IpLocalPortRangeMin);
    }

    /**
     * The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="netIpv4NeighDefaultGcThresh1")
    private @Nullable Output<Integer> netIpv4NeighDefaultGcThresh1;

    /**
     * @return The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. Changing this forces a new resource to be created.
     * 
     */
    public Optional<Output<Integer>> netIpv4NeighDefaultGcThresh1() {
        return Optional.ofNullable(this.netIpv4NeighDefaultGcThresh1);
    }

    /**
     * The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="netIpv4NeighDefaultGcThresh2")
    private @Nullable Output<Integer> netIpv4NeighDefaultGcThresh2;

    /**
     * @return The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. Changing this forces a new resource to be created.
     * 
     */
    public Optional<Output<Integer>> netIpv4NeighDefaultGcThresh2() {
        return Optional.ofNullable(this.netIpv4NeighDefaultGcThresh2);
    }

    /**
     * The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="netIpv4NeighDefaultGcThresh3")
    private @Nullable Output<Integer> netIpv4NeighDefaultGcThresh3;

    /**
     * @return The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. Changing this forces a new resource to be created.
     * 
     */
    public Optional<Output<Integer>> netIpv4NeighDefaultGcThresh3() {
        return Optional.ofNullable(this.netIpv4NeighDefaultGcThresh3);
    }

    /**
     * The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="netIpv4TcpFinTimeout")
    private @Nullable Output<Integer> netIpv4TcpFinTimeout;

    /**
     * @return The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. Changing this forces a new resource to be created.
     * 
     */
    public Optional<Output<Integer>> netIpv4TcpFinTimeout() {
        return Optional.ofNullable(this.netIpv4TcpFinTimeout);
    }

    /**
     * The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `75`. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="netIpv4TcpKeepaliveIntvl")
    private @Nullable Output<Integer> netIpv4TcpKeepaliveIntvl;

    /**
     * @return The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `75`. Changing this forces a new resource to be created.
     * 
     */
    public Optional<Output<Integer>> netIpv4TcpKeepaliveIntvl() {
        return Optional.ofNullable(this.netIpv4TcpKeepaliveIntvl);
    }

    /**
     * The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="netIpv4TcpKeepaliveProbes")
    private @Nullable Output<Integer> netIpv4TcpKeepaliveProbes;

    /**
     * @return The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. Changing this forces a new resource to be created.
     * 
     */
    public Optional<Output<Integer>> netIpv4TcpKeepaliveProbes() {
        return Optional.ofNullable(this.netIpv4TcpKeepaliveProbes);
    }

    /**
     * The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="netIpv4TcpKeepaliveTime")
    private @Nullable Output<Integer> netIpv4TcpKeepaliveTime;

    /**
     * @return The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. Changing this forces a new resource to be created.
     * 
     */
    public Optional<Output<Integer>> netIpv4TcpKeepaliveTime() {
        return Optional.ofNullable(this.netIpv4TcpKeepaliveTime);
    }

    /**
     * The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="netIpv4TcpMaxSynBacklog")
    private @Nullable Output<Integer> netIpv4TcpMaxSynBacklog;

    /**
     * @return The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. Changing this forces a new resource to be created.
     * 
     */
    public Optional<Output<Integer>> netIpv4TcpMaxSynBacklog() {
        return Optional.ofNullable(this.netIpv4TcpMaxSynBacklog);
    }

    /**
     * The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="netIpv4TcpMaxTwBuckets")
    private @Nullable Output<Integer> netIpv4TcpMaxTwBuckets;

    /**
     * @return The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. Changing this forces a new resource to be created.
     * 
     */
    public Optional<Output<Integer>> netIpv4TcpMaxTwBuckets() {
        return Optional.ofNullable(this.netIpv4TcpMaxTwBuckets);
    }

    /**
     * Is sysctl setting net.ipv4.tcp_tw_reuse enabled? Changing this forces a new resource to be created.
     * 
     */
    @Import(name="netIpv4TcpTwReuse")
    private @Nullable Output<Boolean> netIpv4TcpTwReuse;

    /**
     * @return Is sysctl setting net.ipv4.tcp_tw_reuse enabled? Changing this forces a new resource to be created.
     * 
     */
    public Optional<Output<Boolean>> netIpv4TcpTwReuse() {
        return Optional.ofNullable(this.netIpv4TcpTwReuse);
    }

    /**
     * The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `147456`. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="netNetfilterNfConntrackBuckets")
    private @Nullable Output<Integer> netNetfilterNfConntrackBuckets;

    /**
     * @return The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `147456`. Changing this forces a new resource to be created.
     * 
     */
    public Optional<Output<Integer>> netNetfilterNfConntrackBuckets() {
        return Optional.ofNullable(this.netNetfilterNfConntrackBuckets);
    }

    /**
     * The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `1048576`. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="netNetfilterNfConntrackMax")
    private @Nullable Output<Integer> netNetfilterNfConntrackMax;

    /**
     * @return The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `1048576`. Changing this forces a new resource to be created.
     * 
     */
    public Optional<Output<Integer>> netNetfilterNfConntrackMax() {
        return Optional.ofNullable(this.netNetfilterNfConntrackMax);
    }

    /**
     * The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="vmMaxMapCount")
    private @Nullable Output<Integer> vmMaxMapCount;

    /**
     * @return The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. Changing this forces a new resource to be created.
     * 
     */
    public Optional<Output<Integer>> vmMaxMapCount() {
        return Optional.ofNullable(this.vmMaxMapCount);
    }

    /**
     * The sysctl setting vm.swappiness. Must be between `0` and `100`. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="vmSwappiness")
    private @Nullable Output<Integer> vmSwappiness;

    /**
     * @return The sysctl setting vm.swappiness. Must be between `0` and `100`. Changing this forces a new resource to be created.
     * 
     */
    public Optional<Output<Integer>> vmSwappiness() {
        return Optional.ofNullable(this.vmSwappiness);
    }

    /**
     * The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="vmVfsCachePressure")
    private @Nullable Output<Integer> vmVfsCachePressure;

    /**
     * @return The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. Changing this forces a new resource to be created.
     * 
     */
    public Optional<Output<Integer>> vmVfsCachePressure() {
        return Optional.ofNullable(this.vmVfsCachePressure);
    }

    private KubernetesClusterNodePoolLinuxOsConfigSysctlConfigArgs() {}

    private KubernetesClusterNodePoolLinuxOsConfigSysctlConfigArgs(KubernetesClusterNodePoolLinuxOsConfigSysctlConfigArgs $) {
        this.fsAioMaxNr = $.fsAioMaxNr;
        this.fsFileMax = $.fsFileMax;
        this.fsInotifyMaxUserWatches = $.fsInotifyMaxUserWatches;
        this.fsNrOpen = $.fsNrOpen;
        this.kernelThreadsMax = $.kernelThreadsMax;
        this.netCoreNetdevMaxBacklog = $.netCoreNetdevMaxBacklog;
        this.netCoreOptmemMax = $.netCoreOptmemMax;
        this.netCoreRmemDefault = $.netCoreRmemDefault;
        this.netCoreRmemMax = $.netCoreRmemMax;
        this.netCoreSomaxconn = $.netCoreSomaxconn;
        this.netCoreWmemDefault = $.netCoreWmemDefault;
        this.netCoreWmemMax = $.netCoreWmemMax;
        this.netIpv4IpLocalPortRangeMax = $.netIpv4IpLocalPortRangeMax;
        this.netIpv4IpLocalPortRangeMin = $.netIpv4IpLocalPortRangeMin;
        this.netIpv4NeighDefaultGcThresh1 = $.netIpv4NeighDefaultGcThresh1;
        this.netIpv4NeighDefaultGcThresh2 = $.netIpv4NeighDefaultGcThresh2;
        this.netIpv4NeighDefaultGcThresh3 = $.netIpv4NeighDefaultGcThresh3;
        this.netIpv4TcpFinTimeout = $.netIpv4TcpFinTimeout;
        this.netIpv4TcpKeepaliveIntvl = $.netIpv4TcpKeepaliveIntvl;
        this.netIpv4TcpKeepaliveProbes = $.netIpv4TcpKeepaliveProbes;
        this.netIpv4TcpKeepaliveTime = $.netIpv4TcpKeepaliveTime;
        this.netIpv4TcpMaxSynBacklog = $.netIpv4TcpMaxSynBacklog;
        this.netIpv4TcpMaxTwBuckets = $.netIpv4TcpMaxTwBuckets;
        this.netIpv4TcpTwReuse = $.netIpv4TcpTwReuse;
        this.netNetfilterNfConntrackBuckets = $.netNetfilterNfConntrackBuckets;
        this.netNetfilterNfConntrackMax = $.netNetfilterNfConntrackMax;
        this.vmMaxMapCount = $.vmMaxMapCount;
        this.vmSwappiness = $.vmSwappiness;
        this.vmVfsCachePressure = $.vmVfsCachePressure;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(KubernetesClusterNodePoolLinuxOsConfigSysctlConfigArgs defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private KubernetesClusterNodePoolLinuxOsConfigSysctlConfigArgs $;

        public Builder() {
            $ = new KubernetesClusterNodePoolLinuxOsConfigSysctlConfigArgs();
        }

        public Builder(KubernetesClusterNodePoolLinuxOsConfigSysctlConfigArgs defaults) {
            $ = new KubernetesClusterNodePoolLinuxOsConfigSysctlConfigArgs(Objects.requireNonNull(defaults));
        }

        /**
         * @param fsAioMaxNr The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder fsAioMaxNr(@Nullable Output<Integer> fsAioMaxNr) {
            $.fsAioMaxNr = fsAioMaxNr;
            return this;
        }

        /**
         * @param fsAioMaxNr The sysctl setting fs.aio-max-nr. Must be between `65536` and `6553500`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder fsAioMaxNr(Integer fsAioMaxNr) {
            return fsAioMaxNr(Output.of(fsAioMaxNr));
        }

        /**
         * @param fsFileMax The sysctl setting fs.file-max. Must be between `8192` and `12000500`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder fsFileMax(@Nullable Output<Integer> fsFileMax) {
            $.fsFileMax = fsFileMax;
            return this;
        }

        /**
         * @param fsFileMax The sysctl setting fs.file-max. Must be between `8192` and `12000500`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder fsFileMax(Integer fsFileMax) {
            return fsFileMax(Output.of(fsFileMax));
        }

        /**
         * @param fsInotifyMaxUserWatches The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder fsInotifyMaxUserWatches(@Nullable Output<Integer> fsInotifyMaxUserWatches) {
            $.fsInotifyMaxUserWatches = fsInotifyMaxUserWatches;
            return this;
        }

        /**
         * @param fsInotifyMaxUserWatches The sysctl setting fs.inotify.max_user_watches. Must be between `781250` and `2097152`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder fsInotifyMaxUserWatches(Integer fsInotifyMaxUserWatches) {
            return fsInotifyMaxUserWatches(Output.of(fsInotifyMaxUserWatches));
        }

        /**
         * @param fsNrOpen The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder fsNrOpen(@Nullable Output<Integer> fsNrOpen) {
            $.fsNrOpen = fsNrOpen;
            return this;
        }

        /**
         * @param fsNrOpen The sysctl setting fs.nr_open. Must be between `8192` and `20000500`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder fsNrOpen(Integer fsNrOpen) {
            return fsNrOpen(Output.of(fsNrOpen));
        }

        /**
         * @param kernelThreadsMax The sysctl setting kernel.threads-max. Must be between `20` and `513785`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder kernelThreadsMax(@Nullable Output<Integer> kernelThreadsMax) {
            $.kernelThreadsMax = kernelThreadsMax;
            return this;
        }

        /**
         * @param kernelThreadsMax The sysctl setting kernel.threads-max. Must be between `20` and `513785`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder kernelThreadsMax(Integer kernelThreadsMax) {
            return kernelThreadsMax(Output.of(kernelThreadsMax));
        }

        /**
         * @param netCoreNetdevMaxBacklog The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder netCoreNetdevMaxBacklog(@Nullable Output<Integer> netCoreNetdevMaxBacklog) {
            $.netCoreNetdevMaxBacklog = netCoreNetdevMaxBacklog;
            return this;
        }

        /**
         * @param netCoreNetdevMaxBacklog The sysctl setting net.core.netdev_max_backlog. Must be between `1000` and `3240000`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder netCoreNetdevMaxBacklog(Integer netCoreNetdevMaxBacklog) {
            return netCoreNetdevMaxBacklog(Output.of(netCoreNetdevMaxBacklog));
        }

        /**
         * @param netCoreOptmemMax The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder netCoreOptmemMax(@Nullable Output<Integer> netCoreOptmemMax) {
            $.netCoreOptmemMax = netCoreOptmemMax;
            return this;
        }

        /**
         * @param netCoreOptmemMax The sysctl setting net.core.optmem_max. Must be between `20480` and `4194304`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder netCoreOptmemMax(Integer netCoreOptmemMax) {
            return netCoreOptmemMax(Output.of(netCoreOptmemMax));
        }

        /**
         * @param netCoreRmemDefault The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder netCoreRmemDefault(@Nullable Output<Integer> netCoreRmemDefault) {
            $.netCoreRmemDefault = netCoreRmemDefault;
            return this;
        }

        /**
         * @param netCoreRmemDefault The sysctl setting net.core.rmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder netCoreRmemDefault(Integer netCoreRmemDefault) {
            return netCoreRmemDefault(Output.of(netCoreRmemDefault));
        }

        /**
         * @param netCoreRmemMax The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder netCoreRmemMax(@Nullable Output<Integer> netCoreRmemMax) {
            $.netCoreRmemMax = netCoreRmemMax;
            return this;
        }

        /**
         * @param netCoreRmemMax The sysctl setting net.core.rmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder netCoreRmemMax(Integer netCoreRmemMax) {
            return netCoreRmemMax(Output.of(netCoreRmemMax));
        }

        /**
         * @param netCoreSomaxconn The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder netCoreSomaxconn(@Nullable Output<Integer> netCoreSomaxconn) {
            $.netCoreSomaxconn = netCoreSomaxconn;
            return this;
        }

        /**
         * @param netCoreSomaxconn The sysctl setting net.core.somaxconn. Must be between `4096` and `3240000`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder netCoreSomaxconn(Integer netCoreSomaxconn) {
            return netCoreSomaxconn(Output.of(netCoreSomaxconn));
        }

        /**
         * @param netCoreWmemDefault The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder netCoreWmemDefault(@Nullable Output<Integer> netCoreWmemDefault) {
            $.netCoreWmemDefault = netCoreWmemDefault;
            return this;
        }

        /**
         * @param netCoreWmemDefault The sysctl setting net.core.wmem_default. Must be between `212992` and `134217728`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder netCoreWmemDefault(Integer netCoreWmemDefault) {
            return netCoreWmemDefault(Output.of(netCoreWmemDefault));
        }

        /**
         * @param netCoreWmemMax The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder netCoreWmemMax(@Nullable Output<Integer> netCoreWmemMax) {
            $.netCoreWmemMax = netCoreWmemMax;
            return this;
        }

        /**
         * @param netCoreWmemMax The sysctl setting net.core.wmem_max. Must be between `212992` and `134217728`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder netCoreWmemMax(Integer netCoreWmemMax) {
            return netCoreWmemMax(Output.of(netCoreWmemMax));
        }

        /**
         * @param netIpv4IpLocalPortRangeMax The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `1024` and `60999`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder netIpv4IpLocalPortRangeMax(@Nullable Output<Integer> netIpv4IpLocalPortRangeMax) {
            $.netIpv4IpLocalPortRangeMax = netIpv4IpLocalPortRangeMax;
            return this;
        }

        /**
         * @param netIpv4IpLocalPortRangeMax The sysctl setting net.ipv4.ip_local_port_range max value. Must be between `1024` and `60999`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder netIpv4IpLocalPortRangeMax(Integer netIpv4IpLocalPortRangeMax) {
            return netIpv4IpLocalPortRangeMax(Output.of(netIpv4IpLocalPortRangeMax));
        }

        /**
         * @param netIpv4IpLocalPortRangeMin The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder netIpv4IpLocalPortRangeMin(@Nullable Output<Integer> netIpv4IpLocalPortRangeMin) {
            $.netIpv4IpLocalPortRangeMin = netIpv4IpLocalPortRangeMin;
            return this;
        }

        /**
         * @param netIpv4IpLocalPortRangeMin The sysctl setting net.ipv4.ip_local_port_range min value. Must be between `1024` and `60999`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder netIpv4IpLocalPortRangeMin(Integer netIpv4IpLocalPortRangeMin) {
            return netIpv4IpLocalPortRangeMin(Output.of(netIpv4IpLocalPortRangeMin));
        }

        /**
         * @param netIpv4NeighDefaultGcThresh1 The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder netIpv4NeighDefaultGcThresh1(@Nullable Output<Integer> netIpv4NeighDefaultGcThresh1) {
            $.netIpv4NeighDefaultGcThresh1 = netIpv4NeighDefaultGcThresh1;
            return this;
        }

        /**
         * @param netIpv4NeighDefaultGcThresh1 The sysctl setting net.ipv4.neigh.default.gc_thresh1. Must be between `128` and `80000`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder netIpv4NeighDefaultGcThresh1(Integer netIpv4NeighDefaultGcThresh1) {
            return netIpv4NeighDefaultGcThresh1(Output.of(netIpv4NeighDefaultGcThresh1));
        }

        /**
         * @param netIpv4NeighDefaultGcThresh2 The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder netIpv4NeighDefaultGcThresh2(@Nullable Output<Integer> netIpv4NeighDefaultGcThresh2) {
            $.netIpv4NeighDefaultGcThresh2 = netIpv4NeighDefaultGcThresh2;
            return this;
        }

        /**
         * @param netIpv4NeighDefaultGcThresh2 The sysctl setting net.ipv4.neigh.default.gc_thresh2. Must be between `512` and `90000`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder netIpv4NeighDefaultGcThresh2(Integer netIpv4NeighDefaultGcThresh2) {
            return netIpv4NeighDefaultGcThresh2(Output.of(netIpv4NeighDefaultGcThresh2));
        }

        /**
         * @param netIpv4NeighDefaultGcThresh3 The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder netIpv4NeighDefaultGcThresh3(@Nullable Output<Integer> netIpv4NeighDefaultGcThresh3) {
            $.netIpv4NeighDefaultGcThresh3 = netIpv4NeighDefaultGcThresh3;
            return this;
        }

        /**
         * @param netIpv4NeighDefaultGcThresh3 The sysctl setting net.ipv4.neigh.default.gc_thresh3. Must be between `1024` and `100000`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder netIpv4NeighDefaultGcThresh3(Integer netIpv4NeighDefaultGcThresh3) {
            return netIpv4NeighDefaultGcThresh3(Output.of(netIpv4NeighDefaultGcThresh3));
        }

        /**
         * @param netIpv4TcpFinTimeout The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder netIpv4TcpFinTimeout(@Nullable Output<Integer> netIpv4TcpFinTimeout) {
            $.netIpv4TcpFinTimeout = netIpv4TcpFinTimeout;
            return this;
        }

        /**
         * @param netIpv4TcpFinTimeout The sysctl setting net.ipv4.tcp_fin_timeout. Must be between `5` and `120`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder netIpv4TcpFinTimeout(Integer netIpv4TcpFinTimeout) {
            return netIpv4TcpFinTimeout(Output.of(netIpv4TcpFinTimeout));
        }

        /**
         * @param netIpv4TcpKeepaliveIntvl The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `75`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder netIpv4TcpKeepaliveIntvl(@Nullable Output<Integer> netIpv4TcpKeepaliveIntvl) {
            $.netIpv4TcpKeepaliveIntvl = netIpv4TcpKeepaliveIntvl;
            return this;
        }

        /**
         * @param netIpv4TcpKeepaliveIntvl The sysctl setting net.ipv4.tcp_keepalive_intvl. Must be between `10` and `75`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder netIpv4TcpKeepaliveIntvl(Integer netIpv4TcpKeepaliveIntvl) {
            return netIpv4TcpKeepaliveIntvl(Output.of(netIpv4TcpKeepaliveIntvl));
        }

        /**
         * @param netIpv4TcpKeepaliveProbes The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder netIpv4TcpKeepaliveProbes(@Nullable Output<Integer> netIpv4TcpKeepaliveProbes) {
            $.netIpv4TcpKeepaliveProbes = netIpv4TcpKeepaliveProbes;
            return this;
        }

        /**
         * @param netIpv4TcpKeepaliveProbes The sysctl setting net.ipv4.tcp_keepalive_probes. Must be between `1` and `15`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder netIpv4TcpKeepaliveProbes(Integer netIpv4TcpKeepaliveProbes) {
            return netIpv4TcpKeepaliveProbes(Output.of(netIpv4TcpKeepaliveProbes));
        }

        /**
         * @param netIpv4TcpKeepaliveTime The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder netIpv4TcpKeepaliveTime(@Nullable Output<Integer> netIpv4TcpKeepaliveTime) {
            $.netIpv4TcpKeepaliveTime = netIpv4TcpKeepaliveTime;
            return this;
        }

        /**
         * @param netIpv4TcpKeepaliveTime The sysctl setting net.ipv4.tcp_keepalive_time. Must be between `30` and `432000`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder netIpv4TcpKeepaliveTime(Integer netIpv4TcpKeepaliveTime) {
            return netIpv4TcpKeepaliveTime(Output.of(netIpv4TcpKeepaliveTime));
        }

        /**
         * @param netIpv4TcpMaxSynBacklog The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder netIpv4TcpMaxSynBacklog(@Nullable Output<Integer> netIpv4TcpMaxSynBacklog) {
            $.netIpv4TcpMaxSynBacklog = netIpv4TcpMaxSynBacklog;
            return this;
        }

        /**
         * @param netIpv4TcpMaxSynBacklog The sysctl setting net.ipv4.tcp_max_syn_backlog. Must be between `128` and `3240000`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder netIpv4TcpMaxSynBacklog(Integer netIpv4TcpMaxSynBacklog) {
            return netIpv4TcpMaxSynBacklog(Output.of(netIpv4TcpMaxSynBacklog));
        }

        /**
         * @param netIpv4TcpMaxTwBuckets The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder netIpv4TcpMaxTwBuckets(@Nullable Output<Integer> netIpv4TcpMaxTwBuckets) {
            $.netIpv4TcpMaxTwBuckets = netIpv4TcpMaxTwBuckets;
            return this;
        }

        /**
         * @param netIpv4TcpMaxTwBuckets The sysctl setting net.ipv4.tcp_max_tw_buckets. Must be between `8000` and `1440000`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder netIpv4TcpMaxTwBuckets(Integer netIpv4TcpMaxTwBuckets) {
            return netIpv4TcpMaxTwBuckets(Output.of(netIpv4TcpMaxTwBuckets));
        }

        /**
         * @param netIpv4TcpTwReuse Is sysctl setting net.ipv4.tcp_tw_reuse enabled? Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder netIpv4TcpTwReuse(@Nullable Output<Boolean> netIpv4TcpTwReuse) {
            $.netIpv4TcpTwReuse = netIpv4TcpTwReuse;
            return this;
        }

        /**
         * @param netIpv4TcpTwReuse Is sysctl setting net.ipv4.tcp_tw_reuse enabled? Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder netIpv4TcpTwReuse(Boolean netIpv4TcpTwReuse) {
            return netIpv4TcpTwReuse(Output.of(netIpv4TcpTwReuse));
        }

        /**
         * @param netNetfilterNfConntrackBuckets The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `147456`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder netNetfilterNfConntrackBuckets(@Nullable Output<Integer> netNetfilterNfConntrackBuckets) {
            $.netNetfilterNfConntrackBuckets = netNetfilterNfConntrackBuckets;
            return this;
        }

        /**
         * @param netNetfilterNfConntrackBuckets The sysctl setting net.netfilter.nf_conntrack_buckets. Must be between `65536` and `147456`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder netNetfilterNfConntrackBuckets(Integer netNetfilterNfConntrackBuckets) {
            return netNetfilterNfConntrackBuckets(Output.of(netNetfilterNfConntrackBuckets));
        }

        /**
         * @param netNetfilterNfConntrackMax The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `1048576`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder netNetfilterNfConntrackMax(@Nullable Output<Integer> netNetfilterNfConntrackMax) {
            $.netNetfilterNfConntrackMax = netNetfilterNfConntrackMax;
            return this;
        }

        /**
         * @param netNetfilterNfConntrackMax The sysctl setting net.netfilter.nf_conntrack_max. Must be between `131072` and `1048576`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder netNetfilterNfConntrackMax(Integer netNetfilterNfConntrackMax) {
            return netNetfilterNfConntrackMax(Output.of(netNetfilterNfConntrackMax));
        }

        /**
         * @param vmMaxMapCount The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder vmMaxMapCount(@Nullable Output<Integer> vmMaxMapCount) {
            $.vmMaxMapCount = vmMaxMapCount;
            return this;
        }

        /**
         * @param vmMaxMapCount The sysctl setting vm.max_map_count. Must be between `65530` and `262144`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder vmMaxMapCount(Integer vmMaxMapCount) {
            return vmMaxMapCount(Output.of(vmMaxMapCount));
        }

        /**
         * @param vmSwappiness The sysctl setting vm.swappiness. Must be between `0` and `100`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder vmSwappiness(@Nullable Output<Integer> vmSwappiness) {
            $.vmSwappiness = vmSwappiness;
            return this;
        }

        /**
         * @param vmSwappiness The sysctl setting vm.swappiness. Must be between `0` and `100`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder vmSwappiness(Integer vmSwappiness) {
            return vmSwappiness(Output.of(vmSwappiness));
        }

        /**
         * @param vmVfsCachePressure The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder vmVfsCachePressure(@Nullable Output<Integer> vmVfsCachePressure) {
            $.vmVfsCachePressure = vmVfsCachePressure;
            return this;
        }

        /**
         * @param vmVfsCachePressure The sysctl setting vm.vfs_cache_pressure. Must be between `0` and `100`. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder vmVfsCachePressure(Integer vmVfsCachePressure) {
            return vmVfsCachePressure(Output.of(vmVfsCachePressure));
        }

        public KubernetesClusterNodePoolLinuxOsConfigSysctlConfigArgs build() {
            return $;
        }
    }

}
