// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
// *** 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;
using Pulumi;

namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Kubernetes.Inputs
{

    public sealed class ClusterNodePoolGlobalConfigArgs : Pulumi.ResourceArgs
    {
        /// <summary>
        /// Indicates which scale-out method will be used when there are multiple scaling groups. Valid values: `random` - select a random scaling group, `most-pods` - select the scaling group that can schedule the most pods, `least-waste` - select the scaling group that can ensure the fewest remaining resources after Pod scheduling.
        /// </summary>
        [Input("expander")]
        public Input<string>? Expander { get; set; }

        /// <summary>
        /// Whether to ignore DaemonSet pods by default when calculating resource usage.
        /// </summary>
        [Input("ignoreDaemonSetsUtilization")]
        public Input<bool>? IgnoreDaemonSetsUtilization { get; set; }

        /// <summary>
        /// Indicates whether to enable scale-in.
        /// </summary>
        [Input("isScaleInEnabled")]
        public Input<bool>? IsScaleInEnabled { get; set; }

        /// <summary>
        /// Max concurrent scale-in volume.
        /// </summary>
        [Input("maxConcurrentScaleIn")]
        public Input<int>? MaxConcurrentScaleIn { get; set; }

        /// <summary>
        /// Number of minutes after cluster scale-out when the system starts judging whether to perform scale-in.
        /// </summary>
        [Input("scaleInDelay")]
        public Input<int>? ScaleInDelay { get; set; }

        /// <summary>
        /// Number of consecutive minutes of idleness after which the node is subject to scale-in.
        /// </summary>
        [Input("scaleInUnneededTime")]
        public Input<int>? ScaleInUnneededTime { get; set; }

        /// <summary>
        /// Percentage of node resource usage below which the node is considered to be idle.
        /// </summary>
        [Input("scaleInUtilizationThreshold")]
        public Input<int>? ScaleInUtilizationThreshold { get; set; }

        /// <summary>
        /// During scale-in, ignore nodes with local storage pods.
        /// </summary>
        [Input("skipNodesWithLocalStorage")]
        public Input<bool>? SkipNodesWithLocalStorage { get; set; }

        /// <summary>
        /// During scale-in, ignore nodes with pods in the kube-system namespace that are not managed by DaemonSet.
        /// </summary>
        [Input("skipNodesWithSystemPods")]
        public Input<bool>? SkipNodesWithSystemPods { get; set; }

        public ClusterNodePoolGlobalConfigArgs()
        {
        }
    }
}
