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

    public sealed class DdosPolicyDdosRuleAntiPlyArgs : Pulumi.ResourceArgs
    {
        /// <summary>
        /// Abnormal connections threshold. Valid value range: 0-4294967295.
        /// </summary>
        [Input("abnormalConnectNum", required: true)]
        public Input<int> AbnormalConnectNum { get; set; } = null!;

        /// <summary>
        /// Abnormal syn packet number threshold. Valid value range: 0-65535.
        /// </summary>
        [Input("abnormalSynNum", required: true)]
        public Input<int> AbnormalSynNum { get; set; } = null!;

        /// <summary>
        /// Abnormal syn packet ratio threshold. Valid value range: 0-100.
        /// </summary>
        [Input("abnormalSynRatio", required: true)]
        public Input<int> AbnormalSynRatio { get; set; } = null!;

        /// <summary>
        /// Connection timeout detection per second. Valid value range: 0-65535.
        /// </summary>
        [Input("connectTimeout", required: true)]
        public Input<int> ConnectTimeout { get; set; } = null!;

        /// <summary>
        /// Limitation of connections to dest port. Valid value range: 0-4294967295.
        /// </summary>
        [Input("destinationConnectLimit", required: true)]
        public Input<int> DestinationConnectLimit { get; set; } = null!;

        /// <summary>
        /// Limitation of new connection to dest port per second. Valid value range: 0-4294967295.
        /// </summary>
        [Input("destinationCreateLimit", required: true)]
        public Input<int> DestinationCreateLimit { get; set; } = null!;

        /// <summary>
        /// Block ICMP protocol. Valid values: `on`, `off`.
        /// </summary>
        [Input("dropIcmp", required: true)]
        public Input<string> DropIcmp { get; set; } = null!;

        /// <summary>
        /// Block other protocols. Valid values: `on`, `off`.
        /// </summary>
        [Input("dropOther", required: true)]
        public Input<string> DropOther { get; set; } = null!;

        /// <summary>
        /// Block TCP protocol. Valid values: `on`, `off`.
        /// </summary>
        [Input("dropTcp", required: true)]
        public Input<string> DropTcp { get; set; } = null!;

        /// <summary>
        /// Block UDP protocol. Valid values: `on`, `off`.
        /// </summary>
        [Input("dropUdp", required: true)]
        public Input<string> DropUdp { get; set; } = null!;

        /// <summary>
        /// Empty connection protection switch. Valid values: `on`, `off`.
        /// </summary>
        [Input("emptyConnectProtect", required: true)]
        public Input<string> EmptyConnectProtect { get; set; } = null!;

        /// <summary>
        /// Limitation of connections to origin site. Valid value range: 0-4294967295.
        /// </summary>
        [Input("sourceConnectLimit", required: true)]
        public Input<int> SourceConnectLimit { get; set; } = null!;

        /// <summary>
        /// Limitation of new connection to origin site per second. Valid value range: 0-4294967295.
        /// </summary>
        [Input("sourceCreateLimit", required: true)]
        public Input<int> SourceCreateLimit { get; set; } = null!;

        /// <summary>
        /// UDP shard protection switch. Valid values: `on`, `off`.
        /// </summary>
        [Input("udpShard")]
        public Input<string>? UdpShard { get; set; }

        public DdosPolicyDdosRuleAntiPlyArgs()
        {
        }
    }
}
