matcherv3

package
v1.33.0-20240426201503... Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

View Source
var File_envoy_type_matcher_v3_filter_state_proto protoreflect.FileDescriptor
View Source
var File_envoy_type_matcher_v3_http_inputs_proto protoreflect.FileDescriptor
View Source
var File_envoy_type_matcher_v3_metadata_proto protoreflect.FileDescriptor
View Source
var File_envoy_type_matcher_v3_node_proto protoreflect.FileDescriptor
View Source
var File_envoy_type_matcher_v3_number_proto protoreflect.FileDescriptor
View Source
var File_envoy_type_matcher_v3_path_proto protoreflect.FileDescriptor
View Source
var File_envoy_type_matcher_v3_regex_proto protoreflect.FileDescriptor
View Source
var File_envoy_type_matcher_v3_status_code_input_proto protoreflect.FileDescriptor
View Source
var File_envoy_type_matcher_v3_string_proto protoreflect.FileDescriptor
View Source
var File_envoy_type_matcher_v3_struct_proto protoreflect.FileDescriptor
View Source
var File_envoy_type_matcher_v3_value_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type DoubleMatcher

type DoubleMatcher struct {

	// Types that are assignable to MatchPattern:
	//
	//	*DoubleMatcher_Range
	//	*DoubleMatcher_Exact
	MatchPattern isDoubleMatcher_MatchPattern `protobuf_oneof:"match_pattern"`
	// contains filtered or unexported fields
}

Specifies the way to match a double value.

func (*DoubleMatcher) Descriptor deprecated

func (*DoubleMatcher) Descriptor() ([]byte, []int)

Deprecated: Use DoubleMatcher.ProtoReflect.Descriptor instead.

func (*DoubleMatcher) GetExact

func (x *DoubleMatcher) GetExact() float64

func (*DoubleMatcher) GetMatchPattern

func (m *DoubleMatcher) GetMatchPattern() isDoubleMatcher_MatchPattern

func (*DoubleMatcher) GetRange

func (x *DoubleMatcher) GetRange() *v3.DoubleRange

func (*DoubleMatcher) ProtoMessage

func (*DoubleMatcher) ProtoMessage()

func (*DoubleMatcher) ProtoReflect

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

func (*DoubleMatcher) Reset

func (x *DoubleMatcher) Reset()

func (*DoubleMatcher) String

func (x *DoubleMatcher) String() string

type DoubleMatcher_Exact

type DoubleMatcher_Exact struct {
	// If specified, the input double value must be equal to the value specified here.
	Exact float64 `protobuf:"fixed64,2,opt,name=exact,proto3,oneof"`
}

type DoubleMatcher_Range

type DoubleMatcher_Range struct {
	// If specified, the input double value must be in the range specified here.
	// Note: The range is using half-open interval semantics [start, end).
	Range *v3.DoubleRange `protobuf:"bytes,1,opt,name=range,proto3,oneof"`
}

type FilterStateMatcher

type FilterStateMatcher struct {

	// The filter state key to retrieve the object.
	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	// Types that are assignable to Matcher:
	//
	//	*FilterStateMatcher_StringMatch
	Matcher isFilterStateMatcher_Matcher `protobuf_oneof:"matcher"`
	// contains filtered or unexported fields
}

FilterStateMatcher provides a general interface for matching the filter state objects.

func (*FilterStateMatcher) Descriptor deprecated

func (*FilterStateMatcher) Descriptor() ([]byte, []int)

Deprecated: Use FilterStateMatcher.ProtoReflect.Descriptor instead.

func (*FilterStateMatcher) GetKey

func (x *FilterStateMatcher) GetKey() string

func (*FilterStateMatcher) GetMatcher

func (m *FilterStateMatcher) GetMatcher() isFilterStateMatcher_Matcher

func (*FilterStateMatcher) GetStringMatch

func (x *FilterStateMatcher) GetStringMatch() *StringMatcher

func (*FilterStateMatcher) ProtoMessage

func (*FilterStateMatcher) ProtoMessage()

func (*FilterStateMatcher) ProtoReflect

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

func (*FilterStateMatcher) Reset

func (x *FilterStateMatcher) Reset()

func (*FilterStateMatcher) String

func (x *FilterStateMatcher) String() string

type FilterStateMatcher_StringMatch

type FilterStateMatcher_StringMatch struct {
	// Matches the filter state object as a string value.
	StringMatch *StringMatcher `protobuf:"bytes,2,opt,name=string_match,json=stringMatch,proto3,oneof"`
}

type HttpRequestHeaderMatchInput

type HttpRequestHeaderMatchInput struct {

	// The request header to match on.
	HeaderName string `protobuf:"bytes,1,opt,name=header_name,json=headerName,proto3" json:"header_name,omitempty"`
	// contains filtered or unexported fields
}

