Class DynamicModuleListenerFilter.Builder
java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessageV3.Builder<DynamicModuleListenerFilter.Builder>
io.envoyproxy.envoy.extensions.filters.listener.dynamic_modules.v3.DynamicModuleListenerFilter.Builder
- All Implemented Interfaces:
com.google.protobuf.Message.Builder,com.google.protobuf.MessageLite.Builder,com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder,DynamicModuleListenerFilterOrBuilder,Cloneable
- Enclosing class:
- DynamicModuleListenerFilter
public static final class DynamicModuleListenerFilter.Builder
extends com.google.protobuf.GeneratedMessageV3.Builder<DynamicModuleListenerFilter.Builder>
implements DynamicModuleListenerFilterOrBuilder
Configuration of the listener filter for dynamic modules. This filter allows loading shared object files that can be loaded via dlopen by the listener filter. A module can be loaded by multiple listener filters, hence the program can be structured in a way that the module is loaded only once and shared across multiple filters providing multiple functionalities. Unlike network filters which operate on established TCP connections, listener filters work with raw accepted sockets BEFORE a Connection object is created. The filter can: * Inspect initial bytes to detect protocols (TLS, HTTP, PostgreSQL, etc.). * Set socket properties (SNI, ALPN, transport protocol, fingerprints). * Modify connection addresses (original destination restoration). * Set dynamic metadata and filter state for downstream filters. * Rate limit incoming connections.Protobuf type
envoy.extensions.filters.listener.dynamic_modules.v3.DynamicModuleListenerFilter-
Method Summary
Modifier and TypeMethodDescriptionaddRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value) build()clear()Specifies the shared-object level configuration.clearField(com.google.protobuf.Descriptors.FieldDescriptor field) The configuration for the filter chosen by ``filter_name``.The name for this filter configuration.clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) clone()static final com.google.protobuf.Descriptors.Descriptorcom.google.protobuf.Descriptors.DescriptorSpecifies the shared-object level configuration.Specifies the shared-object level configuration.Specifies the shared-object level configuration.com.google.protobuf.AnyThe configuration for the filter chosen by ``filter_name``.com.google.protobuf.Any.BuilderThe configuration for the filter chosen by ``filter_name``.com.google.protobuf.AnyOrBuilderThe configuration for the filter chosen by ``filter_name``.The name for this filter configuration.com.google.protobuf.ByteStringThe name for this filter configuration.booleanSpecifies the shared-object level configuration.booleanThe configuration for the filter chosen by ``filter_name``.protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTablefinal booleanSpecifies the shared-object level configuration.mergeFilterConfig(com.google.protobuf.Any value) The configuration for the filter chosen by ``filter_name``.mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) mergeFrom(com.google.protobuf.Message other) mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) Specifies the shared-object level configuration.setDynamicModuleConfig(DynamicModuleConfig.Builder builderForValue) Specifies the shared-object level configuration.setFilterConfig(com.google.protobuf.Any value) The configuration for the filter chosen by ``filter_name``.setFilterConfig(com.google.protobuf.Any.Builder builderForValue) The configuration for the filter chosen by ``filter_name``.setFilterName(String value) The name for this filter configuration.setFilterNameBytes(com.google.protobuf.ByteString value) The name for this filter configuration.setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value) setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) Methods inherited from class com.google.protobuf.GeneratedMessageV3.Builder
getAllFields, getField, getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedField, getRepeatedFieldBuilder, getRepeatedFieldCount, getUnknownFields, getUnknownFieldSetBuilder, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, internalGetMutableMapField, internalGetMutableMapFieldReflection, isClean, markClean, mergeUnknownLengthDelimitedField, mergeUnknownVarintField, newBuilderForField, onBuilt, onChanged, parseUnknownField, setUnknownFieldSetBuilder, setUnknownFieldsProto3Methods inherited from class com.google.protobuf.AbstractMessage.Builder
findInitializationErrors, getInitializationErrorString, internalMergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException, toStringMethods inherited from class com.google.protobuf.AbstractMessageLite.Builder
addAll, addAll, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, newUninitializedMessageExceptionMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.google.protobuf.Message.Builder
mergeDelimitedFrom, mergeDelimitedFromMethods inherited from interface com.google.protobuf.MessageLite.Builder
mergeFromMethods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
-
Method Details
-
getDescriptor
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() -
internalGetFieldAccessorTable
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()- Specified by:
internalGetFieldAccessorTablein classcom.google.protobuf.GeneratedMessageV3.Builder<DynamicModuleListenerFilter.Builder>
-
clear
- Specified by:
clearin interfacecom.google.protobuf.Message.Builder- Specified by:
clearin interfacecom.google.protobuf.MessageLite.Builder- Overrides:
clearin classcom.google.protobuf.GeneratedMessageV3.Builder<DynamicModuleListenerFilter.Builder>
-
getDescriptorForType
public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()- Specified by:
getDescriptorForTypein interfacecom.google.protobuf.Message.Builder- Specified by:
getDescriptorForTypein interfacecom.google.protobuf.MessageOrBuilder- Overrides:
getDescriptorForTypein classcom.google.protobuf.GeneratedMessageV3.Builder<DynamicModuleListenerFilter.Builder>
-
getDefaultInstanceForType
- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageLiteOrBuilder- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageOrBuilder
-
build
- Specified by:
buildin interfacecom.google.protobuf.Message.Builder- Specified by:
buildin interfacecom.google.protobuf.MessageLite.Builder
-
buildPartial
- Specified by:
buildPartialin interfacecom.google.protobuf.Message.Builder- Specified by:
buildPartialin interfacecom.google.protobuf.MessageLite.Builder
-
clone
- Specified by:
clonein interfacecom.google.protobuf.Message.Builder- Specified by:
clonein interfacecom.google.protobuf.MessageLite.Builder- Overrides:
clonein classcom.google.protobuf.GeneratedMessageV3.Builder<DynamicModuleListenerFilter.Builder>
-
setField
public DynamicModuleListenerFilter.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value) - Specified by:
setFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
setFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<DynamicModuleListenerFilter.Builder>
-
clearField
public DynamicModuleListenerFilter.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) - Specified by:
clearFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
clearFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<DynamicModuleListenerFilter.Builder>
-
clearOneof
public DynamicModuleListenerFilter.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) - Specified by:
clearOneofin interfacecom.google.protobuf.Message.Builder- Overrides:
clearOneofin classcom.google.protobuf.GeneratedMessageV3.Builder<DynamicModuleListenerFilter.Builder>
-
setRepeatedField
public DynamicModuleListenerFilter.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value) - Specified by:
setRepeatedFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
setRepeatedFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<DynamicModuleListenerFilter.Builder>
-
addRepeatedField
public DynamicModuleListenerFilter.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value) - Specified by:
addRepeatedFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
addRepeatedFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<DynamicModuleListenerFilter.Builder>
-
mergeFrom
- Specified by:
mergeFromin interfacecom.google.protobuf.Message.Builder- Overrides:
mergeFromin classcom.google.protobuf.AbstractMessage.Builder<DynamicModuleListenerFilter.Builder>
-
mergeFrom
-
isInitialized
public final boolean isInitialized()- Specified by:
isInitializedin interfacecom.google.protobuf.MessageLiteOrBuilder- Overrides:
isInitializedin classcom.google.protobuf.GeneratedMessageV3.Builder<DynamicModuleListenerFilter.Builder>
-
mergeFrom
public DynamicModuleListenerFilter.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Specified by:
mergeFromin interfacecom.google.protobuf.Message.Builder- Specified by:
mergeFromin interfacecom.google.protobuf.MessageLite.Builder- Overrides:
mergeFromin classcom.google.protobuf.AbstractMessage.Builder<DynamicModuleListenerFilter.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:
hasDynamicModuleConfigin interfaceDynamicModuleListenerFilterOrBuilder- Returns:
- Whether the dynamicModuleConfig field is set.
-
getDynamicModuleConfig
Specifies the shared-object level configuration.
.envoy.extensions.dynamic_modules.v3.DynamicModuleConfig dynamic_module_config = 1;- Specified by:
getDynamicModuleConfigin interfaceDynamicModuleListenerFilterOrBuilder- Returns:
- The dynamicModuleConfig.
-
setDynamicModuleConfig
Specifies the shared-object level configuration.
.envoy.extensions.dynamic_modules.v3.DynamicModuleConfig dynamic_module_config = 1; -
setDynamicModuleConfig
public DynamicModuleListenerFilter.Builder setDynamicModuleConfig(DynamicModuleConfig.Builder builderForValue) Specifies the shared-object level configuration.
.envoy.extensions.dynamic_modules.v3.DynamicModuleConfig dynamic_module_config = 1; -
mergeDynamicModuleConfig
Specifies the shared-object level configuration.
.envoy.extensions.dynamic_modules.v3.DynamicModuleConfig dynamic_module_config = 1; -
clearDynamicModuleConfig
Specifies the shared-object level configuration.
.envoy.extensions.dynamic_modules.v3.DynamicModuleConfig dynamic_module_config = 1; -
getDynamicModuleConfigBuilder
Specifies the shared-object level configuration.
.envoy.extensions.dynamic_modules.v3.DynamicModuleConfig dynamic_module_config = 1; -
getDynamicModuleConfigOrBuilder
Specifies the shared-object level configuration.
.envoy.extensions.dynamic_modules.v3.DynamicModuleConfig dynamic_module_config = 1;- Specified by:
getDynamicModuleConfigOrBuilderin interfaceDynamicModuleListenerFilterOrBuilder
-
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 (TLS inspector, rate limiter, proxy protocol parser). When Envoy receives this configuration, it passes the ``filter_name`` to the dynamic module's listener 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:
getFilterNamein interfaceDynamicModuleListenerFilterOrBuilder- 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 (TLS inspector, rate limiter, proxy protocol parser). When Envoy receives this configuration, it passes the ``filter_name`` to the dynamic module's listener 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:
getFilterNameBytesin interfaceDynamicModuleListenerFilterOrBuilder- Returns:
- The bytes for filterName.
-
setFilterName
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 (TLS inspector, rate limiter, proxy protocol parser). When Envoy receives this configuration, it passes the ``filter_name`` to the dynamic module's listener 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
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 (TLS inspector, rate limiter, proxy protocol parser). When Envoy receives this configuration, it passes the ``filter_name`` to the dynamic module's listener 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
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 (TLS inspector, rate limiter, proxy protocol parser). When Envoy receives this configuration, it passes the ``filter_name`` to the dynamic module's listener 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 listener 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 TLS inspection and one for rate limiting, ``filter_name`` is used to choose either TLS or rate limiting. The ``filter_config`` can be used to configure the TLS inspection options 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:
hasFilterConfigin interfaceDynamicModuleListenerFilterOrBuilder- 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 listener 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 TLS inspection and one for rate limiting, ``filter_name`` is used to choose either TLS or rate limiting. The ``filter_config`` can be used to configure the TLS inspection options 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:
getFilterConfigin interfaceDynamicModuleListenerFilterOrBuilder- Returns:
- The filterConfig.
-
setFilterConfig
The configuration for the filter chosen by ``filter_name``. This is passed to the module's listener 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 TLS inspection and one for rate limiting, ``filter_name`` is used to choose either TLS or rate limiting. The ``filter_config`` can be used to configure the TLS inspection options 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 DynamicModuleListenerFilter.Builder setFilterConfig(com.google.protobuf.Any.Builder builderForValue) The configuration for the filter chosen by ``filter_name``. This is passed to the module's listener 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 TLS inspection and one for rate limiting, ``filter_name`` is used to choose either TLS or rate limiting. The ``filter_config`` can be used to configure the TLS inspection options 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
The configuration for the filter chosen by ``filter_name``. This is passed to the module's listener 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 TLS inspection and one for rate limiting, ``filter_name`` is used to choose either TLS or rate limiting. The ``filter_config`` can be used to configure the TLS inspection options 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
The configuration for the filter chosen by ``filter_name``. This is passed to the module's listener 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 TLS inspection and one for rate limiting, ``filter_name`` is used to choose either TLS or rate limiting. The ``filter_config`` can be used to configure the TLS inspection options 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 listener 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 TLS inspection and one for rate limiting, ``filter_name`` is used to choose either TLS or rate limiting. The ``filter_config`` can be used to configure the TLS inspection options 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 listener 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 TLS inspection and one for rate limiting, ``filter_name`` is used to choose either TLS or rate limiting. The ``filter_config`` can be used to configure the TLS inspection options 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:
getFilterConfigOrBuilderin interfaceDynamicModuleListenerFilterOrBuilder
-
setUnknownFields
public final DynamicModuleListenerFilter.Builder setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) - Specified by:
setUnknownFieldsin interfacecom.google.protobuf.Message.Builder- Overrides:
setUnknownFieldsin classcom.google.protobuf.GeneratedMessageV3.Builder<DynamicModuleListenerFilter.Builder>
-
mergeUnknownFields
public final DynamicModuleListenerFilter.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) - Specified by:
mergeUnknownFieldsin interfacecom.google.protobuf.Message.Builder- Overrides:
mergeUnknownFieldsin classcom.google.protobuf.GeneratedMessageV3.Builder<DynamicModuleListenerFilter.Builder>
-