Class ExternalProcessor

  • All Implemented Interfaces:
    com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, ExternalProcessorOrBuilder, Serializable

    public final class ExternalProcessor
    extends com.google.protobuf.GeneratedMessageV3
    implements ExternalProcessorOrBuilder
     [#next-free-field: 10]
     
    Protobuf type envoy.extensions.filters.http.ext_proc.v3.ExternalProcessor
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  ExternalProcessor.Builder
      [#next-free-field: 10]
      • Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3

        com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage,​BuilderType extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType,​BuilderType>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter
      • Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite

        com.google.protobuf.AbstractMessageLite.InternalOneOfEnum
    • Field Detail

      • GRPC_SERVICE_FIELD_NUMBER

        public static final int GRPC_SERVICE_FIELD_NUMBER
        See Also:
        Constant Field Values
      • FAILURE_MODE_ALLOW_FIELD_NUMBER

        public static final int FAILURE_MODE_ALLOW_FIELD_NUMBER
        See Also:
        Constant Field Values
      • PROCESSING_MODE_FIELD_NUMBER

        public static final int PROCESSING_MODE_FIELD_NUMBER
        See Also:
        Constant Field Values
      • ASYNC_MODE_FIELD_NUMBER

        public static final int ASYNC_MODE_FIELD_NUMBER
        See Also:
        Constant Field Values
      • REQUEST_ATTRIBUTES_FIELD_NUMBER

        public static final int REQUEST_ATTRIBUTES_FIELD_NUMBER
        See Also:
        Constant Field Values
      • RESPONSE_ATTRIBUTES_FIELD_NUMBER

        public static final int RESPONSE_ATTRIBUTES_FIELD_NUMBER
        See Also:
        Constant Field Values
      • MESSAGE_TIMEOUT_FIELD_NUMBER

        public static final int MESSAGE_TIMEOUT_FIELD_NUMBER
        See Also:
        Constant Field Values
      • STAT_PREFIX_FIELD_NUMBER

        public static final int STAT_PREFIX_FIELD_NUMBER
        See Also:
        Constant Field Values
      • MUTATION_RULES_FIELD_NUMBER

        public static final int MUTATION_RULES_FIELD_NUMBER
        See Also:
        Constant Field Values
    • Method Detail

      • newInstance

        protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getUnknownFields

        public final com.google.protobuf.UnknownFieldSet getUnknownFields()
        Specified by:
        getUnknownFields in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getUnknownFields in class com.google.protobuf.GeneratedMessageV3
      • 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
      • hasGrpcService

        public 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;
        Specified by:
        hasGrpcService in interface ExternalProcessorOrBuilder
        Returns:
        Whether the grpcService field is set.
      • getGrpcService

        public 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;
        Specified by:
        getGrpcService in interface ExternalProcessorOrBuilder
        Returns:
        The grpcService.
      • getGrpcServiceOrBuilder

        public 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;
        Specified by:
        getGrpcServiceOrBuilder in interface ExternalProcessorOrBuilder
      • getFailureModeAllow

        public 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;
        Specified by:
        getFailureModeAllow in interface ExternalProcessorOrBuilder
        Returns:
        The failureModeAllow.
      • hasProcessingMode

        public 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;
        Specified by:
        hasProcessingMode in interface ExternalProcessorOrBuilder
        Returns:
        Whether the processingMode field is set.
      • getProcessingMode

        public 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;
        Specified by:
        getProcessingMode in interface ExternalProcessorOrBuilder
        Returns:
        The processingMode.
      • getAsyncMode

        public 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;
        Specified by:
        getAsyncMode in interface ExternalProcessorOrBuilder
        Returns:
        The asyncMode.
      • getRequestAttributesList

        public com.google.protobuf.ProtocolStringList 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;
        Specified by:
        getRequestAttributesList in interface ExternalProcessorOrBuilder
        Returns:
        A list containing the requestAttributes.
      • getRequestAttributesCount

        public 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;
        Specified by:
        getRequestAttributesCount in interface ExternalProcessorOrBuilder
        Returns:
        The count of requestAttributes.
      • getRequestAttributes

        public 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;
        Specified by:
        getRequestAttributes in interface ExternalProcessorOrBuilder
        Parameters:
        index - The index of the element to return.
        Returns:
        The requestAttributes at the given index.
      • getRequestAttributesBytes

        public 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;
        Specified by:
        getRequestAttributesBytes in interface ExternalProcessorOrBuilder
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the requestAttributes at the given index.
      • getResponseAttributesList

        public com.google.protobuf.ProtocolStringList 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;
        Specified by:
        getResponseAttributesList in interface ExternalProcessorOrBuilder
        Returns:
        A list containing the responseAttributes.
      • getResponseAttributesCount

        public 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;
        Specified by:
        getResponseAttributesCount in interface ExternalProcessorOrBuilder
        Returns:
        The count of responseAttributes.
      • getResponseAttributes

        public 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;
        Specified by:
        getResponseAttributes in interface ExternalProcessorOrBuilder
        Parameters:
        index - The index of the element to return.
        Returns:
        The responseAttributes at the given index.
      • getResponseAttributesBytes

        public 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;
        Specified by:
        getResponseAttributesBytes in interface ExternalProcessorOrBuilder
        Parameters:
        index - The index of the value to return.
        Returns:
        The bytes of the responseAttributes at the given index.
      • hasMessageTimeout

        public 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. Default is 200 milliseconds.
         
        .google.protobuf.Duration message_timeout = 7;
        Specified by:
        hasMessageTimeout in interface ExternalProcessorOrBuilder
        Returns:
        Whether the messageTimeout field is set.
      • getMessageTimeout

        public 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. Default is 200 milliseconds.
         
        .google.protobuf.Duration message_timeout = 7;
        Specified by:
        getMessageTimeout in interface ExternalProcessorOrBuilder
        Returns:
        The messageTimeout.
      • getMessageTimeoutOrBuilder

        public 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. Default is 200 milliseconds.
         
        .google.protobuf.Duration message_timeout = 7;
        Specified by:
        getMessageTimeoutOrBuilder in interface ExternalProcessorOrBuilder
      • getStatPrefix

        public 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;
        Specified by:
        getStatPrefix in interface ExternalProcessorOrBuilder
        Returns:
        The statPrefix.
      • getStatPrefixBytes

        public 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;
        Specified by:
        getStatPrefixBytes in interface ExternalProcessorOrBuilder
        Returns:
        The bytes for statPrefix.
      • hasMutationRules

        public 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").
         
        .envoy.config.common.mutation_rules.v3.HeaderMutationRules mutation_rules = 9;
        Specified by:
        hasMutationRules in interface ExternalProcessorOrBuilder
        Returns:
        Whether the mutationRules field is set.
      • getMutationRules

        public 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").
         
        .envoy.config.common.mutation_rules.v3.HeaderMutationRules mutation_rules = 9;
        Specified by:
        getMutationRules in interface ExternalProcessorOrBuilder
        Returns:
        The mutationRules.
      • getMutationRulesOrBuilder

        public 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").
         
        .envoy.config.common.mutation_rules.v3.HeaderMutationRules mutation_rules = 9;
        Specified by:
        getMutationRulesOrBuilder in interface ExternalProcessorOrBuilder
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals​(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static ExternalProcessor parseFrom​(ByteBuffer data)
                                           throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static ExternalProcessor parseFrom​(ByteBuffer data,
                                                  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                           throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static ExternalProcessor parseFrom​(com.google.protobuf.ByteString data)
                                           throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static ExternalProcessor parseFrom​(com.google.protobuf.ByteString data,
                                                  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                           throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static ExternalProcessor parseFrom​(byte[] data)
                                           throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static ExternalProcessor parseFrom​(byte[] data,
                                                  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                           throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static ExternalProcessor parseFrom​(com.google.protobuf.CodedInputStream input,
                                                  com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                           throws IOException
        Throws:
        IOException
      • newBuilderForType

        public ExternalProcessor.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • toBuilder

        public ExternalProcessor.Builder toBuilder()
        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected ExternalProcessor.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getParserForType

        public com.google.protobuf.Parser<ExternalProcessor> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public ExternalProcessor getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder