dynamic_modulesv3

package
v1.36.11-2026011520535... Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: unknown License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var File_envoy_extensions_filters_http_dynamic_modules_v3_dynamic_modules_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type DynamicModuleFilter

type DynamicModuleFilter struct {

	// Specifies the shared-object level configuration.
	DynamicModuleConfig *v3.DynamicModuleConfig `protobuf:"bytes,1,opt,name=dynamic_module_config,json=dynamicModuleConfig,proto3" json:"dynamic_module_config,omitempty"`
	// 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.
	FilterName string `protobuf:"bytes,2,opt,name=filter_name,json=filterName,proto3" json:"filter_name,omitempty"`
	// 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
	FilterConfig *anypb.Any `protobuf:"bytes,3,opt,name=filter_config,json=filterConfig,proto3" json:"filter_config,omitempty"`
	// 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“.
	TerminalFilter bool `protobuf:"varint,4,opt,name=terminal_filter,json=terminalFilter,proto3" json:"terminal_filter,omitempty"`
	// contains filtered or unexported fields
}

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.

func (*DynamicModuleFilter) ClearDynamicModuleConfig

func (x *DynamicModuleFilter) ClearDynamicModuleConfig()

func (*DynamicModuleFilter) ClearFilterConfig

func (x *DynamicModuleFilter) ClearFilterConfig()

func (*DynamicModuleFilter) GetDynamicModuleConfig

func (x *DynamicModuleFilter) GetDynamicModuleConfig() *v3.DynamicModuleConfig

func (*DynamicModuleFilter) GetFilterConfig

func (x *DynamicModuleFilter) GetFilterConfig() *anypb.Any

func (*DynamicModuleFilter) GetFilterName

func (x *DynamicModuleFilter) GetFilterName() string

func (*DynamicModuleFilter) GetTerminalFilter

func (x *DynamicModuleFilter) GetTerminalFilter() bool

func (*DynamicModuleFilter) HasDynamicModuleConfig

func (x *DynamicModuleFilter) HasDynamicModuleConfig() bool

func (*DynamicModuleFilter) HasFilterConfig

func (x *DynamicModuleFilter) HasFilterConfig() bool

func (*DynamicModuleFilter) ProtoMessage

func (*DynamicModuleFilter) ProtoMessage()

func (*DynamicModuleFilter) ProtoReflect

func (x *DynamicModuleFilter) ProtoReflect() protoreflect.Message

func (*DynamicModuleFilter) Reset

func (x *DynamicModuleFilter) Reset()

func (*DynamicModuleFilter) SetDynamicModuleConfig

func (x *DynamicModuleFilter) SetDynamicModuleConfig(v *v3.DynamicModuleConfig)

func (*DynamicModuleFilter) SetFilterConfig

func (x *DynamicModuleFilter) SetFilterConfig(v *anypb.Any)

func (*DynamicModuleFilter) SetFilterName

func (x *DynamicModuleFilter) SetFilterName(v string)

func (*DynamicModuleFilter) SetTerminalFilter

func (x *DynamicModuleFilter) SetTerminalFilter(v bool)

func (*DynamicModuleFilter) String

func (x *DynamicModuleFilter) String() string

type DynamicModuleFilterPerRoute

type DynamicModuleFilterPerRoute struct {

	// Specifies the shared-object level configuration.
	DynamicModuleConfig *v3.DynamicModuleConfig `protobuf:"bytes,1,opt,name=dynamic_module_config,json=dynamicModuleConfig,proto3" json:"dynamic_module_config,omitempty"`
	// 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 “per_route_config_name“ to the dynamic module's
	// HTTP per-route 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.
	PerRouteConfigName string `protobuf:"bytes,2,opt,name=per_route_config_name,json=perRouteConfigName,proto3" json:"per_route_config_name,omitempty"`
	// The configuration for the filter chosen by “per_route_config_name“.
	//
	// This is passed to the module's HTTP per-route filter initialization function. Together with
	// the “per_route_config_name“, the module can decide which in-module filter implementation to
	// use and fine-tune the behavior of the filter on a specific route.
	//
	// For example, if a module has two filter implementations, one for logging and one for header
	// manipulation, “per_route_config_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
	FilterConfig *anypb.Any `protobuf:"bytes,3,opt,name=filter_config,json=filterConfig,proto3" json:"filter_config,omitempty"`
	// contains filtered or unexported fields
}

