<gh_stars>0// *** 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;

namespace Pulumi.Kops.Inputs
{

    public sealed class ClusterClusterAutoscalerArgs : global::Pulumi.ResourceArgs
    {
        [Input("awsUseStaticInstanceList")]
        public Input<bool>? AwsUseStaticInstanceList { get; set; }

        [Input("balanceSimilarNodeGroups")]
        public Input<bool>? BalanceSimilarNodeGroups { get; set; }

        [Input("cordonNodeBeforeTerminating")]
        public Input<bool>? CordonNodeBeforeTerminating { get; set; }

        [Input("cpuRequest")]
        public Input<string>? CpuRequest { get; set; }

        [Input("enabled")]
        public Input<bool>? Enabled { get; set; }

        [Input("expander")]
        public Input<string>? Expander { get; set; }

        [Input("image")]
        public Input<string>? Image { get; set; }

        [Input("maxNodeProvisionTime")]
        public Input<string>? MaxNodeProvisionTime { get; set; }

        [Input("memoryRequest")]
        public Input<string>? MemoryRequest { get; set; }

        [Input("newPodScaleUpDelay")]
        public Input<string>? NewPodScaleUpDelay { get; set; }

        [Input("podAnnotations")]
        private InputMap<string>? _podAnnotations;
        public InputMap<string> PodAnnotations
        {
            get => _podAnnotations ?? (_podAnnotations = new InputMap<string>());
            set => _podAnnotations = value;
        }

        [Input("scaleDownDelayAfterAdd")]
        public Input<string>? ScaleDownDelayAfterAdd { get; set; }

        [Input("scaleDownUnneededTime")]
        public Input<string>? ScaleDownUnneededTime { get; set; }

        [Input("scaleDownUnreadyTime")]
        public Input<string>? ScaleDownUnreadyTime { get; set; }

        [Input("scaleDownUtilizationThreshold")]
        public Input<string>? ScaleDownUtilizationThreshold { get; set; }

        [Input("skipNodesWithLocalStorage", required: true)]
        public Input<bool> SkipNodesWithLocalStorage { get; set; } = null!;

        [Input("skipNodesWithSystemPods", required: true)]
        public Input<bool> SkipNodesWithSystemPods { get; set; } = null!;

        public ClusterClusterAutoscalerArgs()
        {
        }
        public static new ClusterClusterAutoscalerArgs Empty => new ClusterClusterAutoscalerArgs();
    }
}
