java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessageV3.Builder<Ip.Builder>
io.envoyproxy.envoy.extensions.matching.input_matchers.ip.v3.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 Details

    • 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>
    • mergeFrom

      public Ip.Builder mergeFrom(Ip other)
    • 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>