// *** 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.Tctest.Tke.Inputs
{

    public sealed class AsScalingGroupAutoScalingGroupArgs : Pulumi.ResourceArgs
    {
        [Input("defaultCooldown")]
        public Input<int>? DefaultCooldown { get; set; }

        [Input("desiredCapacity")]
        public Input<int>? DesiredCapacity { get; set; }

        [Input("forwardBalancerIds")]
        private InputList<Inputs.AsScalingGroupAutoScalingGroupForwardBalancerIdArgs>? _forwardBalancerIds;
        public InputList<Inputs.AsScalingGroupAutoScalingGroupForwardBalancerIdArgs> ForwardBalancerIds
        {
            get => _forwardBalancerIds ?? (_forwardBalancerIds = new InputList<Inputs.AsScalingGroupAutoScalingGroupForwardBalancerIdArgs>());
            set => _forwardBalancerIds = value;
        }

        [Input("loadBalancerIds")]
        private InputList<string>? _loadBalancerIds;
        public InputList<string> LoadBalancerIds
        {
            get => _loadBalancerIds ?? (_loadBalancerIds = new InputList<string>());
            set => _loadBalancerIds = value;
        }

        [Input("maxSize", required: true)]
        public Input<int> MaxSize { get; set; } = null!;

        [Input("minSize", required: true)]
        public Input<int> MinSize { get; set; } = null!;

        [Input("projectId")]
        public Input<int>? ProjectId { get; set; }

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

        [Input("scalingGroupName", required: true)]
        public Input<string> ScalingGroupName { get; set; } = null!;

        [Input("subnetIds")]
        private InputList<string>? _subnetIds;
        public InputList<string> SubnetIds
        {
            get => _subnetIds ?? (_subnetIds = new InputList<string>());
            set => _subnetIds = value;
        }

        [Input("tags")]
        private InputMap<object>? _tags;
        public InputMap<object> Tags
        {
            get => _tags ?? (_tags = new InputMap<object>());
            set => _tags = value;
        }

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

        [Input("vpcId", required: true)]
        public Input<string> VpcId { get; set; } = null!;

        [Input("zones")]
        private InputList<string>? _zones;
        public InputList<string> Zones
        {
            get => _zones ?? (_zones = new InputList<string>());
            set => _zones = value;
        }

        public AsScalingGroupAutoScalingGroupArgs()
        {
        }
    }
}
