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

com.pulumi.azurenative.containerservice.inputs.KubeletConfigArgs Maven / Gradle / Ivy

There is a newer version: 2.78.0
Show newest version
// *** 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.azurenative.containerservice.inputs;

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


/**
 * See [AKS custom node configuration](https://docs.microsoft.com/azure/aks/custom-node-configuration) for more details.
 * 
 */
public final class KubeletConfigArgs extends com.pulumi.resources.ResourceArgs {

    public static final KubeletConfigArgs Empty = new KubeletConfigArgs();

    /**
     * Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).
     * 
     */
    @Import(name="allowedUnsafeSysctls")
    private @Nullable Output> allowedUnsafeSysctls;

    /**
     * @return Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).
     * 
     */
    public Optional>> allowedUnsafeSysctls() {
        return Optional.ofNullable(this.allowedUnsafeSysctls);
    }

    /**
     * The maximum number of container log files that can be present for a container. The number must be ≥ 2.
     * 
     */
    @Import(name="containerLogMaxFiles")
    private @Nullable Output containerLogMaxFiles;

    /**
     * @return The maximum number of container log files that can be present for a container. The number must be ≥ 2.
     * 
     */
    public Optional> containerLogMaxFiles() {
        return Optional.ofNullable(this.containerLogMaxFiles);
    }

    /**
     * The maximum size (e.g. 10Mi) of container log file before it is rotated.
     * 
     */
    @Import(name="containerLogMaxSizeMB")
    private @Nullable Output containerLogMaxSizeMB;

    /**
     * @return The maximum size (e.g. 10Mi) of container log file before it is rotated.
     * 
     */
    public Optional> containerLogMaxSizeMB() {
        return Optional.ofNullable(this.containerLogMaxSizeMB);
    }

    /**
     * The default is true.
     * 
     */
    @Import(name="cpuCfsQuota")
    private @Nullable Output cpuCfsQuota;

    /**
     * @return The default is true.
     * 
     */
    public Optional> cpuCfsQuota() {
        return Optional.ofNullable(this.cpuCfsQuota);
    }

    /**
     * The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'.
     * 
     */
    @Import(name="cpuCfsQuotaPeriod")
    private @Nullable Output cpuCfsQuotaPeriod;

    /**
     * @return The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'.
     * 
     */
    public Optional> cpuCfsQuotaPeriod() {
        return Optional.ofNullable(this.cpuCfsQuotaPeriod);
    }

    /**
     * The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'.
     * 
     */
    @Import(name="cpuManagerPolicy")
    private @Nullable Output cpuManagerPolicy;

    /**
     * @return The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'.
     * 
     */
    public Optional> cpuManagerPolicy() {
        return Optional.ofNullable(this.cpuManagerPolicy);
    }

    /**
     * If set to true it will make the Kubelet fail to start if swap is enabled on the node.
     * 
     */
    @Import(name="failSwapOn")
    private @Nullable Output failSwapOn;

    /**
     * @return If set to true it will make the Kubelet fail to start if swap is enabled on the node.
     * 
     */
    public Optional> failSwapOn() {
        return Optional.ofNullable(this.failSwapOn);
    }

    /**
     * To disable image garbage collection, set to 100. The default is 85%
     * 
     */
    @Import(name="imageGcHighThreshold")
    private @Nullable Output imageGcHighThreshold;

    /**
     * @return To disable image garbage collection, set to 100. The default is 85%
     * 
     */
    public Optional> imageGcHighThreshold() {
        return Optional.ofNullable(this.imageGcHighThreshold);
    }

    /**
     * This cannot be set higher than imageGcHighThreshold. The default is 80%
     * 
     */
    @Import(name="imageGcLowThreshold")
    private @Nullable Output imageGcLowThreshold;

    /**
     * @return This cannot be set higher than imageGcHighThreshold. The default is 80%
     * 
     */
    public Optional> imageGcLowThreshold() {
        return Optional.ofNullable(this.imageGcLowThreshold);
    }

    /**
     * The maximum number of processes per pod.
     * 
     */
    @Import(name="podMaxPids")
    private @Nullable Output podMaxPids;

    /**
     * @return The maximum number of processes per pod.
     * 
     */
    public Optional> podMaxPids() {
        return Optional.ofNullable(this.podMaxPids);
    }

