matcherv3

package
v1.36.10-2025110320485... 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: 11

Documentation

Index

Constants

View Source
const Matcher_MatcherList_Predicate_AndMatcher_case case_Matcher_MatcherList_Predicate_MatchType = 3
View Source
const Matcher_MatcherList_Predicate_MatchType_not_set_case case_Matcher_MatcherList_Predicate_MatchType = 0
View Source
const Matcher_MatcherList_Predicate_NotMatcher_case case_Matcher_MatcherList_Predicate_MatchType = 4
View Source
const Matcher_MatcherList_Predicate_OrMatcher_case case_Matcher_MatcherList_Predicate_MatchType = 2
View Source
const Matcher_MatcherList_Predicate_SinglePredicate_CustomMatch_case case_Matcher_MatcherList_Predicate_SinglePredicate_Matcher = 3
View Source
const Matcher_MatcherList_Predicate_SinglePredicate_Matcher_not_set_case case_Matcher_MatcherList_Predicate_SinglePredicate_Matcher = 0
View Source
const Matcher_MatcherList_Predicate_SinglePredicate_ValueMatch_case case_Matcher_MatcherList_Predicate_SinglePredicate_Matcher = 2
View Source
const Matcher_MatcherList_Predicate_SinglePredicate_case case_Matcher_MatcherList_Predicate_MatchType = 1
View Source
const Matcher_MatcherList_case case_Matcher_MatcherType = 1
View Source
const Matcher_MatcherTree_CustomMatch_case case_Matcher_MatcherTree_TreeType = 4
View Source
const Matcher_MatcherTree_ExactMatchMap_case case_Matcher_MatcherTree_TreeType = 2
View Source
const Matcher_MatcherTree_PrefixMatchMap_case case_Matcher_MatcherTree_TreeType = 3
View Source
const Matcher_MatcherTree_TreeType_not_set_case case_Matcher_MatcherTree_TreeType = 0
View Source
const Matcher_MatcherTree_case case_Matcher_MatcherType = 2
View Source
const Matcher_MatcherType_not_set_case case_Matcher_MatcherType = 0
View Source
const Matcher_OnMatch_Action_case case_Matcher_OnMatch_OnMatch = 2
View Source
const Matcher_OnMatch_Matcher_case case_Matcher_OnMatch_OnMatch = 1
View Source
const Matcher_OnMatch_OnMatch_not_set_case case_Matcher_OnMatch_OnMatch = 0
View Source
const RegexMatcher_EngineType_not_set_case case_RegexMatcher_EngineType = 0
View Source
const RegexMatcher_GoogleRe2_case case_RegexMatcher_EngineType = 1
View Source
const StringMatcher_Contains_case case_StringMatcher_MatchPattern = 7
View Source
const StringMatcher_Custom_case case_StringMatcher_MatchPattern = 8
View Source
const StringMatcher_Exact_case case_StringMatcher_MatchPattern = 1
View Source
const StringMatcher_MatchPattern_not_set_case case_StringMatcher_MatchPattern = 0
View Source
const StringMatcher_Prefix_case case_StringMatcher_MatchPattern = 2
View Source
const StringMatcher_SafeRegex_case case_StringMatcher_MatchPattern = 5
View Source
const StringMatcher_Suffix_case case_StringMatcher_MatchPattern = 3

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: envoy.matching.matchers.cel_matcher]

func (*CelMatcher) ClearExprMatch

func (x *CelMatcher) ClearExprMatch()

func (*CelMatcher) GetDescription

func (x *CelMatcher) GetDescription() string

func (*CelMatcher) GetExprMatch

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

func (*CelMatcher) HasExprMatch

func (x *CelMatcher) HasExprMatch() bool

func (*CelMatcher) ProtoMessage

func (*CelMatcher) ProtoMessage()

func (*CelMatcher) ProtoReflect

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

func (*CelMatcher) Reset

func (x *CelMatcher) Reset()

func (*CelMatcher) SetDescription

func (x *CelMatcher) SetDescription(v string)

func (*CelMatcher) SetExprMatch

func (x *CelMatcher) SetExprMatch(v *v3.CelExpression)

func (*CelMatcher) String

func (x *CelMatcher) String() string

type CelMatcher_builder

type CelMatcher_builder struct {

	// Either parsed or checked representation of the CEL program.
	ExprMatch *v3.CelExpression
	// Free-form description of the CEL AST, e.g. the original expression text, to be
	// used for debugging assistance.
	Description string
	// contains filtered or unexported fields
}

func (CelMatcher_builder) Build

func (b0 CelMatcher_builder) Build() *CelMatcher

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) 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) SetRangeMatchers

