// *** WARNING: this file was generated by the Pulumi SDK Generator. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;

namespace Pulumi.GoogleNative.Container.V1Beta1.Outputs
{

    /// <summary>
    /// Node kubelet configs.
    /// </summary>
    [OutputType]
    public sealed class NodeKubeletConfigResponse
    {
        /// <summary>
        /// Enable CPU CFS quota enforcement for containers that specify CPU limits. This option is enabled by default which makes kubelet use CFS quota (https://www.kernel.org/doc/Documentation/scheduler/sched-bwc.txt) to enforce container CPU limits. Otherwise, CPU limits will not be enforced at all. Disable this option to mitigate CPU throttling problems while still having your pods to be in Guaranteed QoS class by specifying the CPU limits. The default value is 'true' if unspecified.
        /// </summary>
        public readonly bool CpuCfsQuota;
        /// <summary>
        /// Set the CPU CFS quota period value 'cpu.cfs_period_us'. The string must be a sequence of decimal numbers, each with optional fraction and a unit suffix, such as "300ms". Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h". The value must be a positive duration.
        /// </summary>
        public readonly string CpuCfsQuotaPeriod;
        /// <summary>
        /// Control the CPU management policy on the node. See https://kubernetes.io/docs/tasks/administer-cluster/cpu-management-policies/ The following values are allowed. * "none": the default, which represents the existing scheduling behavior. * "static": allows pods with certain resource characteristics to be granted increased CPU affinity and exclusivity on the node. The default value is 'none' if unspecified.
        /// </summary>
        public readonly string CpuManagerPolicy;
        /// <summary>
        /// Set the Pod PID limits. See https://kubernetes.io/docs/concepts/policy/pid-limiting/#pod-pid-limits Controls the maximum number of processes allowed to run in a pod. The value must be greater than or equal to 1024 and less than 4194304.
        /// </summary>
        public readonly string PodPidsLimit;

        [OutputConstructor]
        private NodeKubeletConfigResponse(
            bool cpuCfsQuota,

            string cpuCfsQuotaPeriod,

            string cpuManagerPolicy,

            string podPidsLimit)
        {
            CpuCfsQuota = cpuCfsQuota;
            CpuCfsQuotaPeriod = cpuCfsQuotaPeriod;
            CpuManagerPolicy = cpuManagerPolicy;
            PodPidsLimit = podPidsLimit;
        }
    }
}