    /**
     * For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'.
     * 
     */
    @Import(name="topologyManagerPolicy")
    private @Nullable Output topologyManagerPolicy;

    /**
     * @return For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'.
     * 
     */
    public Optional> topologyManagerPolicy() {
        return Optional.ofNullable(this.topologyManagerPolicy);
    }

    private KubeletConfigArgs() {}

    private KubeletConfigArgs(KubeletConfigArgs $) {
        this.allowedUnsafeSysctls = $.allowedUnsafeSysctls;
        this.containerLogMaxFiles = $.containerLogMaxFiles;
        this.containerLogMaxSizeMB = $.containerLogMaxSizeMB;
        this.cpuCfsQuota = $.cpuCfsQuota;
        this.cpuCfsQuotaPeriod = $.cpuCfsQuotaPeriod;
        this.cpuManagerPolicy = $.cpuManagerPolicy;
        this.failSwapOn = $.failSwapOn;
        this.imageGcHighThreshold = $.imageGcHighThreshold;
        this.imageGcLowThreshold = $.imageGcLowThreshold;
        this.podMaxPids = $.podMaxPids;
        this.topologyManagerPolicy = $.topologyManagerPolicy;
    }

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

    public static final class Builder {
        private KubeletConfigArgs $;

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

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

        /**
         * @param allowedUnsafeSysctls Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).
         * 
         * @return builder
         * 
         */
        public Builder allowedUnsafeSysctls(@Nullable Output> allowedUnsafeSysctls) {
            $.allowedUnsafeSysctls = allowedUnsafeSysctls;
            return this;
        }

        /**
         * @param allowedUnsafeSysctls Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).
         * 
         * @return builder
         * 
         */
        public Builder allowedUnsafeSysctls(List allowedUnsafeSysctls) {
            return allowedUnsafeSysctls(Output.of(allowedUnsafeSysctls));
        }

        /**
         * @param allowedUnsafeSysctls Allowed list of unsafe sysctls or unsafe sysctl patterns (ending in `*`).
         * 
         * @return builder
         * 
         */
        public Builder allowedUnsafeSysctls(String... allowedUnsafeSysctls) {
            return allowedUnsafeSysctls(List.of(allowedUnsafeSysctls));
        }

        /**
         * @param containerLogMaxFiles The maximum number of container log files that can be present for a container. The number must be ≥ 2.
         * 
         * @return builder
         * 
         */
        public Builder containerLogMaxFiles(@Nullable Output containerLogMaxFiles) {
            $.containerLogMaxFiles = containerLogMaxFiles;
            return this;
        }

        /**
         * @param containerLogMaxFiles The maximum number of container log files that can be present for a container. The number must be ≥ 2.
         * 
         * @return builder
         * 
         */
        public Builder containerLogMaxFiles(Integer containerLogMaxFiles) {
            return containerLogMaxFiles(Output.of(containerLogMaxFiles));
        }

        /**
         * @param containerLogMaxSizeMB The maximum size (e.g. 10Mi) of container log file before it is rotated.
         * 
         * @return builder
         * 
         */
        public Builder containerLogMaxSizeMB(@Nullable Output containerLogMaxSizeMB) {
            $.containerLogMaxSizeMB = containerLogMaxSizeMB;
            return this;
        }

        /**
         * @param containerLogMaxSizeMB The maximum size (e.g. 10Mi) of container log file before it is rotated.
         * 
         * @return builder
         * 
         */
        public Builder containerLogMaxSizeMB(Integer containerLogMaxSizeMB) {
            return containerLogMaxSizeMB(Output.of(containerLogMaxSizeMB));
        }

        /**
         * @param cpuCfsQuota The default is true.
         * 
         * @return builder
         * 
         */
        public Builder cpuCfsQuota(@Nullable Output cpuCfsQuota) {
            $.cpuCfsQuota = cpuCfsQuota;
            return this;
        }

        /**
         * @param cpuCfsQuota The default is true.
         * 
         * @return builder
         * 
         */
        public Builder cpuCfsQuota(Boolean cpuCfsQuota) {
            return cpuCfsQuota(Output.of(cpuCfsQuota));
        }

        /**
         * @param cpuCfsQuotaPeriod The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'.
         * 
         * @return builder
         * 
         */
        public Builder cpuCfsQuotaPeriod(@Nullable Output cpuCfsQuotaPeriod) {
            $.cpuCfsQuotaPeriod = cpuCfsQuotaPeriod;
            return this;
        }

