matcherv3

package
v1.33.0-20240422202033... Latest Latest
Warning

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

Go to latest
Published: unknown License: Apache-2.0 Imports: 8 Imported by: 9

Documentation

Index

Constants

This section is empty.

Variables

View Source
var File_xds_type_matcher_v3_cel_proto protoreflect.FileDescriptor
View Source
var File_xds_type_matcher_v3_domain_proto protoreflect.FileDescriptor
View Source
var File_xds_type_matcher_v3_http_inputs_proto protoreflect.FileDescriptor
View Source
var File_xds_type_matcher_v3_ip_proto protoreflect.FileDescriptor
View Source
var File_xds_type_matcher_v3_matcher_proto protoreflect.FileDescriptor
View Source
var File_xds_type_matcher_v3_range_proto protoreflect.FileDescriptor
View Source
var File_xds_type_matcher_v3_regex_proto protoreflect.FileDescriptor
View Source
var File_xds_type_matcher_v3_string_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type CelMatcher

type CelMatcher struct {

	// Either parsed or checked representation of the CEL program.
	ExprMatch *v3.CelExpression `protobuf:"bytes,1,opt,name=expr_match,json=exprMatch,proto3" json:"expr_match,omitempty"`
	// Free-form description of the CEL AST, e.g. the original expression text, to be
	// used for debugging assistance.
	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
	// contains filtered or unexported fields
}

Performs a match by evaluating a `Common Expression Language <https://github.com/google/cel-spec>`_ (CEL) expression against the standardized set of :ref:`HTTP attributes <arch_overview_attributes>` specified via “HttpAttributesCelMatchInput“.

.. attention::

The match is ``true``, iff the result of the evaluation is a bool AND true.
In all other cases, the match is ``false``, including but not limited to: non-bool types,
``false``, ``null``,`` int(1)``, etc.
In case CEL expression raises an error, the result of the evaluation is interpreted "no match".

Refer to :ref:`Unified Matcher API <envoy_v3_api_msg_.xds.type.matcher.v3.Matcher>` documentation for usage details.

