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

    public sealed class L4RuleV2RulesArgs : Pulumi.ResourceArgs
    {
        [Input("keepEnable", required: true)]
        public Input<bool> KeepEnable { get; set; } = null!;

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

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

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

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

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

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

        [Input("sourceLists", required: true)]
        private InputList<Inputs.L4RuleV2RulesSourceListArgs>? _sourceLists;
        public InputList<Inputs.L4RuleV2RulesSourceListArgs> SourceLists
        {
            get => _sourceLists ?? (_sourceLists = new InputList<Inputs.L4RuleV2RulesSourceListArgs>());
            set => _sourceLists = value;
        }

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

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

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

        public L4RuleV2RulesArgs()
        {
        }
    }
}