Match input indicates that matching should be done on a specific request header. The resulting input string will be all headers for the given key joined by a comma, e.g. if the request contains two 'foo' headers with value 'bar' and 'baz', the input string will be 'bar,baz'. [#comment:TODO(snowp): Link to unified matching docs.] [#extension: envoy.matching.inputs.request_headers]

func (*HttpRequestHeaderMatchInput) Descriptor deprecated

func (*HttpRequestHeaderMatchInput) Descriptor() ([]byte, []int)

Deprecated: Use HttpRequestHeaderMatchInput.ProtoReflect.Descriptor instead.

func (*HttpRequestHeaderMatchInput) GetHeaderName

func (x *HttpRequestHeaderMatchInput) GetHeaderName() string

func (*HttpRequestHeaderMatchInput) ProtoMessage

func (*HttpRequestHeaderMatchInput) ProtoMessage()

func (*HttpRequestHeaderMatchInput) ProtoReflect

func (*HttpRequestHeaderMatchInput) Reset

func (x *HttpRequestHeaderMatchInput) Reset()

func (*HttpRequestHeaderMatchInput) String

func (x *HttpRequestHeaderMatchInput) String() string

type HttpRequestQueryParamMatchInput

type HttpRequestQueryParamMatchInput struct {

	// The query parameter to match on.
	QueryParam string `protobuf:"bytes,1,opt,name=query_param,json=queryParam,proto3" json:"query_param,omitempty"`
	// contains filtered or unexported fields
}

Match input indicates that matching should be done on a specific query parameter. The resulting input string will be the first query parameter for the value 'query_param'. [#extension: envoy.matching.inputs.query_params]

func (*HttpRequestQueryParamMatchInput) Descriptor deprecated

func (*HttpRequestQueryParamMatchInput) Descriptor() ([]byte, []int)

Deprecated: Use HttpRequestQueryParamMatchInput.ProtoReflect.Descriptor instead.

func (*HttpRequestQueryParamMatchInput) GetQueryParam

func (x *HttpRequestQueryParamMatchInput) GetQueryParam() string

func (*HttpRequestQueryParamMatchInput) ProtoMessage

func (*HttpRequestQueryParamMatchInput) ProtoMessage()

func (*HttpRequestQueryParamMatchInput) ProtoReflect

func (*HttpRequestQueryParamMatchInput) Reset

func (*HttpRequestQueryParamMatchInput) String

type HttpRequestTrailerMatchInput

type HttpRequestTrailerMatchInput struct {

	// The request trailer to match on.
	HeaderName string `protobuf:"bytes,1,opt,name=header_name,json=headerName,proto3" json:"header_name,omitempty"`
	// contains filtered or unexported fields
}

Match input indicates that matching should be done on a specific request trailer. The resulting input string will be all headers for the given key joined by a comma, e.g. if the request contains two 'foo' headers with value 'bar' and 'baz', the input string will be 'bar,baz'. [#comment:TODO(snowp): Link to unified matching docs.] [#extension: envoy.matching.inputs.request_trailers]

func (*HttpRequestTrailerMatchInput) Descriptor deprecated

func (*HttpRequestTrailerMatchInput) Descriptor() ([]byte, []int)

Deprecated: Use HttpRequestTrailerMatchInput.ProtoReflect.Descriptor instead.

func (*HttpRequestTrailerMatchInput) GetHeaderName

func (x *HttpRequestTrailerMatchInput) GetHeaderName() string

func (*HttpRequestTrailerMatchInput) ProtoMessage

func (*HttpRequestTrailerMatchInput) ProtoMessage()

func (*HttpRequestTrailerMatchInput) ProtoReflect

func (*HttpRequestTrailerMatchInput) Reset

func (x *HttpRequestTrailerMatchInput) Reset()

func (*HttpRequestTrailerMatchInput) String

type HttpResponseHeaderMatchInput

type HttpResponseHeaderMatchInput struct {

	// The response header to match on.
	HeaderName string `protobuf:"bytes,1,opt,name=header_name,json=headerName,proto3" json:"header_name,omitempty"`
	// contains filtered or unexported fields
}

Match input indicating that matching should be done on a specific response header. The resulting input string will be all headers for the given key joined by a comma, e.g. if the response contains two 'foo' headers with value 'bar' and 'baz', the input string will be 'bar,baz'. [#comment:TODO(snowp): Link to unified matching docs.] [#extension: envoy.matching.inputs.response_headers]

func (*HttpResponseHeaderMatchInput) Descriptor deprecated

func (*HttpResponseHeaderMatchInput) Descriptor() ([]byte, []int)

Deprecated: Use HttpResponseHeaderMatchInput.ProtoReflect.Descriptor instead.

func (*HttpResponseHeaderMatchInput) GetHeaderName

func (x *HttpResponseHeaderMatchInput) GetHeaderName() string

func (*HttpResponseHeaderMatchInput) ProtoMessage

func (*HttpResponseHeaderMatchInput) ProtoMessage()

func (*HttpResponseHeaderMatchInput) ProtoReflect

func (*HttpResponseHeaderMatchInput) Reset

func (x *HttpResponseHeaderMatchInput) Reset()

func (*HttpResponseHeaderMatchInput) String

type HttpResponseStatusCodeClassMatchInput

type HttpResponseStatusCodeClassMatchInput struct {
	// contains filtered or unexported fields
}

Match input indicates that the matching should be done on the class of the response status code. For eg: 1xx, 2xx, 3xx, 4xx or 5xx.

func (*HttpResponseStatusCodeClassMatchInput) Descriptor deprecated

func (*HttpResponseStatusCodeClassMatchInput) Descriptor() ([]byte, []int)

Deprecated: Use HttpResponseStatusCodeClassMatchInput.ProtoReflect.Descriptor instead.

func (*HttpResponseStatusCodeClassMatchInput) ProtoMessage

func (*HttpResponseStatusCodeClassMatchInput) ProtoMessage()

func (*HttpResponseStatusCodeClassMatchInput) ProtoReflect

func (*HttpResponseStatusCodeClassMatchInput) Reset

func (*HttpResponseStatusCodeClassMatchInput) String

type HttpResponseStatusCodeMatchInput

type HttpResponseStatusCodeMatchInput struct {
	// contains filtered or unexported fields
}

Match input indicates that matching should be done on the response status code.

func (*HttpResponseStatusCodeMatchInput) Descriptor deprecated

func (*HttpResponseStatusCodeMatchInput) Descriptor() ([]byte, []int)

Deprecated: Use HttpResponseStatusCodeMatchInput.ProtoReflect.Descriptor instead.

func (*HttpResponseStatusCodeMatchInput) ProtoMessage

func (*HttpResponseStatusCodeMatchInput) ProtoMessage()

func (*HttpResponseStatusCodeMatchInput) ProtoReflect

func (*HttpResponseStatusCodeMatchInput) Reset

func (*HttpResponseStatusCodeMatchInput) String

type HttpResponseTrailerMatchInput

type HttpResponseTrailerMatchInput struct {

	// The response trailer to match on.
	HeaderName string `protobuf:"bytes,1,opt,name=header_name,json=headerName,proto3" json:"header_name,omitempty"`
	// contains filtered or unexported fields
}

Match input indicates that matching should be done on a specific response trailer. The resulting input string will be all headers for the given key joined by a comma, e.g. if the request contains two 'foo' headers with value 'bar' and 'baz', the input string will be 'bar,baz'. [#comment:TODO(snowp): Link to unified matching docs.] [#extension: envoy.matching.inputs.response_trailers]

func (*HttpResponseTrailerMatchInput) Descriptor deprecated

func (*HttpResponseTrailerMatchInput) Descriptor() ([]byte, []int)

Deprecated: Use HttpResponseTrailerMatchInput.ProtoReflect.Descriptor instead.

func (*HttpResponseTrailerMatchInput) GetHeaderName

func (x *HttpResponseTrailerMatchInput) GetHeaderName() string

func (*HttpResponseTrailerMatchInput) ProtoMessage

func (*HttpResponseTrailerMatchInput) ProtoMessage()

func (*HttpResponseTrailerMatchInput) ProtoReflect

func (*HttpResponseTrailerMatchInput) Reset

func (x *HttpResponseTrailerMatchInput) Reset()

func (*HttpResponseTrailerMatchInput) String

type ListMatcher

type ListMatcher struct {

	// Types that are assignable to MatchPattern:
	//
	//	*ListMatcher_OneOf
	MatchPattern isListMatcher_MatchPattern `protobuf_oneof:"match_pattern"`
	// contains filtered or unexported fields
}

Specifies the way to match a list value.

func (*ListMatcher) Descriptor deprecated

func (*ListMatcher) Descriptor() ([]byte, []int)

Deprecated: Use ListMatcher.ProtoReflect.Descriptor instead.

func (*ListMatcher) GetMatchPattern

func (m *ListMatcher) GetMatchPattern() isListMatcher_MatchPattern

func (*ListMatcher) GetOneOf

func (x *ListMatcher) GetOneOf() *ValueMatcher

func (*ListMatcher) ProtoMessage

func (*ListMatcher) ProtoMessage()

func (*ListMatcher) ProtoReflect

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

func (*ListMatcher) Reset

func (x *ListMatcher) Reset()

func (*ListMatcher) String

func (x *ListMatcher) String() string

type ListMatcher_OneOf

type ListMatcher_OneOf struct {
	// If specified, at least one of the values in the list must match the value specified.
	OneOf *ValueMatcher `protobuf:"bytes,1,opt,name=one_of,json=oneOf,proto3,oneof"`
}

type ListStringMatcher

type ListStringMatcher struct {
	Patterns []*StringMatcher `protobuf:"bytes,1,rep,name=patterns,proto3" json:"patterns,omitempty"`
	// contains filtered or unexported fields
}

Specifies a list of ways to match a string.

func (*ListStringMatcher) Descriptor deprecated

func (*ListStringMatcher) Descriptor() ([]byte, []int)

Deprecated: Use ListStringMatcher.ProtoReflect.Descriptor instead.

func (*ListStringMatcher) GetPatterns

func (x *ListStringMatcher) GetPatterns() []*StringMatcher

func (*ListStringMatcher) ProtoMessage

func (*ListStringMatcher) ProtoMessage()

func (*ListStringMatcher) ProtoReflect

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

func (*ListStringMatcher) Reset

func (x *ListStringMatcher) Reset()

func (*ListStringMatcher) String

func (x *ListStringMatcher) String() string

type MetadataMatcher

type MetadataMatcher struct {

	// The filter name to retrieve the Struct from the Metadata.
	Filter string `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"`
	// The path to retrieve the Value from the Struct.
	Path []*MetadataMatcher_PathSegment `protobuf:"bytes,2,rep,name=path,proto3" json:"path,omitempty"`
	// The MetadataMatcher is matched if the value retrieved by path is matched to this value.
	Value *ValueMatcher `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"`
	// If true, the match result will be inverted.
	Invert bool `protobuf:"varint,4,opt,name=invert,proto3" json:"invert,omitempty"`
	// contains filtered or unexported fields
}

[#next-major-version: MetadataMatcher should use StructMatcher]

func (*MetadataMatcher) Descriptor deprecated

func (*MetadataMatcher) Descriptor() ([]byte, []int)

Deprecated: Use MetadataMatcher.ProtoReflect.Descriptor instead.

func (*MetadataMatcher) GetFilter

func (x *MetadataMatcher) GetFilter() string

func (*MetadataMatcher) GetInvert

func (x *MetadataMatcher) GetInvert() bool

func (*MetadataMatcher) GetPath

func (*MetadataMatcher) GetValue

func (x *MetadataMatcher) GetValue() *ValueMatcher

func (*MetadataMatcher) ProtoMessage

func (*MetadataMatcher) ProtoMessage()

func (*MetadataMatcher) ProtoReflect

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

func (*MetadataMatcher) Reset

func (x *MetadataMatcher) Reset()

func (*MetadataMatcher) String

func (x *MetadataMatcher) String() string

type MetadataMatcher_PathSegment

type MetadataMatcher_PathSegment struct {

	// Types that are assignable to Segment:
	//
	//	*MetadataMatcher_PathSegment_Key
	Segment isMetadataMatcher_PathSegment_Segment `protobuf_oneof:"segment"`
	// contains filtered or unexported fields
}

Specifies the segment in a path to retrieve value from Metadata. Note: Currently it's not supported to retrieve a value from a list in Metadata. This means that if the segment key refers to a list, it has to be the last segment in a path.

func (*MetadataMatcher_PathSegment) Descriptor deprecated

func (*MetadataMatcher_PathSegment) Descriptor() ([]byte, []int)

Deprecated: Use MetadataMatcher_PathSegment.ProtoReflect.Descriptor instead.

func (*MetadataMatcher_PathSegment) GetKey

func (x *MetadataMatcher_PathSegment) GetKey() string

func (*MetadataMatcher_PathSegment) GetSegment

func (m *MetadataMatcher_PathSegment) GetSegment() isMetadataMatcher_PathSegment_Segment

func (*MetadataMatcher_PathSegment) ProtoMessage

func (*MetadataMatcher_PathSegment) ProtoMessage()

func (*MetadataMatcher_PathSegment) ProtoReflect

func (*MetadataMatcher_PathSegment) Reset

func (x *MetadataMatcher_PathSegment) Reset()

func (*MetadataMatcher_PathSegment) String

func (x *MetadataMatcher_PathSegment) String() string

type MetadataMatcher_PathSegment_Key

type MetadataMatcher_PathSegment_Key struct {
	// If specified, use the key to retrieve the value in a Struct.
	Key string `protobuf:"bytes,1,opt,name=key,proto3,oneof"`
}

type NodeMatcher

type NodeMatcher struct {

	// Specifies match criteria on the node id.
	NodeId *StringMatcher `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
	// Specifies match criteria on the node metadata.
	NodeMetadatas []*StructMatcher `protobuf:"bytes,2,rep,name=node_metadatas,json=nodeMetadatas,proto3" json:"node_metadatas,omitempty"`
	// contains filtered or unexported fields
}

Specifies the way to match a Node. The match follows AND semantics.

func (*NodeMatcher) Descriptor deprecated

func (*NodeMatcher) Descriptor() ([]byte, []int)

Deprecated: Use NodeMatcher.ProtoReflect.Descriptor instead.

func (*NodeMatcher) GetNodeId

func (x *NodeMatcher) GetNodeId() *StringMatcher

func (*NodeMatcher) GetNodeMetadatas

func (x *NodeMatcher) GetNodeMetadatas() []*StructMatcher

func (*NodeMatcher) ProtoMessage

func (*NodeMatcher) ProtoMessage()

func (*NodeMatcher) ProtoReflect

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

func (*NodeMatcher) Reset

func (x *NodeMatcher) Reset()

func (*NodeMatcher) String

func (x *NodeMatcher) String() string

type OrMatcher

type OrMatcher struct {
	ValueMatchers []*ValueMatcher `protobuf:"bytes,1,rep,name=value_matchers,json=valueMatchers,proto3" json:"value_matchers,omitempty"`
	// contains filtered or unexported fields
}

Specifies a list of alternatives for the match.

func (*OrMatcher) Descriptor deprecated

func (*OrMatcher) Descriptor() ([]byte, []int)

Deprecated: Use OrMatcher.ProtoReflect.Descriptor instead.

func (*OrMatcher) GetValueMatchers

func (x *OrMatcher) GetValueMatchers() []*ValueMatcher

func (*OrMatcher) ProtoMessage

func (*OrMatcher) ProtoMessage()

func (*OrMatcher) ProtoReflect

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

func (*OrMatcher) Reset

func (x *OrMatcher) Reset()

func (*OrMatcher) String

func (x *OrMatcher) String() string

type PathMatcher

type PathMatcher struct {

	// Types that are assignable to Rule:
	//
	//	*PathMatcher_Path
	Rule isPathMatcher_Rule `protobuf_oneof:"rule"`
	// contains filtered or unexported fields
}

Specifies the way to match a path on HTTP request.

func (*PathMatcher) Descriptor deprecated

func (*PathMatcher) Descriptor() ([]byte, []int)

Deprecated: Use PathMatcher.ProtoReflect.Descriptor instead.

func (*PathMatcher) GetPath

func (x *PathMatcher) GetPath() *StringMatcher

func (*PathMatcher) GetRule

func (m *PathMatcher) GetRule() isPathMatcher_Rule

func (*PathMatcher) ProtoMessage

func (*PathMatcher) ProtoMessage()

func (*PathMatcher) ProtoReflect

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

func (*PathMatcher) Reset

func (x *PathMatcher) Reset()

func (*PathMatcher) String

func (x *PathMatcher) String() string

type PathMatcher_Path

type PathMatcher_Path struct {
	// The “path“ must match the URL path portion of the :path header. The query and fragment
	// string (if present) are removed in the URL path portion.
	// For example, the path “/data“ will match the “:path“ header “/data#fragment?param=value“.
	Path *StringMatcher `protobuf:"bytes,1,opt,name=path,proto3,oneof"`
}

type RegexMatchAndSubstitute

type RegexMatchAndSubstitute struct {

	// The regular expression used to find portions of a string (hereafter called
	// the "subject string") that should be replaced. When a new string is
	// produced during the substitution operation, the new string is initially
	// the same as the subject string, but then all matches in the subject string
	// are replaced by the substitution string. If replacing all matches isn't
	// desired, regular expression anchors can be used to ensure a single match,
	// so as to replace just one occurrence of a pattern. Capture groups can be
	// used in the pattern to extract portions of the subject string, and then
	// referenced in the substitution string.
	Pattern *RegexMatcher `protobuf:"bytes,1,opt,name=pattern,proto3" json:"pattern,omitempty"`
	// The string that should be substituted into matching portions of the
	// subject string during a substitution operation to produce a new string.
	// Capture groups in the pattern can be referenced in the substitution
	// string. Note, however, that the syntax for referring to capture groups is
	// defined by the chosen regular expression engine. Google's `RE2
	// <https://github.com/google/re2>`_ regular expression engine uses a
	// backslash followed by the capture group number to denote a numbered
	// capture group. E.g., “\1“ refers to capture group 1, and “\2“ refers
	// to capture group 2.
	Substitution string `protobuf:"bytes,2,opt,name=substitution,proto3" json:"substitution,omitempty"`
	// contains filtered or unexported fields
}

Describes how to match a string and then produce a new string using a regular expression and a substitution string.

func (*RegexMatchAndSubstitute) Descriptor deprecated

func (*RegexMatchAndSubstitute) Descriptor() ([]byte, []int)

Deprecated: Use RegexMatchAndSubstitute.ProtoReflect.Descriptor instead.

func (*RegexMatchAndSubstitute) GetPattern

func (x *RegexMatchAndSubstitute) GetPattern() *RegexMatcher

func (*RegexMatchAndSubstitute) GetSubstitution

func (x *RegexMatchAndSubstitute) GetSubstitution() string

func (*RegexMatchAndSubstitute) ProtoMessage

func (*RegexMatchAndSubstitute) ProtoMessage()

func (*RegexMatchAndSubstitute) ProtoReflect

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

func (*RegexMatchAndSubstitute) Reset

func (x *RegexMatchAndSubstitute) Reset()

func (*RegexMatchAndSubstitute) String

func (x *RegexMatchAndSubstitute) String() string

type RegexMatcher

type RegexMatcher struct {

	// Types that are assignable to EngineType:
	//
	//	*RegexMatcher_GoogleRe2
	EngineType isRegexMatcher_EngineType `protobuf_oneof:"engine_type"`
	// The regex match string. The string must be supported by the configured engine. The regex is matched
	// against the full string, not as a partial match.
	Regex string `protobuf:"bytes,2,opt,name=regex,proto3" json:"regex,omitempty"`
	// contains filtered or unexported fields
}

A regex matcher designed for safety when used with untrusted input.

func (*RegexMatcher) Descriptor deprecated

func (*RegexMatcher) Descriptor() ([]byte, []int)

Deprecated: Use RegexMatcher.ProtoReflect.Descriptor instead.

func (*RegexMatcher) GetEngineType

func (m *RegexMatcher) GetEngineType() isRegexMatcher_EngineType

func (*RegexMatcher) GetGoogleRe2 deprecated

func (x *RegexMatcher) GetGoogleRe2() *RegexMatcher_GoogleRE2

Deprecated: Marked as deprecated in envoy/type/matcher/v3/regex.proto.

func (*RegexMatcher) GetRegex

func (x *RegexMatcher) GetRegex() string

func (*RegexMatcher) ProtoMessage

func (*RegexMatcher) ProtoMessage()

func (*RegexMatcher) ProtoReflect

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

func (*RegexMatcher) Reset

func (x *RegexMatcher) Reset()

func (*RegexMatcher) String

func (x *RegexMatcher) String() string

type RegexMatcher_GoogleRE2

type RegexMatcher_GoogleRE2 struct {

	// This field controls the RE2 "program size" which is a rough estimate of how complex a
	// compiled regex is to evaluate. A regex that has a program size greater than the configured
	// value will fail to compile. In this case, the configured max program size can be increased
	// or the regex can be simplified. If not specified, the default is 100.
	//
	// This field is deprecated; regexp validation should be performed on the management server
	// instead of being done by each individual client.
	//
	// .. note::
	//
	//	Although this field is deprecated, the program size will still be checked against the
	//	global “re2.max_program_size.error_level“ runtime value.
	//
	// Deprecated: Marked as deprecated in envoy/type/matcher/v3/regex.proto.
	MaxProgramSize *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=max_program_size,json=maxProgramSize,proto3" json:"max_program_size,omitempty"`
	// contains filtered or unexported fields
}

Google's `RE2 <https://github.com/google/re2>`_ regex engine. The regex string must adhere to the documented `syntax <https://github.com/google/re2/wiki/Syntax>`_. The engine is designed to complete execution in linear time as well as limit the amount of memory used.

Envoy supports program size checking via runtime. The runtime keys “re2.max_program_size.error_level“ and “re2.max_program_size.warn_level“ can be set to integers as the maximum program size or complexity that a compiled regex can have before an exception is thrown or a warning is logged, respectively. “re2.max_program_size.error_level“ defaults to 100, and “re2.max_program_size.warn_level“ has no default if unset (will not check/log a warning).

Envoy emits two stats for tracking the program size of regexes: the histogram “re2.program_size“, which records the program size, and the counter “re2.exceeded_warn_level“, which is incremented each time the program size exceeds the warn level threshold.

func (*RegexMatcher_GoogleRE2) Descriptor deprecated

func (*RegexMatcher_GoogleRE2) Descriptor() ([]byte, []int)

Deprecated: Use RegexMatcher_GoogleRE2.ProtoReflect.Descriptor instead.

func (*RegexMatcher_GoogleRE2) GetMaxProgramSize deprecated

func (x *RegexMatcher_GoogleRE2) GetMaxProgramSize() *wrapperspb.UInt32Value

Deprecated: Marked as deprecated in envoy/type/matcher/v3/regex.proto.

func (*RegexMatcher_GoogleRE2) ProtoMessage

func (*RegexMatcher_GoogleRE2) ProtoMessage()

func (*RegexMatcher_GoogleRE2) ProtoReflect

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

func (*RegexMatcher_GoogleRE2) Reset

func (x *RegexMatcher_GoogleRE2) Reset()

func (*RegexMatcher_GoogleRE2) String

func (x *RegexMatcher_GoogleRE2) String() string

type RegexMatcher_GoogleRe2

type RegexMatcher_GoogleRe2 struct {
	// Google's RE2 regex engine.
	//
	// Deprecated: Marked as deprecated in envoy/type/matcher/v3/regex.proto.
	GoogleRe2 *RegexMatcher_GoogleRE2 `protobuf:"bytes,1,opt,name=google_re2,json=googleRe2,proto3,oneof"`
}

type StringMatcher

type StringMatcher struct {

	// Types that are assignable to MatchPattern:
	//
	//	*StringMatcher_Exact
	//	*StringMatcher_Prefix
	//	*StringMatcher_Suffix
	//	*StringMatcher_SafeRegex
	//	*StringMatcher_Contains
	//	*StringMatcher_Custom
	MatchPattern isStringMatcher_MatchPattern `protobuf_oneof:"match_pattern"`
	// If true, indicates the exact/prefix/suffix/contains matching should be case insensitive. This
	// has no effect for the safe_regex match.
	// For example, the matcher “data“ will match both input string “Data“ and “data“ if set to true.
	IgnoreCase bool `protobuf:"varint,6,opt,name=ignore_case,json=ignoreCase,proto3" json:"ignore_case,omitempty"`
	// contains filtered or unexported fields
}

Specifies the way to match a string. [#next-free-field: 9]

func (*StringMatcher) Descriptor deprecated

func (*StringMatcher) Descriptor() ([]byte, []int)

Deprecated: Use StringMatcher.ProtoReflect.Descriptor instead.

func (*StringMatcher) GetContains

func (x *StringMatcher) GetContains() string

func (*StringMatcher) GetCustom

func (x *StringMatcher) GetCustom() *v3.TypedExtensionConfig

func (*StringMatcher) GetExact

func (x *StringMatcher) GetExact() string

func (*StringMatcher) GetIgnoreCase

func (x *StringMatcher) GetIgnoreCase() bool

func (*StringMatcher) GetMatchPattern

func (m *StringMatcher) GetMatchPattern() isStringMatcher_MatchPattern

func (*StringMatcher) GetPrefix

func (x *StringMatcher) GetPrefix() string

func (*StringMatcher) GetSafeRegex

func (x *StringMatcher) GetSafeRegex() *RegexMatcher

func (*StringMatcher) GetSuffix

func (x *StringMatcher) GetSuffix() string

func (*StringMatcher) ProtoMessage

func (*StringMatcher) ProtoMessage()

func (*StringMatcher) ProtoReflect

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

func (*StringMatcher) Reset

func (x *StringMatcher) Reset()

func (*StringMatcher) String

func (x *StringMatcher) String() string

type StringMatcher_Contains

type StringMatcher_Contains struct {
	// The input string must have the substring specified here.
	// Note: empty contains match is not allowed, please use regex instead.
	//
	// Examples:
	//
	// * “abc“ matches the value “xyz.abc.def“
	Contains string `protobuf:"bytes,7,opt,name=contains,proto3,oneof"`
}

type StringMatcher_Custom

type StringMatcher_Custom struct {
	// Use an extension as the matcher type.
	// [#extension-category: envoy.string_matcher]
	Custom *v3.TypedExtensionConfig `protobuf:"bytes,8,opt,name=custom,proto3,oneof"`
}

type StringMatcher_Exact

type StringMatcher_Exact struct {
	// The input string must match exactly the string specified here.
	//
	// Examples:
	//
	// * “abc“ only matches the value “abc“.
	Exact string `protobuf:"bytes,1,opt,name=exact,proto3,oneof"`
}

type StringMatcher_Prefix

type StringMatcher_Prefix struct {
	// The input string must have the prefix specified here.
	// Note: empty prefix is not allowed, please use regex instead.
	//
	// Examples:
	//
	// * “abc“ matches the value “abc.xyz“
	Prefix string `protobuf:"bytes,2,opt,name=prefix,proto3,oneof"`
}

type StringMatcher_SafeRegex

type StringMatcher_SafeRegex struct {
	// The input string must match the regular expression specified here.
	SafeRegex *RegexMatcher `protobuf:"bytes,5,opt,name=safe_regex,json=safeRegex,proto3,oneof"`
}

type StringMatcher_Suffix

type StringMatcher_Suffix struct {
	// The input string must have the suffix specified here.
	// Note: empty prefix is not allowed, please use regex instead.
	//
	// Examples:
	//
	// * “abc“ matches the value “xyz.abc“
	Suffix string `protobuf:"bytes,3,opt,name=suffix,proto3,oneof"`
}

type StructMatcher

type StructMatcher struct {

	// The path to retrieve the Value from the Struct.
	Path []*StructMatcher_PathSegment `protobuf:"bytes,2,rep,name=path,proto3" json:"path,omitempty"`
	// The StructMatcher is matched if the value retrieved by path is matched to this value.
	Value *ValueMatcher `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"`
	// contains filtered or unexported fields
}

StructMatcher provides a general interface to check if a given value is matched in google.protobuf.Struct. It uses “path“ to retrieve the value from the struct and then check if it's matched to the specified value.

For example, for the following Struct:

.. code-block:: yaml

fields:
  a:
    struct_value:
      fields:
        b:
          struct_value:
            fields:
              c:
                string_value: pro
        t:
          list_value:
            values:
              - string_value: m
              - string_value: n

The following MetadataMatcher is matched as the path [a, b, c] will retrieve a string value "pro" from the Metadata which is matched to the specified prefix match.

.. code-block:: yaml

path:
- key: a
- key: b
- key: c
value:
  string_match:
    prefix: pr

The following StructMatcher is matched as the code will match one of the string values in the list at the path [a, t].

.. code-block:: yaml

path:
- key: a
- key: t
value:
  list_match:
    one_of:
      string_match:
        exact: m

An example use of StructMatcher is to match metadata in envoy.v*.core.Node.

func (*StructMatcher) Descriptor deprecated

func (*StructMatcher) Descriptor() ([]byte, []int)

Deprecated: Use StructMatcher.ProtoReflect.Descriptor instead.

func (*StructMatcher) GetPath

func (x *StructMatcher) GetPath() []*StructMatcher_PathSegment

func (*StructMatcher) GetValue

func (x *StructMatcher) GetValue() *ValueMatcher

func (*StructMatcher) ProtoMessage

func (*StructMatcher) ProtoMessage()

func (*StructMatcher) ProtoReflect

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

func (*StructMatcher) Reset

func (x *StructMatcher) Reset()

func (*StructMatcher) String

func (x *StructMatcher) String() string

type StructMatcher_PathSegment

type StructMatcher_PathSegment struct {

	// Types that are assignable to Segment:
	//
	//	*StructMatcher_PathSegment_Key
	Segment isStructMatcher_PathSegment_Segment `protobuf_oneof:"segment"`
	// contains filtered or unexported fields
}

Specifies the segment in a path to retrieve value from Struct.

func (*StructMatcher_PathSegment) Descriptor deprecated

func (*StructMatcher_PathSegment) Descriptor() ([]byte, []int)

Deprecated: Use StructMatcher_PathSegment.ProtoReflect.Descriptor instead.

func (*StructMatcher_PathSegment) GetKey

func (x *StructMatcher_PathSegment) GetKey() string

func (*StructMatcher_PathSegment) GetSegment

func (m *StructMatcher_PathSegment) GetSegment() isStructMatcher_PathSegment_Segment

func (*StructMatcher_PathSegment) ProtoMessage

func (*StructMatcher_PathSegment) ProtoMessage()

func (*StructMatcher_PathSegment) ProtoReflect

func (*StructMatcher_PathSegment) Reset

func (x *StructMatcher_PathSegment) Reset()

func (*StructMatcher_PathSegment) String

func (x *StructMatcher_PathSegment) String() string

type StructMatcher_PathSegment_Key

type StructMatcher_PathSegment_Key struct {
	// If specified, use the key to retrieve the value in a Struct.
	Key string `protobuf:"bytes,1,opt,name=key,proto3,oneof"`
}

type ValueMatcher

type ValueMatcher struct {

	// Specifies how to match a value.
	//
	// Types that are assignable to MatchPattern:
	//
	//	*ValueMatcher_NullMatch_
	//	*ValueMatcher_DoubleMatch
	//	*ValueMatcher_StringMatch
	//	*ValueMatcher_BoolMatch
	//	*ValueMatcher_PresentMatch
	//	*ValueMatcher_ListMatch
	//	*ValueMatcher_OrMatch
	MatchPattern isValueMatcher_MatchPattern `protobuf_oneof:"match_pattern"`
	// contains filtered or unexported fields
}

Specifies the way to match a ProtobufWkt::Value. Primitive values and ListValue are supported. StructValue is not supported and is always not matched. [#next-free-field: 8]

func (*ValueMatcher) Descriptor deprecated

func (*ValueMatcher) Descriptor() ([]byte, []int)

Deprecated: Use ValueMatcher.ProtoReflect.Descriptor instead.

func (*ValueMatcher) GetBoolMatch

func (x *ValueMatcher) GetBoolMatch() bool

func (*ValueMatcher) GetDoubleMatch

func (x *ValueMatcher) GetDoubleMatch() *DoubleMatcher

func (*ValueMatcher) GetListMatch

func (x *ValueMatcher) GetListMatch() *ListMatcher

func (*ValueMatcher) GetMatchPattern

func (m *ValueMatcher) GetMatchPattern() isValueMatcher_MatchPattern

func (*ValueMatcher) GetNullMatch

func (x *ValueMatcher) GetNullMatch() *ValueMatcher_NullMatch

func (*ValueMatcher) GetOrMatch

func (x *ValueMatcher) GetOrMatch() *OrMatcher

func (*ValueMatcher) GetPresentMatch

func (x *ValueMatcher) GetPresentMatch() bool

func (*ValueMatcher) GetStringMatch

func (x *ValueMatcher) GetStringMatch() *StringMatcher

func (*ValueMatcher) ProtoMessage

func (*ValueMatcher) ProtoMessage()

func (*ValueMatcher) ProtoReflect

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

func (*ValueMatcher) Reset

func (x *ValueMatcher) Reset()

func (*ValueMatcher) String

func (x *ValueMatcher) String() string

type ValueMatcher_BoolMatch

type ValueMatcher_BoolMatch struct {
	// If specified, a match occurs if and only if the target value is a bool value and is equal
	// to this field.
	BoolMatch bool `protobuf:"varint,4,opt,name=bool_match,json=boolMatch,proto3,oneof"`
}

type ValueMatcher_DoubleMatch

type ValueMatcher_DoubleMatch struct {
	// If specified, a match occurs if and only if the target value is a double value and is
	// matched to this field.
	DoubleMatch *DoubleMatcher `protobuf:"bytes,2,opt,name=double_match,json=doubleMatch,proto3,oneof"`
}

type ValueMatcher_ListMatch

type ValueMatcher_ListMatch struct {
	// If specified, a match occurs if and only if the target value is a list value and
	// is matched to this field.
	ListMatch *ListMatcher `protobuf:"bytes,6,opt,name=list_match,json=listMatch,proto3,oneof"`
}

type ValueMatcher_NullMatch

type ValueMatcher_NullMatch struct {
	// contains filtered or unexported fields
}

NullMatch is an empty message to specify a null value.

func (*ValueMatcher_NullMatch) Descriptor deprecated

func (*ValueMatcher_NullMatch) Descriptor() ([]byte, []int)

Deprecated: Use ValueMatcher_NullMatch.ProtoReflect.Descriptor instead.

func (*ValueMatcher_NullMatch) ProtoMessage

func (*ValueMatcher_NullMatch) ProtoMessage()

func (*ValueMatcher_NullMatch) ProtoReflect

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

func (*ValueMatcher_NullMatch) Reset

func (x *ValueMatcher_NullMatch) Reset()

func (*ValueMatcher_NullMatch) String

func (x *ValueMatcher_NullMatch) String() string

type ValueMatcher_NullMatch_

type ValueMatcher_NullMatch_ struct {
	// If specified, a match occurs if and only if the target value is a NullValue.
	NullMatch *ValueMatcher_NullMatch `protobuf:"bytes,1,opt,name=null_match,json=nullMatch,proto3,oneof"`
}

type ValueMatcher_OrMatch

type ValueMatcher_OrMatch struct {
	// If specified, a match occurs if and only if any of the alternatives in the match accept the value.
	OrMatch *OrMatcher `protobuf:"bytes,7,opt,name=or_match,json=orMatch,proto3,oneof"`
}

type ValueMatcher_PresentMatch

type ValueMatcher_PresentMatch struct {
	// If specified, value match will be performed based on whether the path is referring to a
	// valid primitive value in the metadata. If the path is referring to a non-primitive value,
	// the result is always not matched.
	PresentMatch bool `protobuf:"varint,5,opt,name=present_match,json=presentMatch,proto3,oneof"`
}

type ValueMatcher_StringMatch

type ValueMatcher_StringMatch struct {
	// If specified, a match occurs if and only if the target value is a string value and is
	// matched to this field.
	StringMatch *StringMatcher `protobuf:"bytes,3,opt,name=string_match,json=stringMatch,proto3,oneof"`
}

Jump to

Keyboard shortcuts

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