Class DynamicModuleNetworkFilter.Builder

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

public static final class DynamicModuleNetworkFilter.Builder extends com.google.protobuf.GeneratedMessageV3.Builder<DynamicModuleNetworkFilter.Builder> implements DynamicModuleNetworkFilterOrBuilder
 Configuration for the Dynamic Modules network filter. This filter allows loading shared object
 files that can be loaded via ``dlopen`` to extend the network filter chain.

 A module can be loaded by multiple network filters; the module is loaded only once and shared
 across multiple filters.

 Unlike HTTP filters which operate on structured headers, body, and trailers, network filters work
 with raw TCP byte streams. The filter can:

 * Inspect, modify, or inject data into the downstream connection.
 * Access connection-level information such as addresses and TLS status.
 * Control connection lifecycle (e.g., close the connection).
 
Protobuf type envoy.extensions.filters.network.dynamic_modules.v3.DynamicModuleNetworkFilter
  • 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<DynamicModuleNetworkFilter.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<DynamicModuleNetworkFilter.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<DynamicModuleNetworkFilter.Builder>
    • getDefaultInstanceForType

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

      Specified by:
      build in interface com.google.protobuf.Message.Builder
      Specified by:
      build in interface com.google.protobuf.MessageLite.Builder
    • buildPartial

      public DynamicModuleNetworkFilter 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<DynamicModuleNetworkFilter.Builder>
    • setField

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

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

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

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

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

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

      public DynamicModuleNetworkFilter.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<DynamicModuleNetworkFilter.Builder>
      Throws:
      IOException
    • hasDynamicModuleConfig

      public boolean hasDynamicModuleConfig()
       Specifies the shared-object level configuration.
       
      .envoy.extensions.dynamic_modules.v3.DynamicModuleConfig dynamic_module_config = 1;
      Specified by:
      hasDynamicModuleConfig in interface DynamicModuleNetworkFilterOrBuilder
      Returns:
      Whether the dynamicModuleConfig field is set.
    • getDynamicModuleConfig

      public DynamicModuleConfig getDynamicModuleConfig()
       Specifies the shared-object level configuration.
       
      .envoy.extensions.dynamic_modules.v3.DynamicModuleConfig dynamic_module_config = 1;
      Specified by:
      getDynamicModuleConfig in interface DynamicModuleNetworkFilterOrBuilder
      Returns:
      The dynamicModuleConfig.
    • setDynamicModuleConfig

      public DynamicModuleNetworkFilter.Builder setDynamicModuleConfig(DynamicModuleConfig value)
       Specifies the shared-object level configuration.
       
      .envoy.extensions.dynamic_modules.v3.DynamicModuleConfig dynamic_module_config = 1;
    • setDynamicModuleConfig

      public DynamicModuleNetworkFilter.Builder setDynamicModuleConfig(DynamicModuleConfig.Builder builderForValue)
       Specifies the shared-object level configuration.
       
      .envoy.extensions.dynamic_modules.v3.DynamicModuleConfig dynamic_module_config = 1;
    • mergeDynamicModuleConfig

      public DynamicModuleNetworkFilter.Builder mergeDynamicModuleConfig(DynamicModuleConfig value)
       Specifies the shared-object level configuration.
       
      .envoy.extensions.dynamic_modules.v3.DynamicModuleConfig dynamic_module_config = 1;
    • clearDynamicModuleConfig

      public DynamicModuleNetworkFilter.Builder clearDynamicModuleConfig()
       Specifies the shared-object level configuration.
       
      .envoy.extensions.dynamic_modules.v3.DynamicModuleConfig dynamic_module_config = 1;
    • getDynamicModuleConfigBuilder

      public DynamicModuleConfig.Builder getDynamicModuleConfigBuilder()
       Specifies the shared-object level configuration.
       
      .envoy.extensions.dynamic_modules.v3.DynamicModuleConfig dynamic_module_config = 1;
    • getDynamicModuleConfigOrBuilder

      public DynamicModuleConfigOrBuilder getDynamicModuleConfigOrBuilder()
       Specifies the shared-object level configuration.
       
      .envoy.extensions.dynamic_modules.v3.DynamicModuleConfig dynamic_module_config = 1;
      Specified by:
      getDynamicModuleConfigOrBuilder in interface DynamicModuleNetworkFilterOrBuilder
    • getFilterName

      public String getFilterName()
       The name for this filter configuration.
      
       This can be used to distinguish between different filter implementations inside a dynamic
       module. For example, a module can have completely different filter implementations. When Envoy
       receives this configuration, it passes the ``filter_name`` to the dynamic module's network
       filter config init function together with the ``filter_config``. That way a module can decide
       which in-module filter implementation to use based on the name at load time.
       
      string filter_name = 2;
      Specified by:
      getFilterName in interface DynamicModuleNetworkFilterOrBuilder
      Returns:
      The filterName.
    • getFilterNameBytes

      public com.google.protobuf.ByteString getFilterNameBytes()
       The name for this filter configuration.
      
       This can be used to distinguish between different filter implementations inside a dynamic
       module. For example, a module can have completely different filter implementations. When Envoy
       receives this configuration, it passes the ``filter_name`` to the dynamic module's network
       filter config init function together with the ``filter_config``. That way a module can decide
       which in-module filter implementation to use based on the name at load time.
       
      string filter_name = 2;
      Specified by:
      getFilterNameBytes in interface DynamicModuleNetworkFilterOrBuilder
      Returns:
      The bytes for filterName.
    • setFilterName

      public DynamicModuleNetworkFilter.Builder setFilterName(String value)
       The name for this filter configuration.
      
       This can be used to distinguish between different filter implementations inside a dynamic
       module. For example, a module can have completely different filter implementations. When Envoy
       receives this configuration, it passes the ``filter_name`` to the dynamic module's network
       filter config init function together with the ``filter_config``. That way a module can decide
       which in-module filter implementation to use based on the name at load time.
       
      string filter_name = 2;
      Parameters:
      value - The filterName to set.
      Returns:
      This builder for chaining.
    • clearFilterName

      public DynamicModuleNetworkFilter.Builder clearFilterName()
       The name for this filter configuration.
      
       This can be used to distinguish between different filter implementations inside a dynamic
       module. For example, a module can have completely different filter implementations. When Envoy
       receives this configuration, it passes the ``filter_name`` to the dynamic module's network
       filter config init function together with the ``filter_config``. That way a module can decide
       which in-module filter implementation to use based on the name at load time.
       
      string filter_name = 2;
      Returns:
      This builder for chaining.
    • setFilterNameBytes

      public DynamicModuleNetworkFilter.Builder setFilterNameBytes(com.google.protobuf.ByteString value)
       The name for this filter configuration.
      
       This can be used to distinguish between different filter implementations inside a dynamic
       module. For example, a module can have completely different filter implementations. When Envoy
       receives this configuration, it passes the ``filter_name`` to the dynamic module's network
       filter config init function together with the ``filter_config``. That way a module can decide
       which in-module filter implementation to use based on the name at load time.
       
      string filter_name = 2;
      Parameters:
      value - The bytes for filterName to set.
      Returns:
      This builder for chaining.
    • hasFilterConfig

      public boolean hasFilterConfig()
       The configuration for the filter chosen by ``filter_name``.
      
       This is passed to the module's network filter initialization function. Together with the
       ``filter_name``, the module can decide which in-module filter implementation to use and
       fine-tune the behavior of the filter.
      
       For example, if a module has two filter implementations, one for echo and one for rate
       limiting, ``filter_name`` is used to choose either echo or rate limiting. The
       ``filter_config`` can be used to configure the echo behavior or the rate limiting parameters.
      
       ``google.protobuf.Struct`` is serialized as JSON before passing it to the module.
       ``google.protobuf.BytesValue`` and ``google.protobuf.StringValue`` are passed directly
       without the wrapper.
      
       .. code-block:: yaml
      
        # Passing a string value
        filter_config:
          "@type": "type.googleapis.com/google.protobuf.StringValue"
          value: hello
      
        # Passing raw bytes
        filter_config:
          "@type": "type.googleapis.com/google.protobuf.BytesValue"
          value: aGVsbG8=  # echo -n "hello" | base64
       
      .google.protobuf.Any filter_config = 3;
      Specified by:
      hasFilterConfig in interface DynamicModuleNetworkFilterOrBuilder
      Returns:
      Whether the filterConfig field is set.
    • getFilterConfig

      public com.google.protobuf.Any getFilterConfig()
       The configuration for the filter chosen by ``filter_name``.
      
       This is passed to the module's network filter initialization function. Together with the
       ``filter_name``, the module can decide which in-module filter implementation to use and
       fine-tune the behavior of the filter.
      
       For example, if a module has two filter implementations, one for echo and one for rate
       limiting, ``filter_name`` is used to choose either echo or rate limiting. The
       ``filter_config`` can be used to configure the echo behavior or the rate limiting parameters.
      
       ``google.protobuf.Struct`` is serialized as JSON before passing it to the module.
       ``google.protobuf.BytesValue`` and ``google.protobuf.StringValue`` are passed directly
       without the wrapper.
      
       .. code-block:: yaml
      
        # Passing a string value
        filter_config:
          "@type": "type.googleapis.com/google.protobuf.StringValue"
          value: hello
      
        # Passing raw bytes
        filter_config:
          "@type": "type.googleapis.com/google.protobuf.BytesValue"
          value: aGVsbG8=  # echo -n "hello" | base64
       
      .google.protobuf.Any filter_config = 3;
      Specified by:
      getFilterConfig in interface DynamicModuleNetworkFilterOrBuilder
      Returns:
      The filterConfig.
    • setFilterConfig

      public DynamicModuleNetworkFilter.Builder setFilterConfig(com.google.protobuf.Any value)
       The configuration for the filter chosen by ``filter_name``.
      
       This is passed to the module's network filter initialization function. Together with the
       ``filter_name``, the module can decide which in-module filter implementation to use and
       fine-tune the behavior of the filter.
      
       For example, if a module has two filter implementations, one for echo and one for rate
       limiting, ``filter_name`` is used to choose either echo or rate limiting. The
       ``filter_config`` can be used to configure the echo behavior or the rate limiting parameters.
      
       ``google.protobuf.Struct`` is serialized as JSON before passing it to the module.
       ``google.protobuf.BytesValue`` and ``google.protobuf.StringValue`` are passed directly
       without the wrapper.
      
       .. code-block:: yaml
      
        # Passing a string value
        filter_config:
          "@type": "type.googleapis.com/google.protobuf.StringValue"
          value: hello
      
        # Passing raw bytes
        filter_config:
          "@type": "type.googleapis.com/google.protobuf.BytesValue"
          value: aGVsbG8=  # echo -n "hello" | base64
       
      .google.protobuf.Any filter_config = 3;
    • setFilterConfig

      public DynamicModuleNetworkFilter.Builder setFilterConfig(com.google.protobuf.Any.Builder builderForValue)
       The configuration for the filter chosen by ``filter_name``.
      
       This is passed to the module's network filter initialization function. Together with the
       ``filter_name``, the module can decide which in-module filter implementation to use and
       fine-tune the behavior of the filter.
      
       For example, if a module has two filter implementations, one for echo and one for rate
       limiting, ``filter_name`` is used to choose either echo or rate limiting. The
       ``filter_config`` can be used to configure the echo behavior or the rate limiting parameters.
      
       ``google.protobuf.Struct`` is serialized as JSON before passing it to the module.
       ``google.protobuf.BytesValue`` and ``google.protobuf.StringValue`` are passed directly
       without the wrapper.
      
       .. code-block:: yaml
      
        # Passing a string value
        filter_config:
          "@type": "type.googleapis.com/google.protobuf.StringValue"
          value: hello
      
        # Passing raw bytes
        filter_config:
          "@type": "type.googleapis.com/google.protobuf.BytesValue"
          value: aGVsbG8=  # echo -n "hello" | base64
       
      .google.protobuf.Any filter_config = 3;
    • mergeFilterConfig

      public DynamicModuleNetworkFilter.Builder mergeFilterConfig(com.google.protobuf.Any value)
       The configuration for the filter chosen by ``filter_name``.
      
       This is passed to the module's network filter initialization function. Together with the
       ``filter_name``, the module can decide which in-module filter implementation to use and
       fine-tune the behavior of the filter.
      
       For example, if a module has two filter implementations, one for echo and one for rate
       limiting, ``filter_name`` is used to choose either echo or rate limiting. The
       ``filter_config`` can be used to configure the echo behavior or the rate limiting parameters.
      
       ``google.protobuf.Struct`` is serialized as JSON before passing it to the module.
       ``google.protobuf.BytesValue`` and ``google.protobuf.StringValue`` are passed directly
       without the wrapper.
      
       .. code-block:: yaml
      
        # Passing a string value
        filter_config:
          "@type": "type.googleapis.com/google.protobuf.StringValue"
          value: hello
      
        # Passing raw bytes
        filter_config:
          "@type": "type.googleapis.com/google.protobuf.BytesValue"
          value: aGVsbG8=  # echo -n "hello" | base64
       
      .google.protobuf.Any filter_config = 3;
    • clearFilterConfig

      public DynamicModuleNetworkFilter.Builder clearFilterConfig()
       The configuration for the filter chosen by ``filter_name``.
      
       This is passed to the module's network filter initialization function. Together with the
       ``filter_name``, the module can decide which in-module filter implementation to use and
       fine-tune the behavior of the filter.
      
       For example, if a module has two filter implementations, one for echo and one for rate
       limiting, ``filter_name`` is used to choose either echo or rate limiting. The
       ``filter_config`` can be used to configure the echo behavior or the rate limiting parameters.
      
       ``google.protobuf.Struct`` is serialized as JSON before passing it to the module.
       ``google.protobuf.BytesValue`` and ``google.protobuf.StringValue`` are passed directly
       without the wrapper.
      
       .. code-block:: yaml
      
        # Passing a string value
        filter_config:
          "@type": "type.googleapis.com/google.protobuf.StringValue"
          value: hello
      
        # Passing raw bytes
        filter_config:
          "@type": "type.googleapis.com/google.protobuf.BytesValue"
          value: aGVsbG8=  # echo -n "hello" | base64
       
      .google.protobuf.Any filter_config = 3;
    • getFilterConfigBuilder

      public com.google.protobuf.Any.Builder getFilterConfigBuilder()
       The configuration for the filter chosen by ``filter_name``.
      
       This is passed to the module's network filter initialization function. Together with the
       ``filter_name``, the module can decide which in-module filter implementation to use and
       fine-tune the behavior of the filter.
      
       For example, if a module has two filter implementations, one for echo and one for rate
       limiting, ``filter_name`` is used to choose either echo or rate limiting. The
       ``filter_config`` can be used to configure the echo behavior or the rate limiting parameters.
      
       ``google.protobuf.Struct`` is serialized as JSON before passing it to the module.
       ``google.protobuf.BytesValue`` and ``google.protobuf.StringValue`` are passed directly
       without the wrapper.
      
       .. code-block:: yaml
      
        # Passing a string value
        filter_config:
          "@type": "type.googleapis.com/google.protobuf.StringValue"
          value: hello
      
        # Passing raw bytes
        filter_config:
          "@type": "type.googleapis.com/google.protobuf.BytesValue"
          value: aGVsbG8=  # echo -n "hello" | base64
       
      .google.protobuf.Any filter_config = 3;
    • getFilterConfigOrBuilder

      public com.google.protobuf.AnyOrBuilder getFilterConfigOrBuilder()
       The configuration for the filter chosen by ``filter_name``.
      
       This is passed to the module's network filter initialization function. Together with the
       ``filter_name``, the module can decide which in-module filter implementation to use and
       fine-tune the behavior of the filter.
      
       For example, if a module has two filter implementations, one for echo and one for rate
       limiting, ``filter_name`` is used to choose either echo or rate limiting. The
       ``filter_config`` can be used to configure the echo behavior or the rate limiting parameters.
      
       ``google.protobuf.Struct`` is serialized as JSON before passing it to the module.
       ``google.protobuf.BytesValue`` and ``google.protobuf.StringValue`` are passed directly
       without the wrapper.
      
       .. code-block:: yaml
      
        # Passing a string value
        filter_config:
          "@type": "type.googleapis.com/google.protobuf.StringValue"
          value: hello
      
        # Passing raw bytes
        filter_config:
          "@type": "type.googleapis.com/google.protobuf.BytesValue"
          value: aGVsbG8=  # echo -n "hello" | base64
       
      .google.protobuf.Any filter_config = 3;
      Specified by:
      getFilterConfigOrBuilder in interface DynamicModuleNetworkFilterOrBuilder
    • getTerminalFilter

      public boolean getTerminalFilter()
       If ``true``, the dynamic module is a terminal filter to use without an upstream connection.
      
       The dynamic module is responsible for creating and sending the response to downstream.
      
       Defaults to ``false``.
       
      bool terminal_filter = 4;
      Specified by:
      getTerminalFilter in interface DynamicModuleNetworkFilterOrBuilder
      Returns:
      The terminalFilter.
    • setTerminalFilter

      public DynamicModuleNetworkFilter.Builder setTerminalFilter(boolean value)
       If ``true``, the dynamic module is a terminal filter to use without an upstream connection.
      
       The dynamic module is responsible for creating and sending the response to downstream.
      
       Defaults to ``false``.
       
      bool terminal_filter = 4;
      Parameters:
      value - The terminalFilter to set.
      Returns:
      This builder for chaining.
    • clearTerminalFilter

      public DynamicModuleNetworkFilter.Builder clearTerminalFilter()
       If ``true``, the dynamic module is a terminal filter to use without an upstream connection.
      
       The dynamic module is responsible for creating and sending the response to downstream.
      
       Defaults to ``false``.
       
      bool terminal_filter = 4;
      Returns:
      This builder for chaining.
    • setUnknownFields

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

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