Configuration of the HTTP per-route filter for dynamic modules.

func (*DynamicModuleFilterPerRoute) ClearDynamicModuleConfig

func (x *DynamicModuleFilterPerRoute) ClearDynamicModuleConfig()

func (*DynamicModuleFilterPerRoute) ClearFilterConfig

func (x *DynamicModuleFilterPerRoute) ClearFilterConfig()

func (*DynamicModuleFilterPerRoute) GetDynamicModuleConfig

func (x *DynamicModuleFilterPerRoute) GetDynamicModuleConfig() *v3.DynamicModuleConfig

func (*DynamicModuleFilterPerRoute) GetFilterConfig

func (x *DynamicModuleFilterPerRoute) GetFilterConfig() *anypb.Any

func (*DynamicModuleFilterPerRoute) GetPerRouteConfigName

func (x *DynamicModuleFilterPerRoute) GetPerRouteConfigName() string

func (*DynamicModuleFilterPerRoute) HasDynamicModuleConfig

func (x *DynamicModuleFilterPerRoute) HasDynamicModuleConfig() bool

func (*DynamicModuleFilterPerRoute) HasFilterConfig

func (x *DynamicModuleFilterPerRoute) HasFilterConfig() bool

func (*DynamicModuleFilterPerRoute) ProtoMessage

func (*DynamicModuleFilterPerRoute) ProtoMessage()

func (*DynamicModuleFilterPerRoute) ProtoReflect

func (*DynamicModuleFilterPerRoute) Reset

func (x *DynamicModuleFilterPerRoute) Reset()

func (*DynamicModuleFilterPerRoute) SetDynamicModuleConfig

func (x *DynamicModuleFilterPerRoute) SetDynamicModuleConfig(v *v3.DynamicModuleConfig)

func (*DynamicModuleFilterPerRoute) SetFilterConfig

func (x *DynamicModuleFilterPerRoute) SetFilterConfig(v *anypb.Any)

func (*DynamicModuleFilterPerRoute) SetPerRouteConfigName

func (x *DynamicModuleFilterPerRoute) SetPerRouteConfigName(v string)

func (*DynamicModuleFilterPerRoute) String

func (x *DynamicModuleFilterPerRoute) String() string

type DynamicModuleFilterPerRoute_builder

type DynamicModuleFilterPerRoute_builder struct {

	// Specifies the shared-object level configuration.
	DynamicModuleConfig *v3.DynamicModuleConfig
	// 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 “per_route_config_name“ to the dynamic module's
	// HTTP per-route 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.
	PerRouteConfigName string
	// The configuration for the filter chosen by “per_route_config_name“.
	//
	// This is passed to the module's HTTP per-route filter initialization function. Together with
	// the “per_route_config_name“, the module can decide which in-module filter implementation to
	// use and fine-tune the behavior of the filter on a specific route.
	//
	// For example, if a module has two filter implementations, one for logging and one for header
	// manipulation, “per_route_config_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
	FilterConfig *anypb.Any
	// contains filtered or unexported fields
}

func (DynamicModuleFilterPerRoute_builder) Build

type DynamicModuleFilter_builder

type DynamicModuleFilter_builder struct {

	// Specifies the shared-object level configuration.
	DynamicModuleConfig *v3.DynamicModuleConfig
	// 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.
	FilterName string
	// 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
	FilterConfig *anypb.Any
	// 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“.
	TerminalFilter bool
	// contains filtered or unexported fields
}

func (DynamicModuleFilter_builder) Build

Source Files

  • dynamic_modules.pb.go

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL