Class Ip.Builder

  • All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, IpOrBuilder, Cloneable
    Enclosing class:
    Ip

    public static final class Ip.Builder
    extends com.google.protobuf.GeneratedMessageV3.Builder<Ip.Builder>
    implements IpOrBuilder
     This input matcher matches IPv4 or IPv6 addresses against a list of CIDR
     ranges. It returns true if and only if the input IP belongs to at least one
     of these CIDR ranges. Internally, it uses a Level-Compressed trie, as
     described in the paper `IP-address lookup using LC-tries
     <https://www.nada.kth.se/~snilsson/publications/IP-address-lookup-using-LC-tries/>`_
     by S. Nilsson and G. Karlsson. For "big" lists of IPs, this matcher is more
     efficient than multiple single IP matcher, that would have a linear cost.
     
    Protobuf type envoy.extensions.matching.input_matchers.ip.v3.Ip
    • Method Detail

      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.Builder<Ip.Builder>
      • clear

        public Ip.Builder clear()
        Specified by:
        clear in interface com.google.protobuf.Message.Builder
        Specified by:
        clear in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clear in class com.google.protobuf.GeneratedMessageV3.Builder<Ip.Builder>
      • getDescriptorForType

        public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.google.protobuf.Message.Builder
        Specified by:
        getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getDescriptorForType in class com.google.protobuf.GeneratedMessageV3.Builder<Ip.Builder>
      • getDefaultInstanceForType

        public Ip getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
      • build

        public Ip build()
        Specified by:
        build in interface com.google.protobuf.Message.Builder
        Specified by:
        build in interface com.google.protobuf.MessageLite.Builder
      • buildPartial

        public Ip buildPartial()
        Specified by:
        buildPartial in interface com.google.protobuf.Message.Builder
        Specified by:
        buildPartial in interface com.google.protobuf.MessageLite.Builder
      • clone

        public Ip.Builder clone()
        Specified by:
        clone in interface com.google.protobuf.Message.Builder
        Specified by:
        clone in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clone in class com.google.protobuf.GeneratedMessageV3.Builder<Ip.Builder>
      • setField

        public Ip.Builder setField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                   Object value)
        Specified by:
        setField in interface com.google.protobuf.Message.Builder
        Overrides:
        setField in class com.google.protobuf.GeneratedMessageV3.Builder<Ip.Builder>
      • clearField

        public Ip.Builder clearField​(com.google.protobuf.Descriptors.FieldDescriptor field)
        Specified by:
        clearField in interface com.google.protobuf.Message.Builder
        Overrides:
        clearField in class com.google.protobuf.GeneratedMessageV3.Builder<Ip.Builder>
      • clearOneof

        public Ip.Builder clearOneof​(com.google.protobuf.Descriptors.OneofDescriptor oneof)
        Specified by:
        clearOneof in interface com.google.protobuf.Message.Builder
        Overrides:
        clearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<Ip.Builder>
      • setRepeatedField

        public Ip.Builder setRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                           int index,
                                           Object value)
        Specified by:
        setRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<Ip.Builder>
      • addRepeatedField

        public Ip.Builder addRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                           Object value)
        Specified by:
        addRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<Ip.Builder>
      • mergeFrom

        public Ip.Builder mergeFrom​(com.google.protobuf.Message other)
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<Ip.Builder>
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3.Builder<Ip.Builder>
      • mergeFrom

        public Ip.Builder mergeFrom​(com.google.protobuf.CodedInputStream input,
                                    com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                             throws IOException
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Specified by:
        mergeFrom in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<Ip.Builder>
        Throws:
        IOException
      • getCidrRangesList

        public List<CidrRange> getCidrRangesList()
         Match if the IP belongs to any of these CIDR ranges.
         
        repeated .envoy.config.core.v3.CidrRange cidr_ranges = 1 [(.validate.rules) = { ... }
        Specified by:
        getCidrRangesList in interface IpOrBuilder
      • getCidrRangesCount

        public int getCidrRangesCount()
         Match if the IP belongs to any of these CIDR ranges.
         
        repeated .envoy.config.core.v3.CidrRange cidr_ranges = 1 [(.validate.rules) = { ... }
        Specified by:
        getCidrRangesCount in interface IpOrBuilder
      • getCidrRanges

        public CidrRange getCidrRanges​(int index)
         Match if the IP belongs to any of these CIDR ranges.
         
        repeated .envoy.config.core.v3.CidrRange cidr_ranges = 1 [(.validate.rules) = { ... }
        Specified by:
        getCidrRanges in interface IpOrBuilder
      • setCidrRanges

        public Ip.Builder setCidrRanges​(int index,
                                        CidrRange value)
         Match if the IP belongs to any of these CIDR ranges.
         
        repeated .envoy.config.core.v3.CidrRange cidr_ranges = 1 [(.validate.rules) = { ... }
      • setCidrRanges

        public Ip.Builder setCidrRanges​(int index,
                                        CidrRange.Builder builderForValue)
         Match if the IP belongs to any of these CIDR ranges.
         
        repeated .envoy.config.core.v3.CidrRange cidr_ranges = 1 [(.validate.rules) = { ... }
      • addCidrRanges

        public Ip.Builder addCidrRanges​(CidrRange value)
         Match if the IP belongs to any of these CIDR ranges.
         
        repeated .envoy.config.core.v3.CidrRange cidr_ranges = 1 [(.validate.rules) = { ... }
      • addCidrRanges

        public Ip.Builder addCidrRanges​(int index,
                                        CidrRange value)
         Match if the IP belongs to any of these CIDR ranges.
         
        repeated .envoy.config.core.v3.CidrRange cidr_ranges = 1 [(.validate.rules) = { ... }
      • addCidrRanges

        public Ip.Builder addCidrRanges​(CidrRange.Builder builderForValue)
         Match if the IP belongs to any of these CIDR ranges.
         
        repeated .envoy.config.core.v3.CidrRange cidr_ranges = 1 [(.validate.rules) = { ... }
      • addCidrRanges

        public Ip.Builder addCidrRanges​(int index,
                                        CidrRange.Builder builderForValue)
         Match if the IP belongs to any of these CIDR ranges.
         
        repeated .envoy.config.core.v3.CidrRange cidr_ranges = 1 [(.validate.rules) = { ... }
      • addAllCidrRanges

        public Ip.Builder addAllCidrRanges​(Iterable<? extends CidrRange> values)
         Match if the IP belongs to any of these CIDR ranges.
         
        repeated .envoy.config.core.v3.CidrRange cidr_ranges = 1 [(.validate.rules) = { ... }
      • clearCidrRanges

        public Ip.Builder clearCidrRanges()
         Match if the IP belongs to any of these CIDR ranges.
         
        repeated .envoy.config.core.v3.CidrRange cidr_ranges = 1 [(.validate.rules) = { ... }
      • removeCidrRanges

        public Ip.Builder removeCidrRanges​(int index)
         Match if the IP belongs to any of these CIDR ranges.
         
        repeated .envoy.config.core.v3.CidrRange cidr_ranges = 1 [(.validate.rules) = { ... }
      • getCidrRangesBuilder

        public CidrRange.Builder getCidrRangesBuilder​(int index)
         Match if the IP belongs to any of these CIDR ranges.
         
        repeated .envoy.config.core.v3.CidrRange cidr_ranges = 1 [(.validate.rules) = { ... }
      • getCidrRangesOrBuilder

        public CidrRangeOrBuilder getCidrRangesOrBuilder​(int index)
         Match if the IP belongs to any of these CIDR ranges.
         
        repeated .envoy.config.core.v3.CidrRange cidr_ranges = 1 [(.validate.rules) = { ... }
        Specified by:
        getCidrRangesOrBuilder in interface IpOrBuilder
      • getCidrRangesOrBuilderList

        public List<? extends CidrRangeOrBuilder> getCidrRangesOrBuilderList()
         Match if the IP belongs to any of these CIDR ranges.
         
        repeated .envoy.config.core.v3.CidrRange cidr_ranges = 1 [(.validate.rules) = { ... }
        Specified by:
        getCidrRangesOrBuilderList in interface IpOrBuilder
      • addCidrRangesBuilder

        public CidrRange.Builder addCidrRangesBuilder()
         Match if the IP belongs to any of these CIDR ranges.
         
        repeated .envoy.config.core.v3.CidrRange cidr_ranges = 1 [(.validate.rules) = { ... }
      • addCidrRangesBuilder

        public CidrRange.Builder addCidrRangesBuilder​(int index)
         Match if the IP belongs to any of these CIDR ranges.
         
        repeated .envoy.config.core.v3.CidrRange cidr_ranges = 1 [(.validate.rules) = { ... }
      • getCidrRangesBuilderList

        public List<CidrRange.Builder> getCidrRangesBuilderList()
         Match if the IP belongs to any of these CIDR ranges.
         
        repeated .envoy.config.core.v3.CidrRange cidr_ranges = 1 [(.validate.rules) = { ... }
      • getStatPrefix

        public String getStatPrefix()
         The human readable prefix to use when emitting statistics for the IP input
         matcher. Names in the table below are concatenated to this prefix.
         .. csv-table::
            :header: Name, Type, Description
            :widths: 1, 1, 2
            ip_parsing_failed, Counter, Total number of IP addresses the matcher was unable to parse
         
        string stat_prefix = 2 [(.validate.rules) = { ... }
        Specified by:
        getStatPrefix in interface IpOrBuilder
        Returns:
        The statPrefix.
      • getStatPrefixBytes

        public com.google.protobuf.ByteString getStatPrefixBytes()
         The human readable prefix to use when emitting statistics for the IP input
         matcher. Names in the table below are concatenated to this prefix.
         .. csv-table::
            :header: Name, Type, Description
            :widths: 1, 1, 2
            ip_parsing_failed, Counter, Total number of IP addresses the matcher was unable to parse
         
        string stat_prefix = 2 [(.validate.rules) = { ... }
        Specified by:
        getStatPrefixBytes in interface IpOrBuilder
        Returns:
        The bytes for statPrefix.
      • setStatPrefix

        public Ip.Builder setStatPrefix​(String value)
         The human readable prefix to use when emitting statistics for the IP input
         matcher. Names in the table below are concatenated to this prefix.
         .. csv-table::
            :header: Name, Type, Description
            :widths: 1, 1, 2
            ip_parsing_failed, Counter, Total number of IP addresses the matcher was unable to parse
         
        string stat_prefix = 2 [(.validate.rules) = { ... }
        Parameters:
        value - The statPrefix to set.
        Returns:
        This builder for chaining.
      • clearStatPrefix

        public Ip.Builder clearStatPrefix()
         The human readable prefix to use when emitting statistics for the IP input
         matcher. Names in the table below are concatenated to this prefix.
         .. csv-table::
            :header: Name, Type, Description
            :widths: 1, 1, 2
            ip_parsing_failed, Counter, Total number of IP addresses the matcher was unable to parse
         
        string stat_prefix = 2 [(.validate.rules) = { ... }
        Returns:
        This builder for chaining.
      • setStatPrefixBytes

        public Ip.Builder setStatPrefixBytes​(com.google.protobuf.ByteString value)
         The human readable prefix to use when emitting statistics for the IP input
         matcher. Names in the table below are concatenated to this prefix.
         .. csv-table::
            :header: Name, Type, Description
            :widths: 1, 1, 2
            ip_parsing_failed, Counter, Total number of IP addresses the matcher was unable to parse
         
        string stat_prefix = 2 [(.validate.rules) = { ... }
        Parameters:
        value - The bytes for statPrefix to set.
        Returns:
        This builder for chaining.
      • setUnknownFields

        public final Ip.Builder setUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        setUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<Ip.Builder>
      • mergeUnknownFields

        public final Ip.Builder mergeUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        mergeUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<Ip.Builder>