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

    [OutputType]
    public sealed class GetNetworkSecurityRuleAdRuleInboundAllowListResult
    {
        public readonly ImmutableArray<Outputs.GetNetworkSecurityRuleAdRuleInboundAllowListAddressGroupInclusionListResult> AddressGroupInclusionLists;
        public readonly string ExpirationTime;
        public readonly ImmutableArray<string> FilterKindLists;
        public readonly ImmutableArray<Outputs.GetNetworkSecurityRuleAdRuleInboundAllowListFilterParamResult> FilterParams;
        public readonly string FilterType;
        public readonly ImmutableArray<Outputs.GetNetworkSecurityRuleAdRuleInboundAllowListIcmpTypeCodeListResult> IcmpTypeCodeLists;
        public readonly string IpSubnet;
        public readonly string IpSubnetPrefixLength;
        public readonly ImmutableDictionary<string, string> NetworkFunctionChainReference;
        public readonly string PeerSpecificationType;
        public readonly string Protocol;
        public readonly ImmutableArray<Outputs.GetNetworkSecurityRuleAdRuleInboundAllowListServiceGroupListResult> ServiceGroupLists;
        public readonly ImmutableArray<Outputs.GetNetworkSecurityRuleAdRuleInboundAllowListTcpPortRangeListResult> TcpPortRangeLists;
        public readonly ImmutableArray<Outputs.GetNetworkSecurityRuleAdRuleInboundAllowListUdpPortRangeListResult> UdpPortRangeLists;

        [OutputConstructor]
        private GetNetworkSecurityRuleAdRuleInboundAllowListResult(
            ImmutableArray<Outputs.GetNetworkSecurityRuleAdRuleInboundAllowListAddressGroupInclusionListResult> addressGroupInclusionLists,

            string expirationTime,

            ImmutableArray<string> filterKindLists,

            ImmutableArray<Outputs.GetNetworkSecurityRuleAdRuleInboundAllowListFilterParamResult> filterParams,

            string filterType,

            ImmutableArray<Outputs.GetNetworkSecurityRuleAdRuleInboundAllowListIcmpTypeCodeListResult> icmpTypeCodeLists,

            string ipSubnet,

            string ipSubnetPrefixLength,

            ImmutableDictionary<string, string> networkFunctionChainReference,

            string peerSpecificationType,

            string protocol,

            ImmutableArray<Outputs.GetNetworkSecurityRuleAdRuleInboundAllowListServiceGroupListResult> serviceGroupLists,

            ImmutableArray<Outputs.GetNetworkSecurityRuleAdRuleInboundAllowListTcpPortRangeListResult> tcpPortRangeLists,

            ImmutableArray<Outputs.GetNetworkSecurityRuleAdRuleInboundAllowListUdpPortRangeListResult> udpPortRangeLists)
        {
            AddressGroupInclusionLists = addressGroupInclusionLists;
            ExpirationTime = expirationTime;
            FilterKindLists = filterKindLists;
            FilterParams = filterParams;
            FilterType = filterType;
            IcmpTypeCodeLists = icmpTypeCodeLists;
            IpSubnet = ipSubnet;
            IpSubnetPrefixLength = ipSubnetPrefixLength;
            NetworkFunctionChainReference = networkFunctionChainReference;
            PeerSpecificationType = peerSpecificationType;
            Protocol = protocol;
            ServiceGroupLists = serviceGroupLists;
            TcpPortRangeLists = tcpPortRangeLists;
            UdpPortRangeLists = udpPortRangeLists;
        }
    }
}