func (x *DoubleRangeMatcher) SetRangeMatchers(v []*DoubleRangeMatcher_RangeMatcher)

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) ClearOnMatch

func (x *DoubleRangeMatcher_RangeMatcher) ClearOnMatch()

func (*DoubleRangeMatcher_RangeMatcher) GetOnMatch

func (*DoubleRangeMatcher_RangeMatcher) GetRanges

func (*DoubleRangeMatcher_RangeMatcher) HasOnMatch

func (x *DoubleRangeMatcher_RangeMatcher) HasOnMatch() bool

func (*DoubleRangeMatcher_RangeMatcher) ProtoMessage

func (*DoubleRangeMatcher_RangeMatcher) ProtoMessage()

func (*DoubleRangeMatcher_RangeMatcher) ProtoReflect

func (*DoubleRangeMatcher_RangeMatcher) Reset

func (*DoubleRangeMatcher_RangeMatcher) SetOnMatch

func (*DoubleRangeMatcher_RangeMatcher) SetRanges

func (x *DoubleRangeMatcher_RangeMatcher) SetRanges(v []*v3.DoubleRange)

func (*DoubleRangeMatcher_RangeMatcher) String

type DoubleRangeMatcher_RangeMatcher_builder

type DoubleRangeMatcher_RangeMatcher_builder struct {

	// A non-empty set of double ranges.
	Ranges []*v3.DoubleRange
	// Match action to apply when the input number is within one of the ranges.
	OnMatch *Matcher_OnMatch
	// contains filtered or unexported fields
}

func (DoubleRangeMatcher_RangeMatcher_builder) Build

type DoubleRangeMatcher_builder

type DoubleRangeMatcher_builder 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
	// contains filtered or unexported fields
}

func (DoubleRangeMatcher_builder) Build

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: envoy.matching.inputs.cel_data_input]

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 HttpAttributesCelMatchInput_builder

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

func (HttpAttributesCelMatchInput_builder) Build

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) 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) SetRangeMatchers

func (x *IPMatcher) SetRangeMatchers(v []*IPMatcher_IPRangeMatcher)

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) ClearOnMatch

func (x *IPMatcher_IPRangeMatcher) ClearOnMatch()

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) HasOnMatch

func (x *IPMatcher_IPRangeMatcher) HasOnMatch() bool

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) SetExclusive

func (x *IPMatcher_IPRangeMatcher) SetExclusive(v bool)

func (*IPMatcher_IPRangeMatcher) SetOnMatch

func (x *IPMatcher_IPRangeMatcher) SetOnMatch(v *Matcher_OnMatch)

func (*IPMatcher_IPRangeMatcher) SetRanges

func (x *IPMatcher_IPRangeMatcher) SetRanges(v []*v3.CidrRange)

func (*IPMatcher_IPRangeMatcher) String

func (x *IPMatcher_IPRangeMatcher) String() string

type IPMatcher_IPRangeMatcher_builder

type IPMatcher_IPRangeMatcher_builder struct {

	// A non-empty set of CIDR ranges.
	Ranges []*v3.CidrRange
	// Match action to apply when the IP address is within one of the CIDR ranges.
	OnMatch *Matcher_OnMatch
	// 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
	// contains filtered or unexported fields
}

func (IPMatcher_IPRangeMatcher_builder) Build

type IPMatcher_builder

type IPMatcher_builder struct {

	// Match IP address by CIDR ranges.
	RangeMatchers []*IPMatcher_IPRangeMatcher
	// contains filtered or unexported fields
}

func (IPMatcher_builder) Build

func (b0 IPMatcher_builder) Build() *IPMatcher

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) 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) SetRangeMatchers

func (x *Int32RangeMatcher) SetRangeMatchers(v []*Int32RangeMatcher_RangeMatcher)

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) ClearOnMatch

func (x *Int32RangeMatcher_RangeMatcher) ClearOnMatch()

func (*Int32RangeMatcher_RangeMatcher) GetOnMatch

func (*Int32RangeMatcher_RangeMatcher) GetRanges

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

func (*Int32RangeMatcher_RangeMatcher) HasOnMatch

func (x *Int32RangeMatcher_RangeMatcher) HasOnMatch() bool

func (*Int32RangeMatcher_RangeMatcher) ProtoMessage

func (*Int32RangeMatcher_RangeMatcher) ProtoMessage()

func (*Int32RangeMatcher_RangeMatcher) ProtoReflect

func (*Int32RangeMatcher_RangeMatcher) Reset

func (x *Int32RangeMatcher_RangeMatcher) Reset()

