Interface ExternalProcessorOrBuilder

  • All Superinterfaces:
    com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder
    All Known Implementing Classes:
    ExternalProcessor, ExternalProcessor.Builder

    public interface ExternalProcessorOrBuilder
    extends com.google.protobuf.MessageOrBuilder
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      boolean getAllowModeOverride()
      If ``allow_mode_override`` is set to true, the filter config :ref:`processing_mode <envoy_v3_api_field_extensions.filters.http.ext_proc.v3.ExternalProcessor.processing_mode>` can be overridden by the response message from the external processing server :ref:`mode_override <envoy_v3_api_field_service.ext_proc.v3.ProcessingResponse.mode_override>`.
      boolean getAsyncMode()
      [#not-implemented-hide:] If true, send each part of the HTTP request or response specified by ProcessingMode asynchronously -- in other words, send the message on the gRPC stream and then continue filter processing.
      boolean getDisableClearRouteCache()
      Prevents clearing the route-cache when the :ref:`clear_route_cache <envoy_v3_api_field_service.ext_proc.v3.CommonResponse.clear_route_cache>` field is set in an external processor response.
      boolean getDisableImmediateResponse()
      If set to true, ignore the :ref:`immediate_response <envoy_v3_api_field_service.ext_proc.v3.ProcessingResponse.immediate_response>` message in an external processor response.
      boolean getFailureModeAllow()
      By default, if the gRPC stream cannot be established, or if it is closed prematurely with an error, the filter will fail.
      com.google.protobuf.Struct getFilterMetadata()
      Additional metadata to be added to the filter state for logging purposes.
      com.google.protobuf.StructOrBuilder getFilterMetadataOrBuilder()
      Additional metadata to be added to the filter state for logging purposes.
      HeaderForwardingRules getForwardRules()
      Allow headers matching the ``forward_rules`` to be forwarded to the external processing server.
      HeaderForwardingRulesOrBuilder getForwardRulesOrBuilder()
      Allow headers matching the ``forward_rules`` to be forwarded to the external processing server.
      GrpcService getGrpcService()
      Configuration for the gRPC service that the filter will communicate with.
      GrpcServiceOrBuilder getGrpcServiceOrBuilder()
      Configuration for the gRPC service that the filter will communicate with.
      com.google.protobuf.Duration getMaxMessageTimeout()
      Specify the upper bound of :ref:`override_message_timeout <envoy_v3_api_field_service.ext_proc.v3.ProcessingResponse.override_message_timeout>` If not specified, by default it is 0, which will effectively disable the ``override_message_timeout`` API.
      com.google.protobuf.DurationOrBuilder getMaxMessageTimeoutOrBuilder()
      Specify the upper bound of :ref:`override_message_timeout <envoy_v3_api_field_service.ext_proc.v3.ProcessingResponse.override_message_timeout>` If not specified, by default it is 0, which will effectively disable the ``override_message_timeout`` API.
      com.google.protobuf.Duration getMessageTimeout()
      Specifies the timeout for each individual message sent on the stream and when the filter is running in synchronous mode.
      com.google.protobuf.DurationOrBuilder getMessageTimeoutOrBuilder()
      Specifies the timeout for each individual message sent on the stream and when the filter is running in synchronous mode.
      HeaderMutationRules getMutationRules()
      Rules that determine what modifications an external processing server may make to message headers.
      HeaderMutationRulesOrBuilder getMutationRulesOrBuilder()
      Rules that determine what modifications an external processing server may make to message headers.
      ProcessingMode getProcessingMode()
      Specifies default options for how HTTP headers, trailers, and bodies are sent.
      ProcessingModeOrBuilder getProcessingModeOrBuilder()
      Specifies default options for how HTTP headers, trailers, and bodies are sent.
      String getRequestAttributes​(int index)
      [#not-implemented-hide:] Envoy provides a number of :ref:`attributes <arch_overview_attributes>` for expressive policies.
      com.google.protobuf.ByteString getRequestAttributesBytes​(int index)
      [#not-implemented-hide:] Envoy provides a number of :ref:`attributes <arch_overview_attributes>` for expressive policies.
      int getRequestAttributesCount()
      [#not-implemented-hide:] Envoy provides a number of :ref:`attributes <arch_overview_attributes>` for expressive policies.
      List<String> getRequestAttributesList()
      [#not-implemented-hide:] Envoy provides a number of :ref:`attributes <arch_overview_attributes>` for expressive policies.
      String getResponseAttributes​(int index)
      [#not-implemented-hide:] Envoy provides a number of :ref:`attributes <arch_overview_attributes>` for expressive policies.
      com.google.protobuf.ByteString getResponseAttributesBytes​(int index)
      [#not-implemented-hide:] Envoy provides a number of :ref:`attributes <arch_overview_attributes>` for expressive policies.
      int getResponseAttributesCount()
      [#not-implemented-hide:] Envoy provides a number of :ref:`attributes <arch_overview_attributes>` for expressive policies.
      List<String> getResponseAttributesList()
      [#not-implemented-hide:] Envoy provides a number of :ref:`attributes <arch_overview_attributes>` for expressive policies.
      String getStatPrefix()
      Optional additional prefix to use when emitting statistics.
      com.google.protobuf.ByteString getStatPrefixBytes()
      Optional additional prefix to use when emitting statistics.
      boolean hasFilterMetadata()
      Additional metadata to be added to the filter state for logging purposes.
      boolean hasForwardRules()
      Allow headers matching the ``forward_rules`` to be forwarded to the external processing server.
      boolean hasGrpcService()
      Configuration for the gRPC service that the filter will communicate with.
      boolean hasMaxMessageTimeout()
      Specify the upper bound of :ref:`override_message_timeout <envoy_v3_api_field_service.ext_proc.v3.ProcessingResponse.override_message_timeout>` If not specified, by default it is 0, which will effectively disable the ``override_message_timeout`` API.
      boolean hasMessageTimeout()
      Specifies the timeout for each individual message sent on the stream and when the filter is running in synchronous mode.
      boolean hasMutationRules()
      Rules that determine what modifications an external processing server may make to message headers.
      boolean hasProcessingMode()
      Specifies default options for how HTTP headers, trailers, and bodies are sent.
      • Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder

        isInitialized
      • Methods inherited from interface com.google.protobuf.MessageOrBuilder

        findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
    • Method Detail

      • hasGrpcService

        boolean hasGrpcService()
         Configuration for the gRPC service that the filter will communicate with.
         The filter supports both the "Envoy" and "Google" gRPC clients.
         
        .envoy.config.core.v3.GrpcService grpc_service = 1 [(.validate.rules) = { ... }
        Returns:
        Whether the grpcService field is set.
      • getGrpcService

        GrpcService getGrpcService()
         Configuration for the gRPC service that the filter will communicate with.
         The filter supports both the "Envoy" and "Google" gRPC clients.
         
        .envoy.config.core.v3.GrpcService grpc_service = 1 [(.validate.rules) = { ... }
        Returns:
        The grpcService.
      • getGrpcServiceOrBuilder

        GrpcServiceOrBuilder getGrpcServiceOrBuilder()
         Configuration for the gRPC service that the filter will communicate with.
         The filter supports both the "Envoy" and "Google" gRPC clients.
         
        .envoy.config.core.v3.GrpcService grpc_service = 1 [(.validate.rules) = { ... }
      • getFailureModeAllow

        boolean getFailureModeAllow()
         By default, if the gRPC stream cannot be established, or if it is closed
         prematurely with an error, the filter will fail. Specifically, if the
         response headers have not yet been delivered, then it will return a 500
         error downstream. If they have been delivered, then instead the HTTP stream to the
         downstream client will be reset.
         With this parameter set to true, however, then if the gRPC stream is prematurely closed
         or could not be opened, processing continues without error.
         
        bool failure_mode_allow = 2;
        Returns:
        The failureModeAllow.
      • hasProcessingMode

        boolean hasProcessingMode()
         Specifies default options for how HTTP headers, trailers, and bodies are
         sent. See ProcessingMode for details.
         
        .envoy.extensions.filters.http.ext_proc.v3.ProcessingMode processing_mode = 3;
        Returns:
        Whether the processingMode field is set.
      • getProcessingMode

        ProcessingMode getProcessingMode()
         Specifies default options for how HTTP headers, trailers, and bodies are
         sent. See ProcessingMode for details.
         
        .envoy.extensions.filters.http.ext_proc.v3.ProcessingMode processing_mode = 3;
        Returns:
        The processingMode.
      • getProcessingModeOrBuilder

        ProcessingModeOrBuilder getProcessingModeOrBuilder()
         Specifies default options for how HTTP headers, trailers, and bodies are
         sent. See ProcessingMode for details.
         
        .envoy.extensions.filters.http.ext_proc.v3.ProcessingMode processing_mode = 3;
      • getAsyncMode

        boolean getAsyncMode()
         [#not-implemented-hide:]
         If true, send each part of the HTTP request or response specified by ProcessingMode
         asynchronously -- in other words, send the message on the gRPC stream and then continue
         filter processing. If false, which is the default, suspend filter execution after
         each message is sent to the remote service and wait up to "message_timeout"
         for a reply.
         
        bool async_mode = 4;
        Returns:
        The asyncMode.
      • getRequestAttributesList

        List<String> getRequestAttributesList()
         [#not-implemented-hide:]
         Envoy provides a number of :ref:`attributes <arch_overview_attributes>`
         for expressive policies. Each attribute name provided in this field will be
         matched against that list and populated in the request_headers message.
         See the :ref:`attribute documentation <arch_overview_request_attributes>`
         for the list of supported attributes and their types.
         
        repeated string request_attributes = 5;
        Returns:
        A list containing the requestAttributes.
      • getRequestAttributesCount

        int getRequestAttributesCount()
         [#not-implemented-hide:]
         Envoy provides a number of :ref:`attributes <arch_overview_attributes>`
         for expressive policies. Each attribute name provided in this field will be
         matched against that list and populated in the request_headers message.
         See the :ref:`attribute documentation <arch_overview_request_attributes>`
         for the list of supported attributes and their types.
         
        repeated string request_attributes = 5;
        Returns:
        The count of requestAttributes.
      • getRequestAttributes

        String getRequestAttributes​(int index)
         [#not-implemented-hide:]
         Envoy provides a number of :ref:`attributes <arch_overview_attributes>`
         for expressive policies. Each attribute name provided in this field will be
         matched against that list and populated in the request_headers message.
         See the :ref:`attribute documentation <arch_overview_request_attributes>`
         for the list of supported attributes and their types.
         
        repeated string request_attributes = 5;
        Parameters:
        index - The index of the element to return.
        Returns:
        The requestAttributes at the given index.
      • getRequestAttributesBytes

        com.google.protobuf.ByteString getRequestAttributesBytes​(int index)
         [#not-implemented-hide:]
         Envoy provides a number of :ref:`attributes <arch_overview_attributes>`
         for expressive policies. Each attribute name provided in this field will be
         matched against that list and populated in the request_headers message.
         See the :ref:`attribute documentation <arch_overview_request_attributes>`
         for the list of supported attributes and their types.
         
        repeated string request_attributes = 5;
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the requestAttributes at the given index.
      • getResponseAttributesList

        List<String> getResponseAttributesList()
         [#not-implemented-hide:]
         Envoy provides a number of :ref:`attributes <arch_overview_attributes>`
         for expressive policies. Each attribute name provided in this field will be
         matched against that list and populated in the response_headers message.
         See the :ref:`attribute documentation <arch_overview_attributes>`
         for the list of supported attributes and their types.
         
        repeated string response_attributes = 6;
        Returns:
        A list containing the responseAttributes.
      • getResponseAttributesCount

        int getResponseAttributesCount()
         [#not-implemented-hide:]
         Envoy provides a number of :ref:`attributes <arch_overview_attributes>`
         for expressive policies. Each attribute name provided in this field will be
         matched against that list and populated in the response_headers message.
         See the :ref:`attribute documentation <arch_overview_attributes>`
         for the list of supported attributes and their types.
         
        repeated string response_attributes = 6;
        Returns:
        The count of responseAttributes.
      • getResponseAttributes

        String getResponseAttributes​(int index)
         [#not-implemented-hide:]
         Envoy provides a number of :ref:`attributes <arch_overview_attributes>`
         for expressive policies. Each attribute name provided in this field will be
         matched against that list and populated in the response_headers message.
         See the :ref:`attribute documentation <arch_overview_attributes>`
         for the list of supported attributes and their types.
         
        repeated string response_attributes = 6;
        Parameters:
        index - The index of the element to return.
        Returns:
        The responseAttributes at the given index.
      • getResponseAttributesBytes

        com.google.protobuf.ByteString getResponseAttributesBytes​(int index)
         [#not-implemented-hide:]
         Envoy provides a number of :ref:`attributes <arch_overview_attributes>`
         for expressive policies. Each attribute name provided in this field will be
         matched against that list and populated in the response_headers message.
         See the :ref:`attribute documentation <arch_overview_attributes>`
         for the list of supported attributes and their types.
         
        repeated string response_attributes = 6;
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the responseAttributes at the given index.
      • hasMessageTimeout

        boolean hasMessageTimeout()
         Specifies the timeout for each individual message sent on the stream and
         when the filter is running in synchronous mode. Whenever the proxy sends
         a message on the stream that requires a response, it will reset this timer,
         and will stop processing and return an error (subject to the processing mode)
         if the timer expires before a matching response is received. There is no
         timeout when the filter is running in asynchronous mode. Zero is a valid
         config which means the timer will be triggered immediately. If not
         configured, default is 200 milliseconds.
         
        .google.protobuf.Duration message_timeout = 7 [(.validate.rules) = { ... }
        Returns:
        Whether the messageTimeout field is set.
      • getMessageTimeout

        com.google.protobuf.Duration getMessageTimeout()
         Specifies the timeout for each individual message sent on the stream and
         when the filter is running in synchronous mode. Whenever the proxy sends
         a message on the stream that requires a response, it will reset this timer,
         and will stop processing and return an error (subject to the processing mode)
         if the timer expires before a matching response is received. There is no
         timeout when the filter is running in asynchronous mode. Zero is a valid
         config which means the timer will be triggered immediately. If not
         configured, default is 200 milliseconds.
         
        .google.protobuf.Duration message_timeout = 7 [(.validate.rules) = { ... }
        Returns:
        The messageTimeout.
      • getMessageTimeoutOrBuilder

        com.google.protobuf.DurationOrBuilder getMessageTimeoutOrBuilder()
         Specifies the timeout for each individual message sent on the stream and
         when the filter is running in synchronous mode. Whenever the proxy sends
         a message on the stream that requires a response, it will reset this timer,
         and will stop processing and return an error (subject to the processing mode)
         if the timer expires before a matching response is received. There is no
         timeout when the filter is running in asynchronous mode. Zero is a valid
         config which means the timer will be triggered immediately. If not
         configured, default is 200 milliseconds.
         
        .google.protobuf.Duration message_timeout = 7 [(.validate.rules) = { ... }
      • getStatPrefix

        String getStatPrefix()
         Optional additional prefix to use when emitting statistics. This allows to distinguish
         emitted statistics between configured *ext_proc* filters in an HTTP filter chain.
         
        string stat_prefix = 8;
        Returns:
        The statPrefix.
      • getStatPrefixBytes

        com.google.protobuf.ByteString getStatPrefixBytes()
         Optional additional prefix to use when emitting statistics. This allows to distinguish
         emitted statistics between configured *ext_proc* filters in an HTTP filter chain.
         
        string stat_prefix = 8;
        Returns:
        The bytes for statPrefix.
      • hasMutationRules

        boolean hasMutationRules()
         Rules that determine what modifications an external processing server may
         make to message headers. If not set, all headers may be modified except
         for "host", ":authority", ":scheme", ":method", and headers that start
         with the header prefix set via
         :ref:`header_prefix <envoy_v3_api_field_config.bootstrap.v3.Bootstrap.header_prefix>`
         (which is usually "x-envoy").
         Note that changing headers such as "host" or ":authority" may not in itself
         change Envoy's routing decision, as routes can be cached. To also force the
         route to be recomputed, set the
         :ref:`clear_route_cache <envoy_v3_api_field_service.ext_proc.v3.CommonResponse.clear_route_cache>`
         field to true in the same response.
         
        .envoy.config.common.mutation_rules.v3.HeaderMutationRules mutation_rules = 9;
        Returns:
        Whether the mutationRules field is set.
      • getMutationRules

        HeaderMutationRules getMutationRules()
         Rules that determine what modifications an external processing server may
         make to message headers. If not set, all headers may be modified except
         for "host", ":authority", ":scheme", ":method", and headers that start
         with the header prefix set via
         :ref:`header_prefix <envoy_v3_api_field_config.bootstrap.v3.Bootstrap.header_prefix>`
         (which is usually "x-envoy").
         Note that changing headers such as "host" or ":authority" may not in itself
         change Envoy's routing decision, as routes can be cached. To also force the
         route to be recomputed, set the
         :ref:`clear_route_cache <envoy_v3_api_field_service.ext_proc.v3.CommonResponse.clear_route_cache>`
         field to true in the same response.
         
        .envoy.config.common.mutation_rules.v3.HeaderMutationRules mutation_rules = 9;
        Returns:
        The mutationRules.
      • getMutationRulesOrBuilder

        HeaderMutationRulesOrBuilder getMutationRulesOrBuilder()
         Rules that determine what modifications an external processing server may
         make to message headers. If not set, all headers may be modified except
         for "host", ":authority", ":scheme", ":method", and headers that start
         with the header prefix set via
         :ref:`header_prefix <envoy_v3_api_field_config.bootstrap.v3.Bootstrap.header_prefix>`
         (which is usually "x-envoy").
         Note that changing headers such as "host" or ":authority" may not in itself
         change Envoy's routing decision, as routes can be cached. To also force the
         route to be recomputed, set the
         :ref:`clear_route_cache <envoy_v3_api_field_service.ext_proc.v3.CommonResponse.clear_route_cache>`
         field to true in the same response.
         
        .envoy.config.common.mutation_rules.v3.HeaderMutationRules mutation_rules = 9;
      • hasMaxMessageTimeout

        boolean hasMaxMessageTimeout()
         Specify the upper bound of
         :ref:`override_message_timeout <envoy_v3_api_field_service.ext_proc.v3.ProcessingResponse.override_message_timeout>`
         If not specified, by default it is 0, which will effectively disable the ``override_message_timeout`` API.
         
        .google.protobuf.Duration max_message_timeout = 10 [(.validate.rules) = { ... }
        Returns:
        Whether the maxMessageTimeout field is set.
      • getMaxMessageTimeout

        com.google.protobuf.Duration getMaxMessageTimeout()
         Specify the upper bound of
         :ref:`override_message_timeout <envoy_v3_api_field_service.ext_proc.v3.ProcessingResponse.override_message_timeout>`
         If not specified, by default it is 0, which will effectively disable the ``override_message_timeout`` API.
         
        .google.protobuf.Duration max_message_timeout = 10 [(.validate.rules) = { ... }
        Returns:
        The maxMessageTimeout.
      • getMaxMessageTimeoutOrBuilder

        com.google.protobuf.DurationOrBuilder getMaxMessageTimeoutOrBuilder()
         Specify the upper bound of
         :ref:`override_message_timeout <envoy_v3_api_field_service.ext_proc.v3.ProcessingResponse.override_message_timeout>`
         If not specified, by default it is 0, which will effectively disable the ``override_message_timeout`` API.
         
        .google.protobuf.Duration max_message_timeout = 10 [(.validate.rules) = { ... }
      • getDisableClearRouteCache

        boolean getDisableClearRouteCache()
         Prevents clearing the route-cache when the
         :ref:`clear_route_cache <envoy_v3_api_field_service.ext_proc.v3.CommonResponse.clear_route_cache>`
         field is set in an external processor response.
         
        bool disable_clear_route_cache = 11;
        Returns:
        The disableClearRouteCache.
      • hasForwardRules

        boolean hasForwardRules()
         Allow headers matching the ``forward_rules`` to be forwarded to the external processing server.
         If not set, all headers are forwarded to the external processing server.
         
        .envoy.extensions.filters.http.ext_proc.v3.HeaderForwardingRules forward_rules = 12;
        Returns:
        Whether the forwardRules field is set.
      • getForwardRules

        HeaderForwardingRules getForwardRules()
         Allow headers matching the ``forward_rules`` to be forwarded to the external processing server.
         If not set, all headers are forwarded to the external processing server.
         
        .envoy.extensions.filters.http.ext_proc.v3.HeaderForwardingRules forward_rules = 12;
        Returns:
        The forwardRules.
      • getForwardRulesOrBuilder

        HeaderForwardingRulesOrBuilder getForwardRulesOrBuilder()
         Allow headers matching the ``forward_rules`` to be forwarded to the external processing server.
         If not set, all headers are forwarded to the external processing server.
         
        .envoy.extensions.filters.http.ext_proc.v3.HeaderForwardingRules forward_rules = 12;
      • hasFilterMetadata

        boolean hasFilterMetadata()
         Additional metadata to be added to the filter state for logging purposes. The metadata
         will be added to StreamInfo's filter state under the namespace corresponding to the
         ext_proc filter name.
         
        .google.protobuf.Struct filter_metadata = 13;
        Returns:
        Whether the filterMetadata field is set.
      • getFilterMetadata

        com.google.protobuf.Struct getFilterMetadata()
         Additional metadata to be added to the filter state for logging purposes. The metadata
         will be added to StreamInfo's filter state under the namespace corresponding to the
         ext_proc filter name.
         
        .google.protobuf.Struct filter_metadata = 13;
        Returns:
        The filterMetadata.
      • getFilterMetadataOrBuilder

        com.google.protobuf.StructOrBuilder getFilterMetadataOrBuilder()
         Additional metadata to be added to the filter state for logging purposes. The metadata
         will be added to StreamInfo's filter state under the namespace corresponding to the
         ext_proc filter name.
         
        .google.protobuf.Struct filter_metadata = 13;
      • getAllowModeOverride

        boolean getAllowModeOverride()
         If ``allow_mode_override`` is set to true, the filter config :ref:`processing_mode
         <envoy_v3_api_field_extensions.filters.http.ext_proc.v3.ExternalProcessor.processing_mode>`
         can be overridden by the response message from the external processing server
         :ref:`mode_override <envoy_v3_api_field_service.ext_proc.v3.ProcessingResponse.mode_override>`.
         If not set, ``mode_override`` API in the response message will be ignored.
         
        bool allow_mode_override = 14;
        Returns:
        The allowModeOverride.
      • getDisableImmediateResponse

        boolean getDisableImmediateResponse()
         If set to true, ignore the
         :ref:`immediate_response <envoy_v3_api_field_service.ext_proc.v3.ProcessingResponse.immediate_response>`
         message in an external processor response. In such case, no local reply will be sent.
         Instead, the stream to the external processor will be closed. There will be no
         more external processing for this stream from now on.
         
        bool disable_immediate_response = 15;
        Returns:
        The disableImmediateResponse.