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

    public sealed class NetworkSecurityRuleAppRuleInboundAllowListGetArgs : Pulumi.ResourceArgs
    {
        [Input("addressGroupInclusionLists")]
        private InputList<Inputs.NetworkSecurityRuleAppRuleInboundAllowListAddressGroupInclusionListGetArgs>? _addressGroupInclusionLists;
        public InputList<Inputs.NetworkSecurityRuleAppRuleInboundAllowListAddressGroupInclusionListGetArgs> AddressGroupInclusionLists
        {
            get => _addressGroupInclusionLists ?? (_addressGroupInclusionLists = new InputList<Inputs.NetworkSecurityRuleAppRuleInboundAllowListAddressGroupInclusionListGetArgs>());
            set => _addressGroupInclusionLists = value;
        }

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

        [Input("filterKindLists")]
        private InputList<string>? _filterKindLists;
        public InputList<string> FilterKindLists
        {
            get => _filterKindLists ?? (_filterKindLists = new InputList<string>());
            set => _filterKindLists = value;
        }

        [Input("filterParams")]
        private InputList<Inputs.NetworkSecurityRuleAppRuleInboundAllowListFilterParamGetArgs>? _filterParams;
        public InputList<Inputs.NetworkSecurityRuleAppRuleInboundAllowListFilterParamGetArgs> FilterParams
        {
            get => _filterParams ?? (_filterParams = new InputList<Inputs.NetworkSecurityRuleAppRuleInboundAllowListFilterParamGetArgs>());
            set => _filterParams = value;
        }

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

        [Input("icmpTypeCodeLists")]
        private InputList<Inputs.NetworkSecurityRuleAppRuleInboundAllowListIcmpTypeCodeListGetArgs>? _icmpTypeCodeLists;
        public InputList<Inputs.NetworkSecurityRuleAppRuleInboundAllowListIcmpTypeCodeListGetArgs> IcmpTypeCodeLists
        {
            get => _icmpTypeCodeLists ?? (_icmpTypeCodeLists = new InputList<Inputs.NetworkSecurityRuleAppRuleInboundAllowListIcmpTypeCodeListGetArgs>());
            set => _icmpTypeCodeLists = value;
        }

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

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

        [Input("networkFunctionChainReference")]
        private InputMap<string>? _networkFunctionChainReference;
        public InputMap<string> NetworkFunctionChainReference
        {
            get => _networkFunctionChainReference ?? (_networkFunctionChainReference = new InputMap<string>());
            set => _networkFunctionChainReference = value;
        }

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

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

        [Input("serviceGroupLists")]
        private InputList<Inputs.NetworkSecurityRuleAppRuleInboundAllowListServiceGroupListGetArgs>? _serviceGroupLists;
        public InputList<Inputs.NetworkSecurityRuleAppRuleInboundAllowListServiceGroupListGetArgs> ServiceGroupLists
        {
            get => _serviceGroupLists ?? (_serviceGroupLists = new InputList<Inputs.NetworkSecurityRuleAppRuleInboundAllowListServiceGroupListGetArgs>());
            set => _serviceGroupLists = value;
        }

        [Input("tcpPortRangeLists")]
        private InputList<Inputs.NetworkSecurityRuleAppRuleInboundAllowListTcpPortRangeListGetArgs>? _tcpPortRangeLists;
        public InputList<Inputs.NetworkSecurityRuleAppRuleInboundAllowListTcpPortRangeListGetArgs> TcpPortRangeLists
        {
            get => _tcpPortRangeLists ?? (_tcpPortRangeLists = new InputList<Inputs.NetworkSecurityRuleAppRuleInboundAllowListTcpPortRangeListGetArgs>());
            set => _tcpPortRangeLists = value;
        }

        [Input("udpPortRangeLists")]
        private InputList<Inputs.NetworkSecurityRuleAppRuleInboundAllowListUdpPortRangeListGetArgs>? _udpPortRangeLists;
        public InputList<Inputs.NetworkSecurityRuleAppRuleInboundAllowListUdpPortRangeListGetArgs> UdpPortRangeLists
        {
            get => _udpPortRangeLists ?? (_udpPortRangeLists = new InputList<Inputs.NetworkSecurityRuleAppRuleInboundAllowListUdpPortRangeListGetArgs>());
            set => _udpPortRangeLists = value;
        }

        public NetworkSecurityRuleAppRuleInboundAllowListGetArgs()
        {
        }
    }
}