func (*Int32RangeMatcher_RangeMatcher) SetOnMatch

func (*Int32RangeMatcher_RangeMatcher) SetRanges

func (x *Int32RangeMatcher_RangeMatcher) SetRanges(v []*v3.Int32Range)

func (*Int32RangeMatcher_RangeMatcher) String

type Int32RangeMatcher_RangeMatcher_builder

type Int32RangeMatcher_RangeMatcher_builder struct {

	// A non-empty set of int32 ranges.
	Ranges []*v3.Int32Range
	// Match action to apply when the input number is within one of the ranges.
	OnMatch *Matcher_OnMatch
	// contains filtered or unexported fields
}

func (Int32RangeMatcher_RangeMatcher_builder) Build

type Int32RangeMatcher_builder

type Int32RangeMatcher_builder 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
	// contains filtered or unexported fields
}

func (Int32RangeMatcher_builder) Build

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) 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) SetRangeMatchers

func (x *Int64RangeMatcher) SetRangeMatchers(v []*Int64RangeMatcher_RangeMatcher)

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) ClearOnMatch

func (x *Int64RangeMatcher_RangeMatcher) ClearOnMatch()

func (*Int64RangeMatcher_RangeMatcher) GetOnMatch

func (*Int64RangeMatcher_RangeMatcher) GetRanges

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

func (*Int64RangeMatcher_RangeMatcher) HasOnMatch

func (x *Int64RangeMatcher_RangeMatcher) HasOnMatch() bool

func (*Int64RangeMatcher_RangeMatcher) ProtoMessage

func (*Int64RangeMatcher_RangeMatcher) ProtoMessage()

func (*Int64RangeMatcher_RangeMatcher) ProtoReflect

func (*Int64RangeMatcher_RangeMatcher) Reset

func (x *Int64RangeMatcher_RangeMatcher) Reset()

func (*Int64RangeMatcher_RangeMatcher) SetOnMatch

func (*Int64RangeMatcher_RangeMatcher) SetRanges

func (x *Int64RangeMatcher_RangeMatcher) SetRanges(v []*v3.Int64Range)

func (*Int64RangeMatcher_RangeMatcher) String

type Int64RangeMatcher_RangeMatcher_builder

type Int64RangeMatcher_RangeMatcher_builder struct {

	// A non-empty set of int64 ranges.
	Ranges []*v3.Int64Range
	// Match action to apply when the input number is within one of the ranges.
	OnMatch *Matcher_OnMatch
	// contains filtered or unexported fields
}

func (Int64RangeMatcher_RangeMatcher_builder) Build

type Int64RangeMatcher_builder

type Int64RangeMatcher_builder 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
	// contains filtered or unexported fields
}

func (Int64RangeMatcher_builder) Build

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) 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) SetPatterns

func (x *ListStringMatcher) SetPatterns(v []*StringMatcher)

func (*ListStringMatcher) String

func (x *ListStringMatcher) String() string

type ListStringMatcher_builder

type ListStringMatcher_builder struct {
	Patterns []*StringMatcher
	// contains filtered or unexported fields
}

func (ListStringMatcher_builder) Build

type Matcher

type Matcher struct {

	// Types that are valid to be assigned 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) ClearMatcherList

func (x *Matcher) ClearMatcherList()

func (*Matcher) ClearMatcherTree

func (x *Matcher) ClearMatcherTree()

func (*Matcher) ClearMatcherType

func (x *Matcher) ClearMatcherType()

func (*Matcher) ClearOnNoMatch

func (x *Matcher) ClearOnNoMatch()

func (*Matcher) GetMatcherList

func (x *Matcher) GetMatcherList() *Matcher_MatcherList

func (*Matcher) GetMatcherTree

func (x *Matcher) GetMatcherTree() *Matcher_MatcherTree

func (*Matcher) GetMatcherType

func (x *Matcher) GetMatcherType() isMatcher_MatcherType

func (*Matcher) GetOnNoMatch

func (x *Matcher) GetOnNoMatch() *Matcher_OnMatch

func (*Matcher) HasMatcherList

func (x *Matcher) HasMatcherList() bool

func (*Matcher) HasMatcherTree

func (x *Matcher) HasMatcherTree() bool

func (*Matcher) HasMatcherType

func (x *Matcher) HasMatcherType() bool

func (*Matcher) HasOnNoMatch

func (x *Matcher) HasOnNoMatch() bool

func (*Matcher) ProtoMessage

func (*Matcher) ProtoMessage()

func (*Matcher) ProtoReflect

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

func (*Matcher) Reset

func (x *Matcher) Reset()

func (*Matcher) SetMatcherList

func (x *Matcher) SetMatcherList(v *Matcher_MatcherList)

func (*Matcher) SetMatcherTree

func (x *Matcher) SetMatcherTree(v *Matcher_MatcherTree)

func (*Matcher) SetOnNoMatch

func (x *Matcher) SetOnNoMatch(v *Matcher_OnMatch)

func (*Matcher) String

func (x *Matcher) String() string

func (*Matcher) WhichMatcherType

func (x *Matcher) WhichMatcherType() case_Matcher_MatcherType

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) 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) SetMatchers

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) ClearOnMatch