[#comment:TODO(sergiitk): Link HttpAttributesMatchInput + usage example.] [#comment:TODO(sergiitk): When implemented, add the extension tag.]

func (*CelMatcher) Descriptor deprecated

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

Deprecated: Use CelMatcher.ProtoReflect.Descriptor instead.

func (*CelMatcher) GetDescription

func (x *CelMatcher) GetDescription() string

func (*CelMatcher) GetExprMatch

func (x *CelMatcher) GetExprMatch() *v3.CelExpression

func (*CelMatcher) ProtoMessage

func (*CelMatcher) ProtoMessage()

func (*CelMatcher) ProtoReflect

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

func (*CelMatcher) Reset

func (x *CelMatcher) Reset()

func (*CelMatcher) String

func (x *CelMatcher) String() string

type DoubleRangeMatcher

type DoubleRangeMatcher struct {

	// Match a number by a list of number ranges. If multiple ranges contain the
	// input number, then the first action in this list is taken.
	RangeMatchers []*DoubleRangeMatcher_RangeMatcher `protobuf:"bytes,1,rep,name=range_matchers,json=rangeMatchers,proto3" json:"range_matchers,omitempty"`
	// contains filtered or unexported fields
}

Specifies a set of ranges for matching a double number and the associated match actions.

func (*DoubleRangeMatcher) Descriptor deprecated

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

Deprecated: Use DoubleRangeMatcher.ProtoReflect.Descriptor instead.

func (*DoubleRangeMatcher) GetRangeMatchers

func (x *DoubleRangeMatcher) GetRangeMatchers() []*DoubleRangeMatcher_RangeMatcher

func (*DoubleRangeMatcher) ProtoMessage

func (*DoubleRangeMatcher) ProtoMessage()

func (*DoubleRangeMatcher) ProtoReflect

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

func (*DoubleRangeMatcher) Reset

func (x *DoubleRangeMatcher) Reset()

func (*DoubleRangeMatcher) String

func (x *DoubleRangeMatcher) String() string

type DoubleRangeMatcher_RangeMatcher

type DoubleRangeMatcher_RangeMatcher struct {

	// A non-empty set of double ranges.
	Ranges []*v3.DoubleRange `protobuf:"bytes,1,rep,name=ranges,proto3" json:"ranges,omitempty"`
	// Match action to apply when the input number is within one of the ranges.
	OnMatch *Matcher_OnMatch `protobuf:"bytes,2,opt,name=on_match,json=onMatch,proto3" json:"on_match,omitempty"`
	// contains filtered or unexported fields
}

Specifies a list of number ranges and a match action.

func (*DoubleRangeMatcher_RangeMatcher) Descriptor deprecated

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

Deprecated: Use DoubleRangeMatcher_RangeMatcher.ProtoReflect.Descriptor instead.

func (*DoubleRangeMatcher_RangeMatcher) GetOnMatch

func (*DoubleRangeMatcher_RangeMatcher) GetRanges

func (*DoubleRangeMatcher_RangeMatcher) ProtoMessage

func (*DoubleRangeMatcher_RangeMatcher) ProtoMessage()

func (*DoubleRangeMatcher_RangeMatcher) ProtoReflect

func (*DoubleRangeMatcher_RangeMatcher) Reset

func (*DoubleRangeMatcher_RangeMatcher) String

type HttpAttributesCelMatchInput

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

Specifies that matching should be performed on the set of :ref:`HTTP attributes <arch_overview_attributes>`.

The attributes will be exposed via `Common Expression Language <https://github.com/google/cel-spec>`_ runtime to associated CEL matcher.

Refer to :ref:`Unified Matcher API <envoy_v3_api_msg_.xds.type.matcher.v3.Matcher>` documentation for usage details.

[#comment:TODO(sergiitk): When implemented, add the extension tag.]

func (*HttpAttributesCelMatchInput) Descriptor deprecated

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

Deprecated: Use HttpAttributesCelMatchInput.ProtoReflect.Descriptor instead.

func (*HttpAttributesCelMatchInput) ProtoMessage

func (*HttpAttributesCelMatchInput) ProtoMessage()

func (*HttpAttributesCelMatchInput) ProtoReflect

func (*HttpAttributesCelMatchInput) Reset

func (x *HttpAttributesCelMatchInput) Reset()

func (*HttpAttributesCelMatchInput) String

func (x *HttpAttributesCelMatchInput) String() string

type IPMatcher

type IPMatcher struct {

	// Match IP address by CIDR ranges.
	RangeMatchers []*IPMatcher_IPRangeMatcher `protobuf:"bytes,1,rep,name=range_matchers,json=rangeMatchers,proto3" json:"range_matchers,omitempty"`
	// contains filtered or unexported fields
}

Matches a specific IP address against a set of possibly overlapping subnets using a trie.

func (*IPMatcher) Descriptor deprecated

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

Deprecated: Use IPMatcher.ProtoReflect.Descriptor instead.

func (*IPMatcher) GetRangeMatchers

func (x *IPMatcher) GetRangeMatchers() []*IPMatcher_IPRangeMatcher

func (*IPMatcher) ProtoMessage

func (*IPMatcher) ProtoMessage()

func (*IPMatcher) ProtoReflect

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

func (*IPMatcher) Reset

func (x *IPMatcher) Reset()

func (*IPMatcher) String

func (x *IPMatcher) String() string

type IPMatcher_IPRangeMatcher

type IPMatcher_IPRangeMatcher struct {

	// A non-empty set of CIDR ranges.
	Ranges []*v3.CidrRange `protobuf:"bytes,1,rep,name=ranges,proto3" json:"ranges,omitempty"`
	// Match action to apply when the IP address is within one of the CIDR ranges.
	OnMatch *Matcher_OnMatch `protobuf:"bytes,2,opt,name=on_match,json=onMatch,proto3" json:"on_match,omitempty"`
	// Indicates whether this match option should be considered if there is a
	// more specific matcher. Exclusive matchers are not selected whenever a
	// more specific matcher exists (e.g. matcher with a longer prefix) even
	// when the more specific matcher fails its nested match condition.
	// Non-exclusive matchers are considered if the more specific matcher
	// exists but its nested match condition does not entirely match.
	// Non-exclusive matchers are selected in the order of their specificity
	// first (longest prefix first), then the order of declaration next.
	//
	// For example, consider two range matchers: an exclusive matcher *X* on
	// “0.0.0.0/0“ and a matcher *Y* on “192.0.0.0/2“ with a nested match
	// condition *Z*. For the input IP “192.168.0.1“ matcher *Y* is the most
	// specific. If its nested match condition *Z* does not accept the input,
	// then the less specific matcher *X* does not apply either despite the
	// input being within the range, because matcher *X* is exclusive.
	//
	// The opposite is true if matcher *X* is not marked as exclusive. In that
	// case matcher *X* always matches whenever matcher "*Y* rejects the input.
	Exclusive bool `protobuf:"varint,3,opt,name=exclusive,proto3" json:"exclusive,omitempty"`
	// contains filtered or unexported fields
}

Specifies a list of IP address ranges and a match action.

func (*IPMatcher_IPRangeMatcher) Descriptor deprecated

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

Deprecated: Use IPMatcher_IPRangeMatcher.ProtoReflect.Descriptor instead.

func (*IPMatcher_IPRangeMatcher) GetExclusive

func (x *IPMatcher_IPRangeMatcher) GetExclusive() bool

func (*IPMatcher_IPRangeMatcher) GetOnMatch

func (x *IPMatcher_IPRangeMatcher) GetOnMatch() *Matcher_OnMatch

func (*IPMatcher_IPRangeMatcher) GetRanges

func (x *IPMatcher_IPRangeMatcher) GetRanges() []*v3.CidrRange

func (*IPMatcher_IPRangeMatcher) ProtoMessage

func (*IPMatcher_IPRangeMatcher) ProtoMessage()

func (*IPMatcher_IPRangeMatcher) ProtoReflect

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

func (*IPMatcher_IPRangeMatcher) Reset

func (x *IPMatcher_IPRangeMatcher) Reset()

func (*IPMatcher_IPRangeMatcher) String

func (x *IPMatcher_IPRangeMatcher) String() string

type Int32RangeMatcher

type Int32RangeMatcher struct {

	// Match a number by a list of number ranges. If multiple ranges contain the
	// input number, then the first action in this list is taken.
	RangeMatchers []*Int32RangeMatcher_RangeMatcher `protobuf:"bytes,1,rep,name=range_matchers,json=rangeMatchers,proto3" json:"range_matchers,omitempty"`
	// contains filtered or unexported fields
}

Specifies a set of ranges for matching an int32 number and the associated match actions.

func (*Int32RangeMatcher) Descriptor deprecated

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

Deprecated: Use Int32RangeMatcher.ProtoReflect.Descriptor instead.

func (*Int32RangeMatcher) GetRangeMatchers

func (x *Int32RangeMatcher) GetRangeMatchers() []*Int32RangeMatcher_RangeMatcher

func (*Int32RangeMatcher) ProtoMessage

func (*Int32RangeMatcher) ProtoMessage()

func (*Int32RangeMatcher) ProtoReflect

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

func (*Int32RangeMatcher) Reset

func (x *Int32RangeMatcher) Reset()

func (*Int32RangeMatcher) String

func (x *Int32RangeMatcher) String() string

type Int32RangeMatcher_RangeMatcher

type Int32RangeMatcher_RangeMatcher struct {

	// A non-empty set of int32 ranges.
	Ranges []*v3.Int32Range `protobuf:"bytes,1,rep,name=ranges,proto3" json:"ranges,omitempty"`
	// Match action to apply when the input number is within one of the ranges.
	OnMatch *Matcher_OnMatch `protobuf:"bytes,2,opt,name=on_match,json=onMatch,proto3" json:"on_match,omitempty"`
	// contains filtered or unexported fields
}

Specifies a list of number ranges and a match action.

func (*Int32RangeMatcher_RangeMatcher) Descriptor deprecated

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

Deprecated: Use Int32RangeMatcher_RangeMatcher.ProtoReflect.Descriptor instead.

func (*Int32RangeMatcher_RangeMatcher) GetOnMatch

func (*Int32RangeMatcher_RangeMatcher) GetRanges

func (x *Int32RangeMatcher_RangeMatcher) GetRanges() []*v3.Int32Range

func (*Int32RangeMatcher_RangeMatcher) ProtoMessage

func (*Int32RangeMatcher_RangeMatcher) ProtoMessage()

func (*Int32RangeMatcher_RangeMatcher) ProtoReflect

func (*Int32RangeMatcher_RangeMatcher) Reset

func (x *Int32RangeMatcher_RangeMatcher) Reset()

func (*Int32RangeMatcher_RangeMatcher) String

type Int64RangeMatcher

type Int64RangeMatcher struct {

	// Match a number by a list of number ranges. If multiple ranges contain the
	// input number, then the first action in this list is taken.
	RangeMatchers []*Int64RangeMatcher_RangeMatcher `protobuf:"bytes,1,rep,name=range_matchers,json=rangeMatchers,proto3" json:"range_matchers,omitempty"`
	// contains filtered or unexported fields
}

Specifies a set of ranges for matching an int64 number and the associated match actions.

func (*Int64RangeMatcher) Descriptor deprecated

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

Deprecated: Use Int64RangeMatcher.ProtoReflect.Descriptor instead.

func (*Int64RangeMatcher) GetRangeMatchers

func (x *Int64RangeMatcher) GetRangeMatchers() []*Int64RangeMatcher_RangeMatcher

func (*Int64RangeMatcher) ProtoMessage

func (*Int64RangeMatcher) ProtoMessage()

func (*Int64RangeMatcher) ProtoReflect

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

func (*Int64RangeMatcher) Reset

func (x *Int64RangeMatcher) Reset()

func (*Int64RangeMatcher) String

func (x *Int64RangeMatcher) String() string

type Int64RangeMatcher_RangeMatcher

type Int64RangeMatcher_RangeMatcher struct {

	// A non-empty set of int64 ranges.
	Ranges []*v3.Int64Range `protobuf:"bytes,1,rep,name=ranges,proto3" json:"ranges,omitempty"`
	// Match action to apply when the input number is within one of the ranges.
	OnMatch *Matcher_OnMatch `protobuf:"bytes,2,opt,name=on_match,json=onMatch,proto3" json:"on_match,omitempty"`
	// contains filtered or unexported fields
}

Specifies a list of number ranges and a match action.

func (*Int64RangeMatcher_RangeMatcher) Descriptor deprecated

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

Deprecated: Use Int64RangeMatcher_RangeMatcher.ProtoReflect.Descriptor instead.

func (*Int64RangeMatcher_RangeMatcher) GetOnMatch

func (*Int64RangeMatcher_RangeMatcher) GetRanges

func (x *Int64RangeMatcher_RangeMatcher) GetRanges() []*v3.Int64Range

func (*Int64RangeMatcher_RangeMatcher) ProtoMessage

func (*Int64RangeMatcher_RangeMatcher) ProtoMessage()

func (*Int64RangeMatcher_RangeMatcher) ProtoReflect

func (*Int64RangeMatcher_RangeMatcher) Reset

func (x *Int64RangeMatcher_RangeMatcher) Reset()

func (*Int64RangeMatcher_RangeMatcher) String

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 Matcher

type Matcher struct {

	// Types that are assignable to MatcherType:
	//
	//	*Matcher_MatcherList_
	//	*Matcher_MatcherTree_
	MatcherType isMatcher_MatcherType `protobuf_oneof:"matcher_type"`
	// Optional OnMatch to use if no matcher above matched (e.g., if there are no matchers specified
	// above, or if none of the matches specified above succeeded).
	// If no matcher above matched and this field is not populated, the match will be considered unsuccessful.
	OnNoMatch *Matcher_OnMatch `protobuf:"bytes,3,opt,name=on_no_match,json=onNoMatch,proto3" json:"on_no_match,omitempty"`
	// contains filtered or unexported fields
}

A matcher, which may traverse a matching tree in order to result in a match action. During matching, the tree will be traversed until a match is found, or if no match is found the action specified by the most specific on_no_match will be evaluated. As an on_no_match might result in another matching tree being evaluated, this process might repeat several times until the final OnMatch (or no match) is decided.

func (*Matcher) Descriptor deprecated

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

Deprecated: Use Matcher.ProtoReflect.Descriptor instead.

func (*Matcher) GetMatcherList

func (x *Matcher) GetMatcherList() *Matcher_MatcherList

func (*Matcher) GetMatcherTree

func (x *Matcher) GetMatcherTree() *Matcher_MatcherTree

func (*Matcher) GetMatcherType

func (m *Matcher) GetMatcherType() isMatcher_MatcherType

func (*Matcher) GetOnNoMatch

func (x *Matcher) GetOnNoMatch() *Matcher_OnMatch

func (*Matcher) ProtoMessage

func (*Matcher) ProtoMessage()

func (*Matcher) ProtoReflect

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

func (*Matcher) Reset

func (x *Matcher) Reset()

func (*Matcher) String

func (x *Matcher) String() string

type Matcher_MatcherList

type Matcher_MatcherList struct {

	// A list of matchers. First match wins.
	Matchers []*Matcher_MatcherList_FieldMatcher `protobuf:"bytes,1,rep,name=matchers,proto3" json:"matchers,omitempty"`
	// contains filtered or unexported fields
}

A linear list of field matchers. The field matchers are evaluated in order, and the first match wins.

func (*Matcher_MatcherList) Descriptor deprecated

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

Deprecated: Use Matcher_MatcherList.ProtoReflect.Descriptor instead.

func (*Matcher_MatcherList) GetMatchers

func (*Matcher_MatcherList) ProtoMessage

func (*Matcher_MatcherList) ProtoMessage()

func (*Matcher_MatcherList) ProtoReflect

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

func (*Matcher_MatcherList) Reset

func (x *Matcher_MatcherList) Reset()

func (*Matcher_MatcherList) String

func (x *Matcher_MatcherList) String() string

type Matcher_MatcherList_

type Matcher_MatcherList_ struct {
	// A linear list of matchers to evaluate.
	MatcherList *Matcher_MatcherList `protobuf:"bytes,1,opt,name=matcher_list,json=matcherList,proto3,oneof"`
}

type Matcher_MatcherList_FieldMatcher

type Matcher_MatcherList_FieldMatcher struct {

	// Determines if the match succeeds.
	Predicate *Matcher_MatcherList_Predicate `protobuf:"bytes,1,opt,name=predicate,proto3" json:"predicate,omitempty"`
	// What to do if the match succeeds.
	OnMatch *Matcher_OnMatch `protobuf:"bytes,2,opt,name=on_match,json=onMatch,proto3" json:"on_match,omitempty"`
	// contains filtered or unexported fields
}

An individual matcher.

func (*Matcher_MatcherList_FieldMatcher) Descriptor deprecated

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

Deprecated: Use Matcher_MatcherList_FieldMatcher.ProtoReflect.Descriptor instead.

func (*Matcher_MatcherList_FieldMatcher) GetOnMatch

func (*Matcher_MatcherList_FieldMatcher) GetPredicate

func (*Matcher_MatcherList_FieldMatcher) ProtoMessage

func (*Matcher_MatcherList_FieldMatcher) ProtoMessage()

func (*Matcher_MatcherList_FieldMatcher) ProtoReflect

func (*Matcher_MatcherList_FieldMatcher) Reset

func (*Matcher_MatcherList_FieldMatcher) String

type Matcher_MatcherList_Predicate

type Matcher_MatcherList_Predicate struct {

	// Types that are assignable to MatchType:
	//
	//	*Matcher_MatcherList_Predicate_SinglePredicate_
	//	*Matcher_MatcherList_Predicate_OrMatcher
	//	*Matcher_MatcherList_Predicate_AndMatcher
	//	*Matcher_MatcherList_Predicate_NotMatcher
	MatchType isMatcher_MatcherList_Predicate_MatchType `protobuf_oneof:"match_type"`
	// contains filtered or unexported fields
}

Predicate to determine if a match is successful.

func (*Matcher_MatcherList_Predicate) Descriptor deprecated

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

Deprecated: Use Matcher_MatcherList_Predicate.ProtoReflect.Descriptor instead.

func (*Matcher_MatcherList_Predicate) GetAndMatcher

func (*Matcher_MatcherList_Predicate) GetMatchType

func (m *Matcher_MatcherList_Predicate) GetMatchType() isMatcher_MatcherList_Predicate_MatchType

func (*Matcher_MatcherList_Predicate) GetNotMatcher

func (*Matcher_MatcherList_Predicate) GetOrMatcher

func (*Matcher_MatcherList_Predicate) GetSinglePredicate

func (*Matcher_MatcherList_Predicate) ProtoMessage

func (*Matcher_MatcherList_Predicate) ProtoMessage()

func (*Matcher_MatcherList_Predicate) ProtoReflect

func (*Matcher_MatcherList_Predicate) Reset

func (x *Matcher_MatcherList_Predicate) Reset()

func (*Matcher_MatcherList_Predicate) String

type Matcher_MatcherList_Predicate_AndMatcher

type Matcher_MatcherList_Predicate_AndMatcher struct {
	// A list of predicates to be AND-ed together.
	AndMatcher *Matcher_MatcherList_Predicate_PredicateList `protobuf:"bytes,3,opt,name=and_matcher,json=andMatcher,proto3,oneof"`
}

type Matcher_MatcherList_Predicate_NotMatcher

type Matcher_MatcherList_Predicate_NotMatcher struct {
	// The invert of a predicate
	NotMatcher *Matcher_MatcherList_Predicate `protobuf:"bytes,4,opt,name=not_matcher,json=notMatcher,proto3,oneof"`
}

type Matcher_MatcherList_Predicate_OrMatcher

type Matcher_MatcherList_Predicate_OrMatcher struct {
	// A list of predicates to be OR-ed together.
	OrMatcher *Matcher_MatcherList_Predicate_PredicateList `protobuf:"bytes,2,opt,name=or_matcher,json=orMatcher,proto3,oneof"`
}

type Matcher_MatcherList_Predicate_PredicateList

type Matcher_MatcherList_Predicate_PredicateList struct {
	Predicate []*Matcher_MatcherList_Predicate `protobuf:"bytes,1,rep,name=predicate,proto3" json:"predicate,omitempty"`
	// contains filtered or unexported fields
}

A list of two or more matchers. Used to allow using a list within a oneof.

func (*Matcher_MatcherList_Predicate_PredicateList) Descriptor deprecated

Deprecated: Use Matcher_MatcherList_Predicate_PredicateList.ProtoReflect.Descriptor instead.

func (*Matcher_MatcherList_Predicate_PredicateList) GetPredicate

func (*Matcher_MatcherList_Predicate_PredicateList) ProtoMessage

func (*Matcher_MatcherList_Predicate_PredicateList) ProtoReflect

func (*Matcher_MatcherList_Predicate_PredicateList) Reset

func (*Matcher_MatcherList_Predicate_PredicateList) String

type Matcher_MatcherList_Predicate_SinglePredicate

type Matcher_MatcherList_Predicate_SinglePredicate struct {

	// Protocol-specific specification of input field to match on.
	// [#extension-category: envoy.matching.common_inputs]
	Input *v3.TypedExtensionConfig `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"`
	// Types that are assignable to Matcher:
	//
	//	*Matcher_MatcherList_Predicate_SinglePredicate_ValueMatch
	//	*Matcher_MatcherList_Predicate_SinglePredicate_CustomMatch
	Matcher isMatcher_MatcherList_Predicate_SinglePredicate_Matcher `protobuf_oneof:"matcher"`
	// contains filtered or unexported fields
}

Predicate for a single input field.

func (*Matcher_MatcherList_Predicate_SinglePredicate) Descriptor deprecated

Deprecated: Use Matcher_MatcherList_Predicate_SinglePredicate.ProtoReflect.Descriptor instead.

func (*Matcher_MatcherList_Predicate_SinglePredicate) GetCustomMatch

func (*Matcher_MatcherList_Predicate_SinglePredicate) GetInput

func (*Matcher_MatcherList_Predicate_SinglePredicate) GetMatcher

func (m *Matcher_MatcherList_Predicate_SinglePredicate) GetMatcher() isMatcher_MatcherList_Predicate_SinglePredicate_Matcher

func (*Matcher_MatcherList_Predicate_SinglePredicate) GetValueMatch

func (*Matcher_MatcherList_Predicate_SinglePredicate) ProtoMessage

func (*Matcher_MatcherList_Predicate_SinglePredicate) ProtoReflect

func (*Matcher_MatcherList_Predicate_SinglePredicate) Reset

func (*Matcher_MatcherList_Predicate_SinglePredicate) String

type Matcher_MatcherList_Predicate_SinglePredicate_

type Matcher_MatcherList_Predicate_SinglePredicate_ struct {
	// A single predicate to evaluate.
	SinglePredicate *Matcher_MatcherList_Predicate_SinglePredicate `protobuf:"bytes,1,opt,name=single_predicate,json=singlePredicate,proto3,oneof"`
}

type Matcher_MatcherList_Predicate_SinglePredicate_CustomMatch

type Matcher_MatcherList_Predicate_SinglePredicate_CustomMatch struct {
	// Extension for custom matching logic.
	// [#extension-category: envoy.matching.input_matchers]
	CustomMatch *v3.TypedExtensionConfig `protobuf:"bytes,3,opt,name=custom_match,json=customMatch,proto3,oneof"`
}

type Matcher_MatcherList_Predicate_SinglePredicate_ValueMatch

type Matcher_MatcherList_Predicate_SinglePredicate_ValueMatch struct {
	// Built-in string matcher.
	ValueMatch *StringMatcher `protobuf:"bytes,2,opt,name=value_match,json=valueMatch,proto3,oneof"`
}

type Matcher_MatcherTree

type Matcher_MatcherTree struct {

	// Protocol-specific specification of input field to match on.
	Input *v3.TypedExtensionConfig `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"`
	// Exact or prefix match maps in which to look up the input value.
	// If the lookup succeeds, the match is considered successful, and
	// the corresponding OnMatch is used.
	//
	// Types that are assignable to TreeType:
	//
	//	*Matcher_MatcherTree_ExactMatchMap
	//	*Matcher_MatcherTree_PrefixMatchMap
	//	*Matcher_MatcherTree_CustomMatch
	TreeType isMatcher_MatcherTree_TreeType `protobuf_oneof:"tree_type"`
	// contains filtered or unexported fields
}

func (*Matcher_MatcherTree) Descriptor deprecated

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

Deprecated: Use Matcher_MatcherTree.ProtoReflect.Descriptor instead.

func (*Matcher_MatcherTree) GetCustomMatch

func (x *Matcher_MatcherTree) GetCustomMatch() *v3.TypedExtensionConfig

func (*Matcher_MatcherTree) GetExactMatchMap

func (x *Matcher_MatcherTree) GetExactMatchMap() *Matcher_MatcherTree_MatchMap

func (*Matcher_MatcherTree) GetInput

func (*Matcher_MatcherTree) GetPrefixMatchMap

func (x *Matcher_MatcherTree) GetPrefixMatchMap() *Matcher_MatcherTree_MatchMap

func (*Matcher_MatcherTree) GetTreeType

func (m *Matcher_MatcherTree) GetTreeType() isMatcher_MatcherTree_TreeType

func (*Matcher_MatcherTree) ProtoMessage

func (*Matcher_MatcherTree) ProtoMessage()

func (*Matcher_MatcherTree) ProtoReflect

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

func (*Matcher_MatcherTree) Reset

func (x *Matcher_MatcherTree) Reset()

func (*Matcher_MatcherTree) String

func (x *Matcher_MatcherTree) String() string

type Matcher_MatcherTree_

type Matcher_MatcherTree_ struct {
	// A match tree to evaluate.
	MatcherTree *Matcher_MatcherTree `protobuf:"bytes,2,opt,name=matcher_tree,json=matcherTree,proto3,oneof"`
}

type Matcher_MatcherTree_CustomMatch

type Matcher_MatcherTree_CustomMatch struct {
	// Extension for custom matching logic.
	CustomMatch *v3.TypedExtensionConfig `protobuf:"bytes,4,opt,name=custom_match,json=customMatch,proto3,oneof"`
}

type Matcher_MatcherTree_ExactMatchMap

type Matcher_MatcherTree_ExactMatchMap struct {
	ExactMatchMap *Matcher_MatcherTree_MatchMap `protobuf:"bytes,2,opt,name=exact_match_map,json=exactMatchMap,proto3,oneof"`
}

type Matcher_MatcherTree_MatchMap

type Matcher_MatcherTree_MatchMap struct {
	Map map[string]*Matcher_OnMatch `` /* 147-byte string literal not displayed */
	// contains filtered or unexported fields
}

A map of configured matchers. Used to allow using a map within a oneof.

func (*Matcher_MatcherTree_MatchMap) Descriptor deprecated

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

Deprecated: Use Matcher_MatcherTree_MatchMap.ProtoReflect.Descriptor instead.

func (*Matcher_MatcherTree_MatchMap) GetMap

func (*Matcher_MatcherTree_MatchMap) ProtoMessage

func (*Matcher_MatcherTree_MatchMap) ProtoMessage()

func (*Matcher_MatcherTree_MatchMap) ProtoReflect

func (*Matcher_MatcherTree_MatchMap) Reset

func (x *Matcher_MatcherTree_MatchMap) Reset()

func (*Matcher_MatcherTree_MatchMap) String

type Matcher_MatcherTree_PrefixMatchMap

type Matcher_MatcherTree_PrefixMatchMap struct {
	// Longest matching prefix wins.
	PrefixMatchMap *Matcher_MatcherTree_MatchMap `protobuf:"bytes,3,opt,name=prefix_match_map,json=prefixMatchMap,proto3,oneof"`
}

type Matcher_OnMatch

type Matcher_OnMatch struct {

	// Types that are assignable to OnMatch:
	//
	//	*Matcher_OnMatch_Matcher
	//	*Matcher_OnMatch_Action
	OnMatch isMatcher_OnMatch_OnMatch `protobuf_oneof:"on_match"`
	// contains filtered or unexported fields
}

What to do if a match is successful.

func (*Matcher_OnMatch) Descriptor deprecated

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

Deprecated: Use Matcher_OnMatch.ProtoReflect.Descriptor instead.

func (*Matcher_OnMatch) GetAction

func (x *Matcher_OnMatch) GetAction() *v3.TypedExtensionConfig

func (*Matcher_OnMatch) GetMatcher

func (x *Matcher_OnMatch) GetMatcher() *Matcher

func (*Matcher_OnMatch) GetOnMatch

func (m *Matcher_OnMatch) GetOnMatch() isMatcher_OnMatch_OnMatch

func (*Matcher_OnMatch) ProtoMessage

func (*Matcher_OnMatch) ProtoMessage()

func (*Matcher_OnMatch) ProtoReflect

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

func (*Matcher_OnMatch) Reset

func (x *Matcher_OnMatch) Reset()

func (*Matcher_OnMatch) String

func (x *Matcher_OnMatch) String() string

type Matcher_OnMatch_Action

type Matcher_OnMatch_Action struct {
	// Protocol-specific action to take.
	Action *v3.TypedExtensionConfig `protobuf:"bytes,2,opt,name=action,proto3,oneof"`
}

type Matcher_OnMatch_Matcher

type Matcher_OnMatch_Matcher struct {
	// Nested matcher to evaluate.
	// If the nested matcher does not match and does not specify
	// on_no_match, then this matcher is considered not to have
	// matched, even if a predicate at this level or above returned
	// true.
	Matcher *Matcher `protobuf:"bytes,1,opt,name=matcher,proto3,oneof"`
}

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.
	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

func (x *RegexMatcher) GetGoogleRe2() *RegexMatcher_GoogleRE2

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 {
	// 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) 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.
	GoogleRe2 *RegexMatcher_GoogleRE2 `protobuf:"bytes,1,opt,name=google_re2,json=googleRe2,proto3,oneof"`
}

type ServerNameMatcher

type ServerNameMatcher struct {

	// Match a server name by multiple domain matchers. Each domain, exact or
	// wildcard, must appear at most once across all the domain matchers.
	//
	// The server name will be matched against all wildcard domains starting from
	// the longest suffix, i.e. “www.example.com“ input will be first matched
	// against “www.example.com“, then “*.example.com“, then “*.com“, then
	// “*“, until the associated matcher action accepts the input. Note that
	// wildcards must be on a dot border, and values like “*w.example.com“ are
	// invalid.
	DomainMatchers []*ServerNameMatcher_DomainMatcher `protobuf:"bytes,1,rep,name=domain_matchers,json=domainMatchers,proto3" json:"domain_matchers,omitempty"`
	// contains filtered or unexported fields
}

Matches a fully qualified server name against a set of domain names with optional wildcards.

func (*ServerNameMatcher) Descriptor deprecated

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

Deprecated: Use ServerNameMatcher.ProtoReflect.Descriptor instead.

func (*ServerNameMatcher) GetDomainMatchers

func (x *ServerNameMatcher) GetDomainMatchers() []*ServerNameMatcher_DomainMatcher

func (*ServerNameMatcher) ProtoMessage

func (*ServerNameMatcher) ProtoMessage()

func (*ServerNameMatcher) ProtoReflect

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

func (*ServerNameMatcher) Reset

func (x *ServerNameMatcher) Reset()

func (*ServerNameMatcher) String

func (x *ServerNameMatcher) String() string

type ServerNameMatcher_DomainMatcher

type ServerNameMatcher_DomainMatcher struct {

	// A non-empty set of domain names with optional wildcards, e.g.
	// “www.example.com“, “*.com“, or “*“.
	Domains []string `protobuf:"bytes,1,rep,name=domains,proto3" json:"domains,omitempty"`
	// Match action to apply when the server name matches any of the domain
	// names in the matcher.
	OnMatch *Matcher_OnMatch `protobuf:"bytes,2,opt,name=on_match,json=onMatch,proto3" json:"on_match,omitempty"`
	// contains filtered or unexported fields
}

Specifies a set of exact and wildcard domains and a match action. The wildcard symbol “*“ must appear at most once as the left-most part of the domain on a dot border. The wildcard matches one or more non-empty domain parts.

func (*ServerNameMatcher_DomainMatcher) Descriptor deprecated

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

Deprecated: Use ServerNameMatcher_DomainMatcher.ProtoReflect.Descriptor instead.

func (*ServerNameMatcher_DomainMatcher) GetDomains

func (x *ServerNameMatcher_DomainMatcher) GetDomains() []string

func (*ServerNameMatcher_DomainMatcher) GetOnMatch

func (*ServerNameMatcher_DomainMatcher) ProtoMessage

func (*ServerNameMatcher_DomainMatcher) ProtoMessage()

func (*ServerNameMatcher_DomainMatcher) ProtoReflect

func (*ServerNameMatcher_DomainMatcher) Reset

func (*ServerNameMatcher_DomainMatcher) String

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 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"`
}

Jump to

Keyboard shortcuts

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