Class DynamicModuleFilter.Builder

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

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

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

 A dynamic module HTTP filter can opt into being a terminal filter with no upstream by setting
 :ref:`terminal_filter
 <envoy_v3_api_field_extensions.filters.http.dynamic_modules.v3.DynamicModuleFilter.terminal_filter>`
 to ``true``. A terminal dynamic module can use ``send_`` ABI methods to send response headers,
 body, and trailers to the downstream.
 
Protobuf type envoy.extensions.filters.http.dynamic_modules.v3.DynamicModuleFilter
  • 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<DynamicModuleFilter.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<DynamicModuleFilter.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<DynamicModuleFilter.Builder>
    • getDefaultInstanceForType

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

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

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

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

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

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

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

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

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

      public DynamicModuleFilter.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<DynamicModuleFilter.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 DynamicModuleFilterOrBuilder
      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 DynamicModuleFilterOrBuilder
      Returns:
      The dynamicModuleConfig.
    • setDynamicModuleConfig

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

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

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

      public DynamicModuleFilter.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 DynamicModuleFilterOrBuilder
    • 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 HTTP 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 DynamicModuleFilterOrBuilder
      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 HTTP 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 DynamicModuleFilterOrBuilder
      Returns:
      The bytes for filterName.
    • setFilterName

      public DynamicModuleFilter.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 HTTP 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 DynamicModuleFilter.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 HTTP 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 DynamicModuleFilter.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 HTTP 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 HTTP 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 logging and one for header
       manipulation, ``filter_name`` is used to choose either logging or header manipulation. The
       ``filter_config`` can be used to configure the logging level or the header manipulation
       behavior.
      
       ``google.protobuf.Struct`` is serialized as JSON before passing it to the plugin.
       ``google.protobuf.BytesValue`` and ``google.protobuf.StringValue`` are passed directly without
       the wrapper.
      
       .. code-block:: yaml
      
        # Passing in a string
        filter_config:
          "@type": "type.googleapis.com/google.protobuf.StringValue"
          value: hello
      
        # Passing in 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 DynamicModuleFilterOrBuilder
      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 HTTP 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 logging and one for header
       manipulation, ``filter_name`` is used to choose either logging or header manipulation. The
       ``filter_config`` can be used to configure the logging level or the header manipulation
       behavior.
      
       ``google.protobuf.Struct`` is serialized as JSON before passing it to the plugin.
       ``google.protobuf.BytesValue`` and ``google.protobuf.StringValue`` are passed directly without
       the wrapper.
      
       .. code-block:: yaml
      
        # Passing in a string
        filter_config:
          "@type": "type.googleapis.com/google.protobuf.StringValue"
          value: hello
      
        # Passing in 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 DynamicModuleFilterOrBuilder
      Returns:
      The filterConfig.
    • setFilterConfig

      public DynamicModuleFilter.Builder setFilterConfig(com.google.protobuf.Any value)
       The configuration for the filter chosen by ``filter_name``.
      
       This is passed to the module's HTTP 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 logging and one for header
       manipulation, ``filter_name`` is used to choose either logging or header manipulation. The
       ``filter_config`` can be used to configure the logging level or the header manipulation
       behavior.
      
       ``google.protobuf.Struct`` is serialized as JSON before passing it to the plugin.
       ``google.protobuf.BytesValue`` and ``google.protobuf.StringValue`` are passed directly without
       the wrapper.
      
       .. code-block:: yaml
      
        # Passing in a string
        filter_config:
          "@type": "type.googleapis.com/google.protobuf.StringValue"
          value: hello
      
        # Passing in 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 DynamicModuleFilter.Builder setFilterConfig(com.google.protobuf.Any.Builder builderForValue)
       The configuration for the filter chosen by ``filter_name``.
      
       This is passed to the module's HTTP 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 logging and one for header
       manipulation, ``filter_name`` is used to choose either logging or header manipulation. The
       ``filter_config`` can be used to configure the logging level or the header manipulation
       behavior.
      
       ``google.protobuf.Struct`` is serialized as JSON before passing it to the plugin.
       ``google.protobuf.BytesValue`` and ``google.protobuf.StringValue`` are passed directly without
       the wrapper.
      
       .. code-block:: yaml
      
        # Passing in a string
        filter_config:
          "@type": "type.googleapis.com/google.protobuf.StringValue"
          value: hello
      
        # Passing in 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 DynamicModuleFilter.Builder mergeFilterConfig(com.google.protobuf.Any value)
       The configuration for the filter chosen by ``filter_name``.
      
       This is passed to the module's HTTP 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 logging and one for header
       manipulation, ``filter_name`` is used to choose either logging or header manipulation. The
       ``filter_config`` can be used to configure the logging level or the header manipulation
       behavior.
      
       ``google.protobuf.Struct`` is serialized as JSON before passing it to the plugin.
       ``google.protobuf.BytesValue`` and ``google.protobuf.StringValue`` are passed directly without
       the wrapper.
      
       .. code-block:: yaml
      
        # Passing in a string
        filter_config:
          "@type": "type.googleapis.com/google.protobuf.StringValue"
          value: hello
      
        # Passing in 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 DynamicModuleFilter.Builder clearFilterConfig()
       The configuration for the filter chosen by ``filter_name``.
      
       This is passed to the module's HTTP 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 logging and one for header
       manipulation, ``filter_name`` is used to choose either logging or header manipulation. The
       ``filter_config`` can be used to configure the logging level or the header manipulation
       behavior.
      
       ``google.protobuf.Struct`` is serialized as JSON before passing it to the plugin.
       ``google.protobuf.BytesValue`` and ``google.protobuf.StringValue`` are passed directly without
       the wrapper.
      
       .. code-block:: yaml
      
        # Passing in a string
        filter_config:
          "@type": "type.googleapis.com/google.protobuf.StringValue"
          value: hello
      
        # Passing in 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 HTTP 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 logging and one for header
       manipulation, ``filter_name`` is used to choose either logging or header manipulation. The
       ``filter_config`` can be used to configure the logging level or the header manipulation
       behavior.
      
       ``google.protobuf.Struct`` is serialized as JSON before passing it to the plugin.
       ``google.protobuf.BytesValue`` and ``google.protobuf.StringValue`` are passed directly without
       the wrapper.
      
       .. code-block:: yaml
      
        # Passing in a string
        filter_config:
          "@type": "type.googleapis.com/google.protobuf.StringValue"
          value: hello
      
        # Passing in 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 HTTP 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 logging and one for header
       manipulation, ``filter_name`` is used to choose either logging or header manipulation. The
       ``filter_config`` can be used to configure the logging level or the header manipulation
       behavior.
      
       ``google.protobuf.Struct`` is serialized as JSON before passing it to the plugin.
       ``google.protobuf.BytesValue`` and ``google.protobuf.StringValue`` are passed directly without
       the wrapper.
      
       .. code-block:: yaml
      
        # Passing in a string
        filter_config:
          "@type": "type.googleapis.com/google.protobuf.StringValue"
          value: hello
      
        # Passing in 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 DynamicModuleFilterOrBuilder
    • getTerminalFilter

      public boolean getTerminalFilter()
       If ``true``, the dynamic module is a terminal filter to use without an upstream.
      
       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 DynamicModuleFilterOrBuilder
      Returns:
      The terminalFilter.
    • setTerminalFilter

      public DynamicModuleFilter.Builder setTerminalFilter(boolean value)
       If ``true``, the dynamic module is a terminal filter to use without an upstream.
      
       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 DynamicModuleFilter.Builder clearTerminalFilter()
       If ``true``, the dynamic module is a terminal filter to use without an upstream.
      
       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 DynamicModuleFilter.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<DynamicModuleFilter.Builder>
    • mergeUnknownFields

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