func (x *Matcher_MatcherList_FieldMatcher) ClearOnMatch()

func (*Matcher_MatcherList_FieldMatcher) ClearPredicate

func (x *Matcher_MatcherList_FieldMatcher) ClearPredicate()

func (*Matcher_MatcherList_FieldMatcher) GetOnMatch

func (*Matcher_MatcherList_FieldMatcher) GetPredicate

func (*Matcher_MatcherList_FieldMatcher) HasOnMatch

func (x *Matcher_MatcherList_FieldMatcher) HasOnMatch() bool

func (*Matcher_MatcherList_FieldMatcher) HasPredicate

func (x *Matcher_MatcherList_FieldMatcher) HasPredicate() bool

func (*Matcher_MatcherList_FieldMatcher) ProtoMessage

func (*Matcher_MatcherList_FieldMatcher) ProtoMessage()

func (*Matcher_MatcherList_FieldMatcher) ProtoReflect

func (*Matcher_MatcherList_FieldMatcher) Reset

func (*Matcher_MatcherList_FieldMatcher) SetOnMatch

func (*Matcher_MatcherList_FieldMatcher) SetPredicate

func (*Matcher_MatcherList_FieldMatcher) String

type Matcher_MatcherList_FieldMatcher_builder

type Matcher_MatcherList_FieldMatcher_builder struct {

	// Determines if the match succeeds.
	Predicate *Matcher_MatcherList_Predicate
	// What to do if the match succeeds.
	OnMatch *Matcher_OnMatch
	// contains filtered or unexported fields
}

func (Matcher_MatcherList_FieldMatcher_builder) Build

type Matcher_MatcherList_Predicate

type Matcher_MatcherList_Predicate struct {

	// Types that are valid to be assigned 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) ClearAndMatcher

func (x *Matcher_MatcherList_Predicate) ClearAndMatcher()

func (*Matcher_MatcherList_Predicate) ClearMatchType

func (x *Matcher_MatcherList_Predicate) ClearMatchType()

func (*Matcher_MatcherList_Predicate) ClearNotMatcher

func (x *Matcher_MatcherList_Predicate) ClearNotMatcher()

func (*Matcher_MatcherList_Predicate) ClearOrMatcher

func (x *Matcher_MatcherList_Predicate) ClearOrMatcher()

func (*Matcher_MatcherList_Predicate) ClearSinglePredicate

func (x *Matcher_MatcherList_Predicate) ClearSinglePredicate()

func (*Matcher_MatcherList_Predicate) GetAndMatcher

func (*Matcher_MatcherList_Predicate) GetMatchType

func (x *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) HasAndMatcher

func (x *Matcher_MatcherList_Predicate) HasAndMatcher() bool

func (*Matcher_MatcherList_Predicate) HasMatchType

func (x *Matcher_MatcherList_Predicate) HasMatchType() bool

func (*Matcher_MatcherList_Predicate) HasNotMatcher

func (x *Matcher_MatcherList_Predicate) HasNotMatcher() bool

func (*Matcher_MatcherList_Predicate) HasOrMatcher

func (x *Matcher_MatcherList_Predicate) HasOrMatcher() bool

func (*Matcher_MatcherList_Predicate) HasSinglePredicate

func (x *Matcher_MatcherList_Predicate) HasSinglePredicate() bool

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) SetAndMatcher

func (*Matcher_MatcherList_Predicate) SetNotMatcher

func (*Matcher_MatcherList_Predicate) SetOrMatcher

func (*Matcher_MatcherList_Predicate) SetSinglePredicate

func (*Matcher_MatcherList_Predicate) String

func (*Matcher_MatcherList_Predicate) WhichMatchType

func (x *Matcher_MatcherList_Predicate) WhichMatchType() case_Matcher_MatcherList_Predicate_MatchType

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) GetPredicate

func (*Matcher_MatcherList_Predicate_PredicateList) ProtoMessage

func (*Matcher_MatcherList_Predicate_PredicateList) ProtoReflect

func (*Matcher_MatcherList_Predicate_PredicateList) Reset

