Documentation
¶
Index ¶
- Variables
- type DynamicModuleFilter
- func (x *DynamicModuleFilter) ClearDynamicModuleConfig()
- func (x *DynamicModuleFilter) ClearFilterConfig()
- func (x *DynamicModuleFilter) GetDynamicModuleConfig() *v3.DynamicModuleConfig
- func (x *DynamicModuleFilter) GetFilterConfig() *anypb.Any
- func (x *DynamicModuleFilter) GetFilterName() string
- func (x *DynamicModuleFilter) GetTerminalFilter() bool
- func (x *DynamicModuleFilter) HasDynamicModuleConfig() bool
- func (x *DynamicModuleFilter) HasFilterConfig() bool
- func (*DynamicModuleFilter) ProtoMessage()
- func (x *DynamicModuleFilter) ProtoReflect() protoreflect.Message
- func (x *DynamicModuleFilter) Reset()
- func (x *DynamicModuleFilter) SetDynamicModuleConfig(v *v3.DynamicModuleConfig)
- func (x *DynamicModuleFilter) SetFilterConfig(v *anypb.Any)
- func (x *DynamicModuleFilter) SetFilterName(v string)
- func (x *DynamicModuleFilter) SetTerminalFilter(v bool)
- func (x *DynamicModuleFilter) String() string
- type DynamicModuleFilterPerRoute
- func (x *DynamicModuleFilterPerRoute) ClearDynamicModuleConfig()
- func (x *DynamicModuleFilterPerRoute) ClearFilterConfig()
- func (x *DynamicModuleFilterPerRoute) GetDynamicModuleConfig() *v3.DynamicModuleConfig
- func (x *DynamicModuleFilterPerRoute) GetFilterConfig() *anypb.Any
- func (x *DynamicModuleFilterPerRoute) GetPerRouteConfigName() string
- func (x *DynamicModuleFilterPerRoute) HasDynamicModuleConfig() bool
- func (x *DynamicModuleFilterPerRoute) HasFilterConfig() bool
- func (*DynamicModuleFilterPerRoute) ProtoMessage()
- func (x *DynamicModuleFilterPerRoute) ProtoReflect() protoreflect.Message
- func (x *DynamicModuleFilterPerRoute) Reset()
- func (x *DynamicModuleFilterPerRoute) SetDynamicModuleConfig(v *v3.DynamicModuleConfig)
- func (x *DynamicModuleFilterPerRoute) SetFilterConfig(v *anypb.Any)
- func (x *DynamicModuleFilterPerRoute) SetPerRouteConfigName(v string)
- func (x *DynamicModuleFilterPerRoute) String() string
- type DynamicModuleFilterPerRoute_builder
- type DynamicModuleFilter_builder
Constants ¶
This section is empty.
Variables ¶
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 (x *DynamicModuleFilterPerRoute) ProtoReflect() protoreflect.Message
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 ¶
func (b0 DynamicModuleFilterPerRoute_builder) Build() *DynamicModuleFilterPerRoute
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 ¶
func (b0 DynamicModuleFilter_builder) Build() *DynamicModuleFilter
Source Files
¶
- dynamic_modules.pb.go