Class 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
     [#protodoc-title: Meta Protocol Proxy Route Configuration]
     The meta protocol 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.
     name: demo-v1
     route:
       matcher_tree:
         input:
           name: request-service
           typed_config:
             "@type": type.googleapis.com/envoy.extensions.filters.network.meta_protocol_proxy.matcher.v3.ServiceMatchInput
         exact_match_map:
           map:
             org.apache.dubbo.samples.basic.api.DemoService:
               matcher:
                 matcher_list:
                   matchers:
                   - predicate:
                       and_matcher:
                         predicate:
                         - single_predicate:
                             input:
                               name: request-properties
                               typed_config:
                                 "@type": type.googleapis.com/envoy.extensions.filters.network.meta_protocol_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.meta_protocol_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.meta_protocol_proxy.matcher.action.v3.routeAction
                           cluster: outbound|20880|v1|org.apache.dubbo.samples.basic.api.demoservice
     [#not-implemented-hide:]
     
    Protobuf type envoy.extensions.filters.network.meta_protocol_proxy.v3.RouteConfiguration
    • 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<RouteConfiguration.Builder>
      • clear

        public 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

        public RouteConfiguration.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>
      • 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.meta_protocol_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.meta_protocol_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.meta_protocol_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.meta_protocol_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.meta_protocol_proxy.v3.Rds.
         
        string name = 1 [(.validate.rules) = { ... }
        Parameters:
        value - The bytes for name to set.
        Returns:
        This builder for chaining.
      • hasRoute

        public boolean hasRoute()
         The match tree to use when resolving route actions for incoming requests.
         
        .xds.type.matcher.v3.Matcher route = 2 [(.validate.rules) = { ... }
        Specified by:
        hasRoute in interface RouteConfigurationOrBuilder
        Returns:
        Whether the route field is set.
      • getRoute

        public Matcher getRoute()
         The match tree to use when resolving route actions for incoming requests.
         
        .xds.type.matcher.v3.Matcher route = 2 [(.validate.rules) = { ... }
        Specified by:
        getRoute in interface RouteConfigurationOrBuilder
        Returns:
        The route.
      • setRoute

        public RouteConfiguration.Builder setRoute​(Matcher value)
         The match tree to use when resolving route actions for incoming requests.
         
        .xds.type.matcher.v3.Matcher route = 2 [(.validate.rules) = { ... }
      • setRoute

        public RouteConfiguration.Builder setRoute​(Matcher.Builder builderForValue)
         The match tree to use when resolving route actions for incoming requests.
         
        .xds.type.matcher.v3.Matcher route = 2 [(.validate.rules) = { ... }
      • mergeRoute

        public RouteConfiguration.Builder mergeRoute​(Matcher value)
         The match tree to use when resolving route actions for incoming requests.
         
        .xds.type.matcher.v3.Matcher route = 2 [(.validate.rules) = { ... }
      • clearRoute

        public RouteConfiguration.Builder clearRoute()
         The match tree to use when resolving route actions for incoming requests.
         
        .xds.type.matcher.v3.Matcher route = 2 [(.validate.rules) = { ... }
      • getRouteBuilder

        public Matcher.Builder getRouteBuilder()
         The match tree to use when resolving route actions for incoming requests.
         
        .xds.type.matcher.v3.Matcher route = 2 [(.validate.rules) = { ... }
      • 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>