func (*Matcher_MatcherList_Predicate_PredicateList) SetPredicate

func (*Matcher_MatcherList_Predicate_PredicateList) String

type Matcher_MatcherList_Predicate_PredicateList_builder

type Matcher_MatcherList_Predicate_PredicateList_builder struct {
	Predicate []*Matcher_MatcherList_Predicate
	// contains filtered or unexported fields
}

func (Matcher_MatcherList_Predicate_PredicateList_builder) Build

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 valid to be assigned 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) ClearCustomMatch

func (x *Matcher_MatcherList_Predicate_SinglePredicate) ClearCustomMatch()

func (*Matcher_MatcherList_Predicate_SinglePredicate) ClearInput

func (*Matcher_MatcherList_Predicate_SinglePredicate) ClearMatcher

func (*Matcher_MatcherList_Predicate_SinglePredicate) ClearValueMatch

func (x *Matcher_MatcherList_Predicate_SinglePredicate) ClearValueMatch()

func (*Matcher_MatcherList_Predicate_SinglePredicate) GetCustomMatch

func (*Matcher_MatcherList_Predicate_SinglePredicate) GetInput

func (*Matcher_MatcherList_Predicate_SinglePredicate) GetMatcher

func (x *Matcher_MatcherList_Predicate_SinglePredicate) GetMatcher() isMatcher_MatcherList_Predicate_SinglePredicate_Matcher

func (*Matcher_MatcherList_Predicate_SinglePredicate) GetValueMatch

func (*Matcher_MatcherList_Predicate_SinglePredicate) HasCustomMatch

func (*Matcher_MatcherList_Predicate_SinglePredicate) HasInput

func (*Matcher_MatcherList_Predicate_SinglePredicate) HasMatcher

func (*Matcher_MatcherList_Predicate_SinglePredicate) HasValueMatch

func (*Matcher_MatcherList_Predicate_SinglePredicate) ProtoMessage

func (*Matcher_MatcherList_Predicate_SinglePredicate) ProtoReflect

func (*Matcher_MatcherList_Predicate_SinglePredicate) Reset

func (*Matcher_MatcherList_Predicate_SinglePredicate) SetCustomMatch

func (*Matcher_MatcherList_Predicate_SinglePredicate) SetInput

func (*Matcher_MatcherList_Predicate_SinglePredicate) SetValueMatch

func (*Matcher_MatcherList_Predicate_SinglePredicate) String

func (*Matcher_MatcherList_Predicate_SinglePredicate) WhichMatcher

func (x *Matcher_MatcherList_Predicate_SinglePredicate) WhichMatcher() case_Matcher_MatcherList_Predicate_SinglePredicate_Matcher

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_MatcherList_Predicate_SinglePredicate_builder

type Matcher_MatcherList_Predicate_SinglePredicate_builder struct {

	// Protocol-specific specification of input field to match on.
	// [#extension-category: envoy.matching.common_inputs]
	Input *v3.TypedExtensionConfig
	// Fields of oneof Matcher:
	// Built-in string matcher.
	ValueMatch *StringMatcher
	// Extension for custom matching logic.
	// [#extension-category: envoy.matching.input_matchers]
	CustomMatch *v3.TypedExtensionConfig
	// contains filtered or unexported fields
}

func (Matcher_MatcherList_Predicate_SinglePredicate_builder) Build

type Matcher_MatcherList_Predicate_builder

type Matcher_MatcherList_Predicate_builder struct {

	// Fields of oneof MatchType:
	// A single predicate to evaluate.
	SinglePredicate *Matcher_MatcherList_Predicate_SinglePredicate
	// A list of predicates to be OR-ed together.
	OrMatcher *Matcher_MatcherList_Predicate_PredicateList
	// A list of predicates to be AND-ed together.
	AndMatcher *Matcher_MatcherList_Predicate_PredicateList
	// The invert of a predicate
	NotMatcher *Matcher_MatcherList_Predicate
	// contains filtered or unexported fields
}

func (Matcher_MatcherList_Predicate_builder) Build

type Matcher_MatcherList_builder

type Matcher_MatcherList_builder struct {

	// A list of matchers. First match wins.
	Matchers []*Matcher_MatcherList_FieldMatcher
	// contains filtered or unexported fields
}

func (Matcher_MatcherList_builder) Build

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 valid to be assigned 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) ClearCustomMatch

func (x *Matcher_MatcherTree) ClearCustomMatch()

func (*Matcher_MatcherTree) ClearExactMatchMap

func (x *Matcher_MatcherTree) ClearExactMatchMap()

func (*Matcher_MatcherTree) ClearInput