        /**
         * @param cpuCfsQuotaPeriod The default is '100ms.' Valid values are a sequence of decimal numbers with an optional fraction and a unit suffix. For example: '300ms', '2h45m'. Supported units are 'ns', 'us', 'ms', 's', 'm', and 'h'.
         * 
         * @return builder
         * 
         */
        public Builder cpuCfsQuotaPeriod(String cpuCfsQuotaPeriod) {
            return cpuCfsQuotaPeriod(Output.of(cpuCfsQuotaPeriod));
        }

        /**
         * @param cpuManagerPolicy The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'.
         * 
         * @return builder
         * 
         */
        public Builder cpuManagerPolicy(@Nullable Output cpuManagerPolicy) {
            $.cpuManagerPolicy = cpuManagerPolicy;
            return this;
        }

        /**
         * @param cpuManagerPolicy The default is 'none'. See [Kubernetes CPU management policies](https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/#cpu-management-policies) for more information. Allowed values are 'none' and 'static'.
         * 
         * @return builder
         * 
         */
        public Builder cpuManagerPolicy(String cpuManagerPolicy) {
            return cpuManagerPolicy(Output.of(cpuManagerPolicy));
        }

        /**
         * @param failSwapOn If set to true it will make the Kubelet fail to start if swap is enabled on the node.
         * 
         * @return builder
         * 
         */
        public Builder failSwapOn(@Nullable Output failSwapOn) {
            $.failSwapOn = failSwapOn;
            return this;
        }

        /**
         * @param failSwapOn If set to true it will make the Kubelet fail to start if swap is enabled on the node.
         * 
         * @return builder
         * 
         */
        public Builder failSwapOn(Boolean failSwapOn) {
            return failSwapOn(Output.of(failSwapOn));
        }

        /**
         * @param imageGcHighThreshold To disable image garbage collection, set to 100. The default is 85%
         * 
         * @return builder
         * 
         */
        public Builder imageGcHighThreshold(@Nullable Output imageGcHighThreshold) {
            $.imageGcHighThreshold = imageGcHighThreshold;
            return this;
        }

        /**
         * @param imageGcHighThreshold To disable image garbage collection, set to 100. The default is 85%
         * 
         * @return builder
         * 
         */
        public Builder imageGcHighThreshold(Integer imageGcHighThreshold) {
            return imageGcHighThreshold(Output.of(imageGcHighThreshold));
        }

        /**
         * @param imageGcLowThreshold This cannot be set higher than imageGcHighThreshold. The default is 80%
         * 
         * @return builder
         * 
         */
        public Builder imageGcLowThreshold(@Nullable Output imageGcLowThreshold) {
            $.imageGcLowThreshold = imageGcLowThreshold;
            return this;
        }

        /**
         * @param imageGcLowThreshold This cannot be set higher than imageGcHighThreshold. The default is 80%
         * 
         * @return builder
         * 
         */
        public Builder imageGcLowThreshold(Integer imageGcLowThreshold) {
            return imageGcLowThreshold(Output.of(imageGcLowThreshold));
        }

        /**
         * @param podMaxPids The maximum number of processes per pod.
         * 
         * @return builder
         * 
         */
        public Builder podMaxPids(@Nullable Output podMaxPids) {
            $.podMaxPids = podMaxPids;
            return this;
        }

        /**
         * @param podMaxPids The maximum number of processes per pod.
         * 
         * @return builder
         * 
         */
        public Builder podMaxPids(Integer podMaxPids) {
            return podMaxPids(Output.of(podMaxPids));
        }

        /**
         * @param topologyManagerPolicy For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'.
         * 
         * @return builder
         * 
         */
        public Builder topologyManagerPolicy(@Nullable Output topologyManagerPolicy) {
            $.topologyManagerPolicy = topologyManagerPolicy;
            return this;
        }

        /**
         * @param topologyManagerPolicy For more information see [Kubernetes Topology Manager](https://kubernetes.io/docs/tasks/administer-cluster/topology-manager). The default is 'none'. Allowed values are 'none', 'best-effort', 'restricted', and 'single-numa-node'.
         * 
         * @return builder
         * 
         */
        public Builder topologyManagerPolicy(String topologyManagerPolicy) {
            return topologyManagerPolicy(Output.of(topologyManagerPolicy));
        }

        public KubeletConfigArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy