Class RouteConfiguration.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessageV3.Builder<RouteConfiguration.Builder>
io.envoyproxy.envoy.extensions.filters.network.generic_proxy.v3.RouteConfiguration.Builder
All Implemented Interfaces:
com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, RouteConfigurationOrBuilder, Cloneable
Enclosing class:
RouteConfiguration

public static final class RouteConfiguration.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<RouteConfiguration.Builder> implements RouteConfigurationOrBuilder
 The generic proxy makes use of the xDS matching API for routing configurations.

 In the below example, we combine a top level tree matcher with a linear matcher to match
 the incoming requests, and send the matching requests to v1 of the upstream service.

 .. code-block:: yaml

   name: example
   routes:
     matcher_tree:
       input:
         name: request-service
         typed_config:
           "@type": type.googleapis.com/envoy.extensions.filters.network.generic_proxy.matcher.v3.ServiceMatchInput
       exact_match_map:
         map:
           service_name_0:
             matcher:
               matcher_list:
                 matchers:
                 - predicate:
                     and_matcher:
                       predicate:
                       - single_predicate:
                           input:
                             name: request-properties
                             typed_config:
                               "@type": type.googleapis.com/envoy.extensions.filters.network.generic_proxy.matcher.v3.PropertyMatchInput
                               property_name: version
                           value_match:
                             exact: v1
                       - single_predicate:
                           input:
                             name: request-properties
                             typed_config:
                               "@type": type.googleapis.com/envoy.extensions.filters.network.generic_proxy.matcher.v3.PropertyMatchInput
                               property_name: user
                           value_match:
                             exact: john
                   on_match:
                     action:
                       name: route
                       typed_config:
                         "@type": type.googleapis.com/envoy.extensions.filters.network.generic_proxy.action.v3.routeAction
                         cluster: cluster_0
 
Protobuf type envoy.extensions.filters.network.generic_proxy.v3.RouteConfiguration
  • 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<RouteConfiguration.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<RouteConfiguration.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<RouteConfiguration.Builder>
    • getDefaultInstanceForType

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

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

      public RouteConfiguration buildPartial()
      Specified by:
      buildPartial in interface com.google.protobuf.Message.Builder
      Specified by:
      buildPartial in interface com.google.protobuf.MessageLite.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<RouteConfiguration.Builder>
    • setField

      public RouteConfiguration.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<RouteConfiguration.Builder>
    • clearField

      public RouteConfiguration.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<RouteConfiguration.Builder>
    • clearOneof

      public RouteConfiguration.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<RouteConfiguration.Builder>
    • setRepeatedField

      public RouteConfiguration.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<RouteConfiguration.Builder>
    • addRepeatedField

      public RouteConfiguration.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<RouteConfiguration.Builder>
    • mergeFrom

      public RouteConfiguration.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<RouteConfiguration.Builder>
    • mergeFrom

    • isInitialized

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

      public RouteConfiguration.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<RouteConfiguration.Builder>
      Throws:
      IOException
    • getName

      public String getName()
       The name of the route configuration. For example, it might match route_config_name in
       envoy.extensions.filters.network.generic_proxy.v3.Rds.
       
      string name = 1 [(.validate.rules) = { ... }
      Specified by:
      getName in interface RouteConfigurationOrBuilder
      Returns:
      The name.
    • getNameBytes

      public com.google.protobuf.ByteString getNameBytes()
       The name of the route configuration. For example, it might match route_config_name in
       envoy.extensions.filters.network.generic_proxy.v3.Rds.
       
      string name = 1 [(.validate.rules) = { ... }
      Specified by:
      getNameBytes in interface RouteConfigurationOrBuilder
      Returns:
      The bytes for name.
    • setName

      public RouteConfiguration.Builder setName(String value)
       The name of the route configuration. For example, it might match route_config_name in
       envoy.extensions.filters.network.generic_proxy.v3.Rds.
       
      string name = 1 [(.validate.rules) = { ... }
      Parameters:
      value - The name to set.
      Returns:
      This builder for chaining.
    • clearName

      public RouteConfiguration.Builder clearName()
       The name of the route configuration. For example, it might match route_config_name in
       envoy.extensions.filters.network.generic_proxy.v3.Rds.
       
      string name = 1 [(.validate.rules) = { ... }
      Returns:
      This builder for chaining.
    • setNameBytes

      public RouteConfiguration.Builder setNameBytes(com.google.protobuf.ByteString value)
       The name of the route configuration. For example, it might match route_config_name in
       envoy.extensions.filters.network.generic_proxy.v3.Rds.
       
      string name = 1 [(.validate.rules) = { ... }
      Parameters:
      value - The bytes for name to set.
      Returns:
      This builder for chaining.
    • hasRoutes

      public boolean hasRoutes()
       The match tree to use when resolving route actions for incoming requests.
       If no any virtual host is configured in the ``virtual_hosts`` field or no special wildcard
       virtual host is configured, the ``routes`` field will be used as the default route table.
       If both the wildcard virtual host and ``routes`` are configured, the configuration will fail
       to load.
       
      .xds.type.matcher.v3.Matcher routes = 2;
      Specified by:
      hasRoutes in interface RouteConfigurationOrBuilder
      Returns:
      Whether the routes field is set.
    • getRoutes

      public Matcher getRoutes()
       The match tree to use when resolving route actions for incoming requests.
       If no any virtual host is configured in the ``virtual_hosts`` field or no special wildcard
       virtual host is configured, the ``routes`` field will be used as the default route table.
       If both the wildcard virtual host and ``routes`` are configured, the configuration will fail
       to load.
       
      .xds.type.matcher.v3.Matcher routes = 2;
      Specified by:
      getRoutes in interface RouteConfigurationOrBuilder
      Returns:
      The routes.
    • setRoutes

      public RouteConfiguration.Builder setRoutes(Matcher value)
       The match tree to use when resolving route actions for incoming requests.
       If no any virtual host is configured in the ``virtual_hosts`` field or no special wildcard
       virtual host is configured, the ``routes`` field will be used as the default route table.
       If both the wildcard virtual host and ``routes`` are configured, the configuration will fail
       to load.
       
      .xds.type.matcher.v3.Matcher routes = 2;
    • setRoutes

      public RouteConfiguration.Builder setRoutes(Matcher.Builder builderForValue)
       The match tree to use when resolving route actions for incoming requests.
       If no any virtual host is configured in the ``virtual_hosts`` field or no special wildcard
       virtual host is configured, the ``routes`` field will be used as the default route table.
       If both the wildcard virtual host and ``routes`` are configured, the configuration will fail
       to load.
       
      .xds.type.matcher.v3.Matcher routes = 2;
    • mergeRoutes

      public RouteConfiguration.Builder mergeRoutes(Matcher value)
       The match tree to use when resolving route actions for incoming requests.
       If no any virtual host is configured in the ``virtual_hosts`` field or no special wildcard
       virtual host is configured, the ``routes`` field will be used as the default route table.
       If both the wildcard virtual host and ``routes`` are configured, the configuration will fail
       to load.
       
      .xds.type.matcher.v3.Matcher routes = 2;
    • clearRoutes

      public RouteConfiguration.Builder clearRoutes()
       The match tree to use when resolving route actions for incoming requests.
       If no any virtual host is configured in the ``virtual_hosts`` field or no special wildcard
       virtual host is configured, the ``routes`` field will be used as the default route table.
       If both the wildcard virtual host and ``routes`` are configured, the configuration will fail
       to load.
       
      .xds.type.matcher.v3.Matcher routes = 2;
    • getRoutesBuilder

      public Matcher.Builder getRoutesBuilder()
       The match tree to use when resolving route actions for incoming requests.
       If no any virtual host is configured in the ``virtual_hosts`` field or no special wildcard
       virtual host is configured, the ``routes`` field will be used as the default route table.
       If both the wildcard virtual host and ``routes`` are configured, the configuration will fail
       to load.
       
      .xds.type.matcher.v3.Matcher routes = 2;
    • getRoutesOrBuilder

      public MatcherOrBuilder getRoutesOrBuilder()
       The match tree to use when resolving route actions for incoming requests.
       If no any virtual host is configured in the ``virtual_hosts`` field or no special wildcard
       virtual host is configured, the ``routes`` field will be used as the default route table.
       If both the wildcard virtual host and ``routes`` are configured, the configuration will fail
       to load.
       
      .xds.type.matcher.v3.Matcher routes = 2;
      Specified by:
      getRoutesOrBuilder in interface RouteConfigurationOrBuilder
    • getVirtualHostsList

      public List<VirtualHost> getVirtualHostsList()
       An array of virtual hosts that make up the route table.
       
      repeated .envoy.extensions.filters.network.generic_proxy.v3.VirtualHost virtual_hosts = 3;
      Specified by:
      getVirtualHostsList in interface RouteConfigurationOrBuilder
    • getVirtualHostsCount

      public int getVirtualHostsCount()
       An array of virtual hosts that make up the route table.
       
      repeated .envoy.extensions.filters.network.generic_proxy.v3.VirtualHost virtual_hosts = 3;
      Specified by:
      getVirtualHostsCount in interface RouteConfigurationOrBuilder
    • getVirtualHosts

      public VirtualHost getVirtualHosts(int index)
       An array of virtual hosts that make up the route table.
       
      repeated .envoy.extensions.filters.network.generic_proxy.v3.VirtualHost virtual_hosts = 3;
      Specified by:
      getVirtualHosts in interface RouteConfigurationOrBuilder
    • setVirtualHosts

      public RouteConfiguration.Builder setVirtualHosts(int index, VirtualHost value)
       An array of virtual hosts that make up the route table.
       
      repeated .envoy.extensions.filters.network.generic_proxy.v3.VirtualHost virtual_hosts = 3;
    • setVirtualHosts

      public RouteConfiguration.Builder setVirtualHosts(int index, VirtualHost.Builder builderForValue)
       An array of virtual hosts that make up the route table.
       
      repeated .envoy.extensions.filters.network.generic_proxy.v3.VirtualHost virtual_hosts = 3;
    • addVirtualHosts

      public RouteConfiguration.Builder addVirtualHosts(VirtualHost value)
       An array of virtual hosts that make up the route table.
       
      repeated .envoy.extensions.filters.network.generic_proxy.v3.VirtualHost virtual_hosts = 3;
    • addVirtualHosts

      public RouteConfiguration.Builder addVirtualHosts(int index, VirtualHost value)
       An array of virtual hosts that make up the route table.
       
      repeated .envoy.extensions.filters.network.generic_proxy.v3.VirtualHost virtual_hosts = 3;
    • addVirtualHosts

      public RouteConfiguration.Builder addVirtualHosts(VirtualHost.Builder builderForValue)
       An array of virtual hosts that make up the route table.
       
      repeated .envoy.extensions.filters.network.generic_proxy.v3.VirtualHost virtual_hosts = 3;
    • addVirtualHosts

      public RouteConfiguration.Builder addVirtualHosts(int index, VirtualHost.Builder builderForValue)
       An array of virtual hosts that make up the route table.
       
      repeated .envoy.extensions.filters.network.generic_proxy.v3.VirtualHost virtual_hosts = 3;
    • addAllVirtualHosts

      public RouteConfiguration.Builder addAllVirtualHosts(Iterable<? extends VirtualHost> values)
       An array of virtual hosts that make up the route table.
       
      repeated .envoy.extensions.filters.network.generic_proxy.v3.VirtualHost virtual_hosts = 3;
    • clearVirtualHosts

      public RouteConfiguration.Builder clearVirtualHosts()
       An array of virtual hosts that make up the route table.
       
      repeated .envoy.extensions.filters.network.generic_proxy.v3.VirtualHost virtual_hosts = 3;
    • removeVirtualHosts

      public RouteConfiguration.Builder removeVirtualHosts(int index)
       An array of virtual hosts that make up the route table.
       
      repeated .envoy.extensions.filters.network.generic_proxy.v3.VirtualHost virtual_hosts = 3;
    • getVirtualHostsBuilder

      public VirtualHost.Builder getVirtualHostsBuilder(int index)
       An array of virtual hosts that make up the route table.
       
      repeated .envoy.extensions.filters.network.generic_proxy.v3.VirtualHost virtual_hosts = 3;
    • getVirtualHostsOrBuilder

      public VirtualHostOrBuilder getVirtualHostsOrBuilder(int index)
       An array of virtual hosts that make up the route table.
       
      repeated .envoy.extensions.filters.network.generic_proxy.v3.VirtualHost virtual_hosts = 3;
      Specified by:
      getVirtualHostsOrBuilder in interface RouteConfigurationOrBuilder
    • getVirtualHostsOrBuilderList

      public List<? extends VirtualHostOrBuilder> getVirtualHostsOrBuilderList()
       An array of virtual hosts that make up the route table.
       
      repeated .envoy.extensions.filters.network.generic_proxy.v3.VirtualHost virtual_hosts = 3;
      Specified by:
      getVirtualHostsOrBuilderList in interface RouteConfigurationOrBuilder
    • addVirtualHostsBuilder

      public VirtualHost.Builder addVirtualHostsBuilder()
       An array of virtual hosts that make up the route table.
       
      repeated .envoy.extensions.filters.network.generic_proxy.v3.VirtualHost virtual_hosts = 3;
    • addVirtualHostsBuilder

      public VirtualHost.Builder addVirtualHostsBuilder(int index)
       An array of virtual hosts that make up the route table.
       
      repeated .envoy.extensions.filters.network.generic_proxy.v3.VirtualHost virtual_hosts = 3;
    • getVirtualHostsBuilderList

      public List<VirtualHost.Builder> getVirtualHostsBuilderList()
       An array of virtual hosts that make up the route table.
       
      repeated .envoy.extensions.filters.network.generic_proxy.v3.VirtualHost virtual_hosts = 3;
    • setUnknownFields

      public final RouteConfiguration.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<RouteConfiguration.Builder>
    • mergeUnknownFields

      public final RouteConfiguration.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<RouteConfiguration.Builder>