func (x *Matcher_MatcherTree) ClearInput()

func (*Matcher_MatcherTree) ClearPrefixMatchMap

func (x *Matcher_MatcherTree) ClearPrefixMatchMap()

func (*Matcher_MatcherTree) ClearTreeType

func (x *Matcher_MatcherTree) ClearTreeType()

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 (x *Matcher_MatcherTree) GetTreeType() isMatcher_MatcherTree_TreeType

func (*Matcher_MatcherTree) HasCustomMatch

func (x *Matcher_MatcherTree) HasCustomMatch() bool

func (*Matcher_MatcherTree) HasExactMatchMap

func (x *Matcher_MatcherTree) HasExactMatchMap() bool

func (*Matcher_MatcherTree) HasInput

func (x *Matcher_MatcherTree) HasInput() bool

func (*Matcher_MatcherTree) HasPrefixMatchMap

func (x *Matcher_MatcherTree) HasPrefixMatchMap() bool

func (*Matcher_MatcherTree) HasTreeType

func (x *Matcher_MatcherTree) HasTreeType() bool

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) SetCustomMatch

func (x *Matcher_MatcherTree) SetCustomMatch(v *v3.TypedExtensionConfig)

func (*Matcher_MatcherTree) SetExactMatchMap

func (x *Matcher_MatcherTree) SetExactMatchMap(v *Matcher_MatcherTree_MatchMap)

func (*Matcher_MatcherTree) SetInput

func (*Matcher_MatcherTree) SetPrefixMatchMap

func (x *Matcher_MatcherTree) SetPrefixMatchMap(v *Matcher_MatcherTree_MatchMap)

func (*Matcher_MatcherTree) String

func (x *Matcher_MatcherTree) String() string

func (*Matcher_MatcherTree) WhichTreeType

func (x *Matcher_MatcherTree) WhichTreeType() case_Matcher_MatcherTree_TreeType

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 `` /* 133-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) 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) SetMap

func (*Matcher_MatcherTree_MatchMap) String

type Matcher_MatcherTree_MatchMap_builder

type Matcher_MatcherTree_MatchMap_builder struct {
	Map map[string]*Matcher_OnMatch
	// contains filtered or unexported fields
}

func (Matcher_MatcherTree_MatchMap_builder) Build

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_MatcherTree_builder

type Matcher_MatcherTree_builder struct {

	// Protocol-specific specification of input field to match on.
	Input *v3.TypedExtensionConfig

	// Fields of oneof TreeType:
	ExactMatchMap *Matcher_MatcherTree_MatchMap
	// Longest matching prefix wins.
	PrefixMatchMap *Matcher_MatcherTree_MatchMap
	// Extension for custom matching logic.
	CustomMatch *v3.TypedExtensionConfig
	// contains filtered or unexported fields
}

func (Matcher_MatcherTree_builder) Build

type Matcher_OnMatch

type Matcher_OnMatch struct {

	// Types that are valid to be assigned to OnMatch:
	//
	//	*Matcher_OnMatch_Matcher
	//	*Matcher_OnMatch_Action
	OnMatch isMatcher_OnMatch_OnMatch `protobuf_oneof:"on_match"`
	// If true and the Matcher matches, the action will be taken but the caller
	// will behave as if the Matcher did not match. A subsequent matcher or
	// on_no_match action will be used instead.
	// This field is not supported in all contexts in which the matcher API is
	// used. If this field is set in a context in which it's not supported,
	// the resource will be rejected.
	KeepMatching bool `protobuf:"varint,3,opt,name=keep_matching,json=keepMatching,proto3" json:"keep_matching,omitempty"`
	// contains filtered or unexported fields
}

What to do if a match is successful.

func (*Matcher_OnMatch) ClearAction

func (x *Matcher_OnMatch) ClearAction()

func (*Matcher_OnMatch) ClearMatcher

func (x *Matcher_OnMatch) ClearMatcher()

func (*Matcher_OnMatch) ClearOnMatch

func (x *Matcher_OnMatch) ClearOnMatch()

func (*Matcher_OnMatch) GetAction

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

func (*Matcher_OnMatch) GetKeepMatching

func (x *Matcher_OnMatch) GetKeepMatching() bool

func (*Matcher_OnMatch) GetMatcher

func (x *Matcher_OnMatch) GetMatcher() *Matcher

func (*Matcher_OnMatch) GetOnMatch

func (x *Matcher_OnMatch) GetOnMatch() isMatcher_OnMatch_OnMatch

func (*Matcher_OnMatch) HasAction

func (x *Matcher_OnMatch) HasAction() bool

func (*Matcher_OnMatch) HasMatcher

func (x *Matcher_OnMatch) HasMatcher() bool

func (*Matcher_OnMatch) HasOnMatch

func (x *Matcher_OnMatch) HasOnMatch() bool

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) SetAction

func (x *Matcher_OnMatch) SetAction(v *v3.TypedExtensionConfig)

func (*Matcher_OnMatch) SetKeepMatching

func (x *Matcher_OnMatch) SetKeepMatching(v bool)

func (*Matcher_OnMatch) SetMatcher

func (x *Matcher_OnMatch) SetMatcher(v *Matcher)

func (*Matcher_OnMatch) String

func (x *Matcher_OnMatch) String() string

func (*Matcher_OnMatch) WhichOnMatch

func (x *Matcher_OnMatch) WhichOnMatch() case_Matcher_OnMatch_OnMatch

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 Matcher_OnMatch_builder

type Matcher_OnMatch_builder struct {

	// Fields of oneof OnMatch:
	// 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
	// Protocol-specific action to take.
	Action *v3.TypedExtensionConfig
	// -- end of OnMatch
	// If true and the Matcher matches, the action will be taken but the caller
	// will behave as if the Matcher did not match. A subsequent matcher or
	// on_no_match action will be used instead.
	// This field is not supported in all contexts in which the matcher API is
	// used. If this field is set in a context in which it's not supported,
	// the resource will be rejected.
	KeepMatching bool
	// contains filtered or unexported fields
}

func (Matcher_OnMatch_builder) Build

type Matcher_builder

type Matcher_builder struct {

	// Fields of oneof MatcherType:
	// A linear list of matchers to evaluate.
	MatcherList *Matcher_MatcherList
	// A match tree to evaluate.
	MatcherTree *Matcher_MatcherTree
	// -- end of MatcherType
	// 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
	// contains filtered or unexported fields
}

func (Matcher_builder) Build

func (b0 Matcher_builder) Build() *Matcher

type RegexMatcher

type RegexMatcher struct {

	// Types that are valid to be assigned 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) ClearEngineType

func (x *RegexMatcher) ClearEngineType()

func (*RegexMatcher) ClearGoogleRe2

func (x *RegexMatcher) ClearGoogleRe2()

func (*RegexMatcher) GetEngineType

func (x *RegexMatcher) GetEngineType() isRegexMatcher_EngineType

func (*RegexMatcher) GetGoogleRe2

func (x *RegexMatcher) GetGoogleRe2() *RegexMatcher_GoogleRE2

func (*RegexMatcher) GetRegex

func (x *RegexMatcher) GetRegex() string

func (*RegexMatcher) HasEngineType

func (x *RegexMatcher) HasEngineType() bool

func (*RegexMatcher) HasGoogleRe2

func (x *RegexMatcher) HasGoogleRe2() bool

func (*RegexMatcher) ProtoMessage

func (*RegexMatcher) ProtoMessage()

func (*RegexMatcher) ProtoReflect

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

func (*RegexMatcher) Reset

func (x *RegexMatcher) Reset()

func (*RegexMatcher) SetGoogleRe2

func (x *RegexMatcher) SetGoogleRe2(v *RegexMatcher_GoogleRE2)

func (*RegexMatcher) SetRegex

func (x *RegexMatcher) SetRegex(v string)

func (*RegexMatcher) String

func (x *RegexMatcher) String() string

func (*RegexMatcher) WhichEngineType

func (x *RegexMatcher) WhichEngineType() case_RegexMatcher_EngineType

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) 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_builder

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

func (RegexMatcher_GoogleRE2_builder) Build

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 RegexMatcher_builder

type RegexMatcher_builder struct {

	// Fields of oneof EngineType:
	// Google's RE2 regex engine.
	GoogleRe2 *RegexMatcher_GoogleRE2
	// -- end of EngineType
	// The regex match string. The string must be supported by the configured
	// engine.
	Regex string
	// contains filtered or unexported fields
}

func (RegexMatcher_builder) Build

func (b0 RegexMatcher_builder) Build() *RegexMatcher

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) 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) SetDomainMatchers

func (x *ServerNameMatcher) SetDomainMatchers(v []*ServerNameMatcher_DomainMatcher)

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) ClearOnMatch

func (x *ServerNameMatcher_DomainMatcher) ClearOnMatch()

func (*ServerNameMatcher_DomainMatcher) GetDomains

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

func (*ServerNameMatcher_DomainMatcher) GetOnMatch

func (*ServerNameMatcher_DomainMatcher) HasOnMatch

func (x *ServerNameMatcher_DomainMatcher) HasOnMatch() bool

func (*ServerNameMatcher_DomainMatcher) ProtoMessage

func (*ServerNameMatcher_DomainMatcher) ProtoMessage()

func (*ServerNameMatcher_DomainMatcher) ProtoReflect

func (*ServerNameMatcher_DomainMatcher) Reset

func (*ServerNameMatcher_DomainMatcher) SetDomains

func (x *ServerNameMatcher_DomainMatcher) SetDomains(v []string)

func (*ServerNameMatcher_DomainMatcher) SetOnMatch

func (*ServerNameMatcher_DomainMatcher) String

type ServerNameMatcher_DomainMatcher_builder

type ServerNameMatcher_DomainMatcher_builder struct {

	// A non-empty set of domain names with optional wildcards, e.g.
	// “www.example.com“, “*.com“, or “*“.
	Domains []string
	// Match action to apply when the server name matches any of the domain
	// names in the matcher.
	OnMatch *Matcher_OnMatch
	// contains filtered or unexported fields
}

func (ServerNameMatcher_DomainMatcher_builder) Build

type ServerNameMatcher_builder

type ServerNameMatcher_builder 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
	// contains filtered or unexported fields
}

func (ServerNameMatcher_builder) Build

type StringMatcher

type StringMatcher struct {

	// Types that are valid to be assigned 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) ClearContains

func (x *StringMatcher) ClearContains()

func (*StringMatcher) ClearCustom

func (x *StringMatcher) ClearCustom()

func (*StringMatcher) ClearExact

func (x *StringMatcher) ClearExact()

func (*StringMatcher) ClearMatchPattern

func (x *StringMatcher) ClearMatchPattern()

func (*StringMatcher) ClearPrefix

func (x *StringMatcher) ClearPrefix()

func (*StringMatcher) ClearSafeRegex

func (x *StringMatcher) ClearSafeRegex()

func (*StringMatcher) ClearSuffix

func (x *StringMatcher) ClearSuffix()

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 (x *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) HasContains

func (x *StringMatcher) HasContains() bool

func (*StringMatcher) HasCustom

func (x *StringMatcher) HasCustom() bool

func (*StringMatcher) HasExact

func (x *StringMatcher) HasExact() bool

func (*StringMatcher) HasMatchPattern

func (x *StringMatcher) HasMatchPattern() bool

func (*StringMatcher) HasPrefix

func (x *StringMatcher) HasPrefix() bool

func (*StringMatcher) HasSafeRegex

func (x *StringMatcher) HasSafeRegex() bool

func (*StringMatcher) HasSuffix

func (x *StringMatcher) HasSuffix() bool

func (*StringMatcher) ProtoMessage

func (*StringMatcher) ProtoMessage()

func (*StringMatcher) ProtoReflect

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

func (*StringMatcher) Reset

func (x *StringMatcher) Reset()

func (*StringMatcher) SetContains

func (x *StringMatcher) SetContains(v string)

func (*StringMatcher) SetCustom

func (x *StringMatcher) SetCustom(v *v3.TypedExtensionConfig)

func (*StringMatcher) SetExact

func (x *StringMatcher) SetExact(v string)

func (*StringMatcher) SetIgnoreCase

func (x *StringMatcher) SetIgnoreCase(v bool)

func (*StringMatcher) SetPrefix

func (x *StringMatcher) SetPrefix(v string)

func (*StringMatcher) SetSafeRegex

func (x *StringMatcher) SetSafeRegex(v *RegexMatcher)

func (*StringMatcher) SetSuffix

func (x *StringMatcher) SetSuffix(v string)

func (*StringMatcher) String

func (x *StringMatcher) String() string

func (*StringMatcher) WhichMatchPattern

func (x *StringMatcher) WhichMatchPattern() case_StringMatcher_MatchPattern

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 StringMatcher_builder

type StringMatcher_builder struct {

	// Fields of oneof MatchPattern:
	// The input string must match exactly the string specified here.
	//
	// Examples:
	//
	// * *abc* only matches the value *abc*.
	Exact *string
	// 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
	// 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
	// The input string must match the regular expression specified here.
	SafeRegex *RegexMatcher
	// 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
	// Use an extension as the matcher type.
	// [#extension-category: envoy.string_matcher]
	Custom *v3.TypedExtensionConfig
	// -- end of MatchPattern
	// 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
	// contains filtered or unexported fields
}

func (StringMatcher_builder) Build

Source Files

  • cel.pb.go
  • domain.pb.go
  • http_inputs.pb.go
  • ip.pb.go
  • matcher.pb.go
  • range.pb.go
  • regex.pb.go
  • string.pb.go

Jump to

Keyboard shortcuts

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