matcherv3

package
v1.36.11-2025121120105... Latest Latest
Warning

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

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

Documentation

Index

Constants

View Source
const DoubleMatcher_Exact_case case_DoubleMatcher_MatchPattern = 2
View Source
const DoubleMatcher_MatchPattern_not_set_case case_DoubleMatcher_MatchPattern = 0
View Source
const DoubleMatcher_Range_case case_DoubleMatcher_MatchPattern = 1
View Source
const FilterStateMatcher_AddressMatch_case case_FilterStateMatcher_Matcher = 3
View Source
const FilterStateMatcher_Matcher_not_set_case case_FilterStateMatcher_Matcher = 0
View Source
const FilterStateMatcher_StringMatch_case case_FilterStateMatcher_Matcher = 2
View Source
const ListMatcher_MatchPattern_not_set_case case_ListMatcher_MatchPattern = 0
View Source
const ListMatcher_OneOf_case case_ListMatcher_MatchPattern = 1
View Source
const MetadataMatcher_PathSegment_Key_case case_MetadataMatcher_PathSegment_Segment = 1
View Source
const MetadataMatcher_PathSegment_Segment_not_set_case case_MetadataMatcher_PathSegment_Segment = 0
View Source
const PathMatcher_Path_case case_PathMatcher_Rule = 1
View Source
const PathMatcher_Rule_not_set_case case_PathMatcher_Rule = 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
View Source
const StructMatcher_PathSegment_Key_case case_StructMatcher_PathSegment_Segment = 1
View Source
const StructMatcher_PathSegment_Segment_not_set_case case_StructMatcher_PathSegment_Segment = 0
View Source
const ValueMatcher_BoolMatch_case case_ValueMatcher_MatchPattern = 4
View Source
const ValueMatcher_DoubleMatch_case case_ValueMatcher_MatchPattern = 2
View Source
const ValueMatcher_ListMatch_case case_ValueMatcher_MatchPattern = 6
View Source
const ValueMatcher_MatchPattern_not_set_case case_ValueMatcher_MatchPattern = 0
View Source
const ValueMatcher_NullMatch_case case_ValueMatcher_MatchPattern = 1
View Source
const ValueMatcher_OrMatch_case case_ValueMatcher_MatchPattern = 7
View Source
const ValueMatcher_PresentMatch_case case_ValueMatcher_MatchPattern = 5
View Source
const ValueMatcher_StringMatch_case case_ValueMatcher_MatchPattern = 3

Variables

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

Functions

This section is empty.

Types

type AddressMatcher

type AddressMatcher struct {
	Ranges []*v3.CidrRange `protobuf:"bytes,1,rep,name=ranges,proto3" json:"ranges,omitempty"`
	// contains filtered or unexported fields
}

Match an IP against a repeated CIDR range. This matcher is intended to be used in other matchers, for example in the filter state matcher to match a filter state object as an IP.

func (*AddressMatcher) GetRanges

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

func (*AddressMatcher) ProtoMessage

func (*AddressMatcher) ProtoMessage()

func (*AddressMatcher) ProtoReflect

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

func (*AddressMatcher) Reset

func (x *AddressMatcher) Reset()

func (*AddressMatcher) SetRanges

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

func (*AddressMatcher) String

func (x *AddressMatcher) String() string

type AddressMatcher_builder

type AddressMatcher_builder struct {
	Ranges []*v3.CidrRange
	// contains filtered or unexported fields
}

func (AddressMatcher_builder) Build

type DoubleMatcher

type DoubleMatcher struct {

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

Specifies the way to match a double value.

func (*DoubleMatcher) ClearExact

func (x *DoubleMatcher) ClearExact()

func (*DoubleMatcher) ClearMatchPattern

func (x *DoubleMatcher) ClearMatchPattern()

func (*DoubleMatcher) ClearRange

func (x *DoubleMatcher) ClearRange()

func (*DoubleMatcher) GetExact

func (x *DoubleMatcher) GetExact() float64

func (*DoubleMatcher) GetMatchPattern

func (x *DoubleMatcher) GetMatchPattern() isDoubleMatcher_MatchPattern

func (*DoubleMatcher) GetRange

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

func (*DoubleMatcher) HasExact

func (x *DoubleMatcher) HasExact() bool

func (*DoubleMatcher) HasMatchPattern

func (x *DoubleMatcher) HasMatchPattern() bool

func (*DoubleMatcher) HasRange

func (x *DoubleMatcher) HasRange() bool

func (*DoubleMatcher) ProtoMessage

func (*DoubleMatcher) ProtoMessage()

func (*DoubleMatcher) ProtoReflect

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

func (*DoubleMatcher) Reset

func (x *DoubleMatcher) Reset()

func (*DoubleMatcher) SetExact

func (x *DoubleMatcher) SetExact(v float64)

func (*DoubleMatcher) SetRange

func (x *DoubleMatcher) SetRange(v *v3.DoubleRange)

func (*DoubleMatcher) String

func (x *DoubleMatcher) String() string

func (*DoubleMatcher) WhichMatchPattern

func (x *DoubleMatcher) WhichMatchPattern() case_DoubleMatcher_MatchPattern

type DoubleMatcher_Exact

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

type DoubleMatcher_Range

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

type DoubleMatcher_builder

type DoubleMatcher_builder struct {

	// Fields of oneof MatchPattern:
	// If specified, the input double value must be in the range specified here.
	// Note: The range is using half-open interval semantics [start, end).
	Range *v3.DoubleRange
	// If specified, the input double value must be equal to the value specified here.
	Exact *float64
	// contains filtered or unexported fields
}

func (DoubleMatcher_builder) Build

type FilterStateMatcher

type FilterStateMatcher struct {

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

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

func (*FilterStateMatcher) ClearAddressMatch

func (x *FilterStateMatcher) ClearAddressMatch()

func (*FilterStateMatcher) ClearMatcher

func (x *FilterStateMatcher) ClearMatcher()

func (*FilterStateMatcher) ClearStringMatch

func (x *FilterStateMatcher) ClearStringMatch()

func (*FilterStateMatcher) GetAddressMatch

func (x *FilterStateMatcher) GetAddressMatch() *AddressMatcher

func (*FilterStateMatcher) GetKey

func (x *FilterStateMatcher) GetKey() string

func (*FilterStateMatcher) GetMatcher

func (x *FilterStateMatcher) GetMatcher() isFilterStateMatcher_Matcher

func (*FilterStateMatcher) GetStringMatch

func (x *FilterStateMatcher) GetStringMatch() *StringMatcher

func (*FilterStateMatcher) HasAddressMatch

func (x *FilterStateMatcher) HasAddressMatch() bool

func (*FilterStateMatcher) HasMatcher

func (x *FilterStateMatcher) HasMatcher() bool

func (*FilterStateMatcher) HasStringMatch

func (x *FilterStateMatcher) HasStringMatch() bool

func (*FilterStateMatcher) ProtoMessage

func (*FilterStateMatcher) ProtoMessage()

func (*FilterStateMatcher) ProtoReflect

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

func (*FilterStateMatcher) Reset

func (x *FilterStateMatcher) Reset()

func (*FilterStateMatcher) SetAddressMatch

func (x *FilterStateMatcher) SetAddressMatch(v *AddressMatcher)

func (*FilterStateMatcher) SetKey

func (x *FilterStateMatcher) SetKey(v string)

func (*FilterStateMatcher) SetStringMatch

func (x *FilterStateMatcher) SetStringMatch(v *StringMatcher)

func (*FilterStateMatcher) String

func (x *FilterStateMatcher) String() string

func (*FilterStateMatcher) WhichMatcher

func (x *FilterStateMatcher) WhichMatcher() case_FilterStateMatcher_Matcher

type FilterStateMatcher_AddressMatch

type FilterStateMatcher_AddressMatch struct {
	// Matches the filter state object as a ip Instance.
	AddressMatch *AddressMatcher `protobuf:"bytes,3,opt,name=address_match,json=addressMatch,proto3,oneof"`
}

type FilterStateMatcher_StringMatch

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

type FilterStateMatcher_builder

type FilterStateMatcher_builder struct {

	// The filter state key to retrieve the object.
	Key string
	// Fields of oneof Matcher:
	// Matches the filter state object as a string value.
	StringMatch *StringMatcher
	// Matches the filter state object as a ip Instance.
	AddressMatch *AddressMatcher
	// contains filtered or unexported fields
}

func (FilterStateMatcher_builder) Build

type HttpRequestHeaderMatchInput

type HttpRequestHeaderMatchInput struct {

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

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

func (*HttpRequestHeaderMatchInput) GetHeaderName

func (x *HttpRequestHeaderMatchInput) GetHeaderName() string

func (*HttpRequestHeaderMatchInput) ProtoMessage

func (*HttpRequestHeaderMatchInput) ProtoMessage()

func (*HttpRequestHeaderMatchInput) ProtoReflect

func (*HttpRequestHeaderMatchInput) Reset

func (x *HttpRequestHeaderMatchInput) Reset()

func (*HttpRequestHeaderMatchInput) SetHeaderName

func (x *HttpRequestHeaderMatchInput) SetHeaderName(v string)

func (*HttpRequestHeaderMatchInput) String

func (x *HttpRequestHeaderMatchInput) String() string

type HttpRequestHeaderMatchInput_builder

type HttpRequestHeaderMatchInput_builder struct {

	// The request header to match on.
	HeaderName string
	// contains filtered or unexported fields
}

func (HttpRequestHeaderMatchInput_builder) Build

type HttpRequestQueryParamMatchInput

type HttpRequestQueryParamMatchInput struct {

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

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

func (*HttpRequestQueryParamMatchInput) GetQueryParam

func (x *HttpRequestQueryParamMatchInput) GetQueryParam() string

func (*HttpRequestQueryParamMatchInput) ProtoMessage

func (*HttpRequestQueryParamMatchInput) ProtoMessage()

func (*HttpRequestQueryParamMatchInput) ProtoReflect

func (*HttpRequestQueryParamMatchInput) Reset

func (*HttpRequestQueryParamMatchInput) SetQueryParam

func (x *HttpRequestQueryParamMatchInput) SetQueryParam(v string)

func (*HttpRequestQueryParamMatchInput) String

type HttpRequestQueryParamMatchInput_builder

type HttpRequestQueryParamMatchInput_builder struct {

	// The query parameter to match on.
	QueryParam string
	// contains filtered or unexported fields
}

func (HttpRequestQueryParamMatchInput_builder) Build

type HttpRequestTrailerMatchInput

type HttpRequestTrailerMatchInput struct {

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

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

func (*HttpRequestTrailerMatchInput) GetHeaderName

func (x *HttpRequestTrailerMatchInput) GetHeaderName() string

func (*HttpRequestTrailerMatchInput) ProtoMessage

func (*HttpRequestTrailerMatchInput) ProtoMessage()

func (*HttpRequestTrailerMatchInput) ProtoReflect

func (*HttpRequestTrailerMatchInput) Reset

func (x *HttpRequestTrailerMatchInput) Reset()

func (*HttpRequestTrailerMatchInput) SetHeaderName

func (x *HttpRequestTrailerMatchInput) SetHeaderName(v string)

func (*HttpRequestTrailerMatchInput) String

type HttpRequestTrailerMatchInput_builder

type HttpRequestTrailerMatchInput_builder struct {

	// The request trailer to match on.
	HeaderName string
	// contains filtered or unexported fields
}

func (HttpRequestTrailerMatchInput_builder) Build

type HttpResponseHeaderMatchInput

type HttpResponseHeaderMatchInput struct {

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

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

func (*HttpResponseHeaderMatchInput) GetHeaderName

func (x *HttpResponseHeaderMatchInput) GetHeaderName() string

func (*HttpResponseHeaderMatchInput) ProtoMessage

func (*HttpResponseHeaderMatchInput) ProtoMessage()

func (*HttpResponseHeaderMatchInput) ProtoReflect

func (*HttpResponseHeaderMatchInput) Reset

func (x *HttpResponseHeaderMatchInput) Reset()

func (*HttpResponseHeaderMatchInput) SetHeaderName

func (x *HttpResponseHeaderMatchInput) SetHeaderName(v string)

func (*HttpResponseHeaderMatchInput) String

type HttpResponseHeaderMatchInput_builder

type HttpResponseHeaderMatchInput_builder struct {

	// The response header to match on.
	HeaderName string
	// contains filtered or unexported fields
}

func (HttpResponseHeaderMatchInput_builder) Build

type HttpResponseStatusCodeClassMatchInput

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

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

func (*HttpResponseStatusCodeClassMatchInput) ProtoMessage

func (*HttpResponseStatusCodeClassMatchInput) ProtoMessage()

func (*HttpResponseStatusCodeClassMatchInput) ProtoReflect

func (*HttpResponseStatusCodeClassMatchInput) Reset

func (*HttpResponseStatusCodeClassMatchInput) String

type HttpResponseStatusCodeClassMatchInput_builder

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

func (HttpResponseStatusCodeClassMatchInput_builder) Build

type HttpResponseStatusCodeMatchInput

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

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

func (*HttpResponseStatusCodeMatchInput) ProtoMessage

func (*HttpResponseStatusCodeMatchInput) ProtoMessage()

func (*HttpResponseStatusCodeMatchInput) ProtoReflect

func (*HttpResponseStatusCodeMatchInput) Reset

func (*HttpResponseStatusCodeMatchInput) String

type HttpResponseStatusCodeMatchInput_builder

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

func (HttpResponseStatusCodeMatchInput_builder) Build

type HttpResponseTrailerMatchInput

type HttpResponseTrailerMatchInput struct {

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

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

func (*HttpResponseTrailerMatchInput) GetHeaderName

func (x *HttpResponseTrailerMatchInput) GetHeaderName() string

func (*HttpResponseTrailerMatchInput) ProtoMessage

func (*HttpResponseTrailerMatchInput) ProtoMessage()

func (*HttpResponseTrailerMatchInput) ProtoReflect

func (*HttpResponseTrailerMatchInput) Reset

func (x *HttpResponseTrailerMatchInput) Reset()

func (*HttpResponseTrailerMatchInput) SetHeaderName

func (x *HttpResponseTrailerMatchInput) SetHeaderName(v string)

func (*HttpResponseTrailerMatchInput) String

type HttpResponseTrailerMatchInput_builder

type HttpResponseTrailerMatchInput_builder struct {

	// The response trailer to match on.
	HeaderName string
	// contains filtered or unexported fields
}

func (HttpResponseTrailerMatchInput_builder) Build

type ListMatcher

type ListMatcher struct {

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

Specifies the way to match a list value.

func (*ListMatcher) ClearMatchPattern

func (x *ListMatcher) ClearMatchPattern()

func (*ListMatcher) ClearOneOf

func (x *ListMatcher) ClearOneOf()

func (*ListMatcher) GetMatchPattern

func (x *ListMatcher) GetMatchPattern() isListMatcher_MatchPattern

func (*ListMatcher) GetOneOf

func (x *ListMatcher) GetOneOf() *ValueMatcher

func (*ListMatcher) HasMatchPattern

func (x *ListMatcher) HasMatchPattern() bool

func (*ListMatcher) HasOneOf

func (x *ListMatcher) HasOneOf() bool

func (*ListMatcher) ProtoMessage

func (*ListMatcher) ProtoMessage()

func (*ListMatcher) ProtoReflect

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

func (*ListMatcher) Reset

func (x *ListMatcher) Reset()

func (*ListMatcher) SetOneOf

func (x *ListMatcher) SetOneOf(v *ValueMatcher)

func (*ListMatcher) String

func (x *ListMatcher) String() string

func (*ListMatcher) WhichMatchPattern

func (x *ListMatcher) WhichMatchPattern() case_ListMatcher_MatchPattern

type ListMatcher_OneOf

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

type ListMatcher_builder

type ListMatcher_builder struct {

	// Fields of oneof MatchPattern:
	// If specified, at least one of the values in the list must match the value specified.
	OneOf *ValueMatcher
	// contains filtered or unexported fields
}

func (ListMatcher_builder) Build

func (b0 ListMatcher_builder) Build() *ListMatcher

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 MetadataMatcher

type MetadataMatcher struct {

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

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

func (*MetadataMatcher) ClearValue

func (x *MetadataMatcher) ClearValue()

func (*MetadataMatcher) GetFilter

func (x *MetadataMatcher) GetFilter() string

func (*MetadataMatcher) GetInvert

func (x *MetadataMatcher) GetInvert() bool

func (*MetadataMatcher) GetPath

func (*MetadataMatcher) GetValue

func (x *MetadataMatcher) GetValue() *ValueMatcher

func (*MetadataMatcher) HasValue

func (x *MetadataMatcher) HasValue() bool

func (*MetadataMatcher) ProtoMessage

func (*MetadataMatcher) ProtoMessage()

func (*MetadataMatcher) ProtoReflect

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

func (*MetadataMatcher) Reset

func (x *MetadataMatcher) Reset()

func (*MetadataMatcher) SetFilter

func (x *MetadataMatcher) SetFilter(v string)

func (*MetadataMatcher) SetInvert

func (x *MetadataMatcher) SetInvert(v bool)

func (*MetadataMatcher) SetPath

func (*MetadataMatcher) SetValue

func (x *MetadataMatcher) SetValue(v *ValueMatcher)

func (*MetadataMatcher) String

func (x *MetadataMatcher) String() string

type MetadataMatcher_PathSegment

type MetadataMatcher_PathSegment struct {

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

Specifies the segment in a path to retrieve value from “Metadata“.

.. note::

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

func (*MetadataMatcher_PathSegment) ClearKey

func (x *MetadataMatcher_PathSegment) ClearKey()

func (*MetadataMatcher_PathSegment) ClearSegment

func (x *MetadataMatcher_PathSegment) ClearSegment()

func (*MetadataMatcher_PathSegment) GetKey

func (x *MetadataMatcher_PathSegment) GetKey() string

func (*MetadataMatcher_PathSegment) GetSegment

func (x *MetadataMatcher_PathSegment) GetSegment() isMetadataMatcher_PathSegment_Segment

func (*MetadataMatcher_PathSegment) HasKey

func (x *MetadataMatcher_PathSegment) HasKey() bool

func (*MetadataMatcher_PathSegment) HasSegment

func (x *MetadataMatcher_PathSegment) HasSegment() bool

func (*MetadataMatcher_PathSegment) ProtoMessage

func (*MetadataMatcher_PathSegment) ProtoMessage()

func (*MetadataMatcher_PathSegment) ProtoReflect

func (*MetadataMatcher_PathSegment) Reset

func (x *MetadataMatcher_PathSegment) Reset()

func (*MetadataMatcher_PathSegment) SetKey

func (x *MetadataMatcher_PathSegment) SetKey(v string)

func (*MetadataMatcher_PathSegment) String

func (x *MetadataMatcher_PathSegment) String() string

func (*MetadataMatcher_PathSegment) WhichSegment

func (x *MetadataMatcher_PathSegment) WhichSegment() case_MetadataMatcher_PathSegment_Segment

type MetadataMatcher_PathSegment_Key

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

type MetadataMatcher_PathSegment_builder

type MetadataMatcher_PathSegment_builder struct {

	// Fields of oneof Segment:
	// If specified, use the key to retrieve the value in a “Struct“.
	Key *string
	// contains filtered or unexported fields
}

func (MetadataMatcher_PathSegment_builder) Build

type MetadataMatcher_builder

type MetadataMatcher_builder struct {

	// The filter name to retrieve the “Struct“ from the “Metadata“.
	Filter string
	// The path to retrieve the “Value“ from the “Struct“.
	Path []*MetadataMatcher_PathSegment
	// The “MetadataMatcher“ is matched if the value retrieved by path is matched to this value.
	Value *ValueMatcher
	// If true, the match result will be inverted.
	Invert bool
	// contains filtered or unexported fields
}

func (MetadataMatcher_builder) Build

type NodeMatcher

type NodeMatcher struct {

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

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

func (*NodeMatcher) ClearNodeId

func (x *NodeMatcher) ClearNodeId()

func (*NodeMatcher) GetNodeId

func (x *NodeMatcher) GetNodeId() *StringMatcher

func (*NodeMatcher) GetNodeMetadatas

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

func (*NodeMatcher) HasNodeId

func (x *NodeMatcher) HasNodeId() bool

func (*NodeMatcher) ProtoMessage

func (*NodeMatcher) ProtoMessage()

func (*NodeMatcher) ProtoReflect

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

func (*NodeMatcher) Reset

func (x *NodeMatcher) Reset()

func (*NodeMatcher) SetNodeId

func (x *NodeMatcher) SetNodeId(v *StringMatcher)

func (*NodeMatcher) SetNodeMetadatas

func (x *NodeMatcher) SetNodeMetadatas(v []*StructMatcher)

func (*NodeMatcher) String

func (x *NodeMatcher) String() string

type NodeMatcher_builder

type NodeMatcher_builder struct {

	// Specifies match criteria on the node id.
	NodeId *StringMatcher
	// Specifies match criteria on the node metadata.
	NodeMetadatas []*StructMatcher
	// contains filtered or unexported fields
}

func (NodeMatcher_builder) Build

func (b0 NodeMatcher_builder) Build() *NodeMatcher

type OrMatcher

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

Specifies a list of alternatives for the match.

func (*OrMatcher) GetValueMatchers

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

func (*OrMatcher) ProtoMessage

func (*OrMatcher) ProtoMessage()

func (*OrMatcher) ProtoReflect

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

func (*OrMatcher) Reset

func (x *OrMatcher) Reset()

func (*OrMatcher) SetValueMatchers

func (x *OrMatcher) SetValueMatchers(v []*ValueMatcher)

func (*OrMatcher) String

func (x *OrMatcher) String() string

type OrMatcher_builder

type OrMatcher_builder struct {
	ValueMatchers []*ValueMatcher
	// contains filtered or unexported fields
}

func (OrMatcher_builder) Build

func (b0 OrMatcher_builder) Build() *OrMatcher

type PathMatcher

type PathMatcher struct {

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

Specifies the way to match a path on HTTP request.

func (*PathMatcher) ClearPath

func (x *PathMatcher) ClearPath()

func (*PathMatcher) ClearRule

func (x *PathMatcher) ClearRule()

func (*PathMatcher) GetPath

func (x *PathMatcher) GetPath() *StringMatcher

func (*PathMatcher) GetRule

func (x *PathMatcher) GetRule() isPathMatcher_Rule

func (*PathMatcher) HasPath

func (x *PathMatcher) HasPath() bool

func (*PathMatcher) HasRule

func (x *PathMatcher) HasRule() bool

func (*PathMatcher) ProtoMessage

func (*PathMatcher) ProtoMessage()

func (*PathMatcher) ProtoReflect

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

func (*PathMatcher) Reset

func (x *PathMatcher) Reset()

func (*PathMatcher) SetPath

func (x *PathMatcher) SetPath(v *StringMatcher)

func (*PathMatcher) String

func (x *PathMatcher) String() string

func (*PathMatcher) WhichRule

func (x *PathMatcher) WhichRule() case_PathMatcher_Rule

type PathMatcher_Path

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

type PathMatcher_builder

type PathMatcher_builder struct {

	// Fields of oneof Rule:
	// The “path“ must match the URL path portion of the :path header. The query and fragment
	// string (if present) are removed in the URL path portion.
	// For example, the path “/data“ will match the “:path“ header “/data#fragment?param=value“.
	Path *StringMatcher
	// contains filtered or unexported fields
}

func (PathMatcher_builder) Build

func (b0 PathMatcher_builder) Build() *PathMatcher

type RegexMatchAndSubstitute

type RegexMatchAndSubstitute struct {

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

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

func (*RegexMatchAndSubstitute) ClearPattern

func (x *RegexMatchAndSubstitute) ClearPattern()

func (*RegexMatchAndSubstitute) GetPattern

func (x *RegexMatchAndSubstitute) GetPattern() *RegexMatcher

func (*RegexMatchAndSubstitute) GetSubstitution

func (x *RegexMatchAndSubstitute) GetSubstitution() string

func (*RegexMatchAndSubstitute) HasPattern

func (x *RegexMatchAndSubstitute) HasPattern() bool

func (*RegexMatchAndSubstitute) ProtoMessage

func (*RegexMatchAndSubstitute) ProtoMessage()

func (*RegexMatchAndSubstitute) ProtoReflect

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

func (*RegexMatchAndSubstitute) Reset

func (x *RegexMatchAndSubstitute) Reset()

func (*RegexMatchAndSubstitute) SetPattern

func (x *RegexMatchAndSubstitute) SetPattern(v *RegexMatcher)

func (*RegexMatchAndSubstitute) SetSubstitution

func (x *RegexMatchAndSubstitute) SetSubstitution(v string)

func (*RegexMatchAndSubstitute) String

func (x *RegexMatchAndSubstitute) String() string

type RegexMatchAndSubstitute_builder

type RegexMatchAndSubstitute_builder struct {

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

func (RegexMatchAndSubstitute_builder) Build

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. The regex is matched
	// against the full string, not as a partial match.
	Regex string `protobuf:"bytes,2,opt,name=regex,proto3" json:"regex,omitempty"`
	// contains filtered or unexported fields
}

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

func (*RegexMatcher) ClearEngineType

func (x *RegexMatcher) ClearEngineType()

func (*RegexMatcher) ClearGoogleRe2 deprecated

func (x *RegexMatcher) ClearGoogleRe2()

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

func (*RegexMatcher) GetEngineType

func (x *RegexMatcher) GetEngineType() isRegexMatcher_EngineType

func (*RegexMatcher) GetGoogleRe2 deprecated

func (x *RegexMatcher) GetGoogleRe2() *RegexMatcher_GoogleRE2

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

func (*RegexMatcher) GetRegex

func (x *RegexMatcher) GetRegex() string

func (*RegexMatcher) HasEngineType

func (x *RegexMatcher) HasEngineType() bool

func (*RegexMatcher) HasGoogleRe2 deprecated

func (x *RegexMatcher) HasGoogleRe2() bool

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

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 deprecated

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

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

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 {

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

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

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

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

func (*RegexMatcher_GoogleRE2) ClearMaxProgramSize deprecated

func (x *RegexMatcher_GoogleRE2) ClearMaxProgramSize()

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

func (*RegexMatcher_GoogleRE2) GetMaxProgramSize deprecated

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

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

func (*RegexMatcher_GoogleRE2) HasMaxProgramSize deprecated

func (x *RegexMatcher_GoogleRE2) HasMaxProgramSize() bool

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

func (*RegexMatcher_GoogleRE2) ProtoMessage

func (*RegexMatcher_GoogleRE2) ProtoMessage()

func (*RegexMatcher_GoogleRE2) ProtoReflect

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

func (*RegexMatcher_GoogleRE2) Reset

func (x *RegexMatcher_GoogleRE2) Reset()

func (*RegexMatcher_GoogleRE2) SetMaxProgramSize deprecated

func (x *RegexMatcher_GoogleRE2) SetMaxProgramSize(v *wrapperspb.UInt32Value)

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

func (*RegexMatcher_GoogleRE2) String

func (x *RegexMatcher_GoogleRE2) String() string

type RegexMatcher_GoogleRE2_builder

type RegexMatcher_GoogleRE2_builder struct {

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

func (RegexMatcher_GoogleRE2_builder) Build

type RegexMatcher_GoogleRe2

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

type RegexMatcher_builder

type RegexMatcher_builder struct {

	// Fields of oneof EngineType:
	// Google's RE2 regex engine.
	//
	// Deprecated: Marked as deprecated in envoy/type/matcher/v3/regex.proto.
	GoogleRe2 *RegexMatcher_GoogleRE2
	// -- end of EngineType
	// The regex match string. The string must be supported by the configured engine. The regex is matched
	// against the full string, not as a partial match.
	Regex string
	// contains filtered or unexported fields
}

func (RegexMatcher_builder) Build

func (b0 RegexMatcher_builder) Build() *RegexMatcher

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/contains matching should be case insensitive. This
	// has no effect for the “safe_regex“ match.
	// For example, the matcher “data“ will match both input string “Data“ and “data“ if this option
	// is 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 “safe_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 match is not allowed, please use “safe_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 suffix match is not allowed, please use “safe_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 match is not allowed, please use “safe_regex“ instead.
	//
	// Examples:
	//
	// * “abc“ matches the value “abc.xyz“
	Prefix *string
	// The input string must have the suffix specified here.
	//
	// .. note::
	//
	//	Empty suffix match is not allowed, please use “safe_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 “safe_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/contains matching should be case insensitive. This
	// has no effect for the “safe_regex“ match.
	// For example, the matcher “data“ will match both input string “Data“ and “data“ if this option
	// is set to “true“.
	IgnoreCase bool
	// contains filtered or unexported fields
}

func (StringMatcher_builder) Build

type StructMatcher

type StructMatcher struct {

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

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

For example, for the following Struct:

.. code-block:: yaml

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

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

.. code-block:: yaml

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

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

.. code-block:: yaml

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

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

func (*StructMatcher) ClearValue

func (x *StructMatcher) ClearValue()

func (*StructMatcher) GetPath

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

func (*StructMatcher) GetValue

func (x *StructMatcher) GetValue() *ValueMatcher

func (*StructMatcher) HasValue

func (x *StructMatcher) HasValue() bool

func (*StructMatcher) ProtoMessage

func (*StructMatcher) ProtoMessage()

func (*StructMatcher) ProtoReflect

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

func (*StructMatcher) Reset

func (x *StructMatcher) Reset()

func (*StructMatcher) SetPath

func (x *StructMatcher) SetPath(v []*StructMatcher_PathSegment)

func (*StructMatcher) SetValue

func (x *StructMatcher) SetValue(v *ValueMatcher)

func (*StructMatcher) String

func (x *StructMatcher) String() string

type StructMatcher_PathSegment

type StructMatcher_PathSegment struct {

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

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

func (*StructMatcher_PathSegment) ClearKey

func (x *StructMatcher_PathSegment) ClearKey()

func (*StructMatcher_PathSegment) ClearSegment

func (x *StructMatcher_PathSegment) ClearSegment()

func (*StructMatcher_PathSegment) GetKey

func (x *StructMatcher_PathSegment) GetKey() string

func (*StructMatcher_PathSegment) GetSegment

func (x *StructMatcher_PathSegment) GetSegment() isStructMatcher_PathSegment_Segment

func (*StructMatcher_PathSegment) HasKey

func (x *StructMatcher_PathSegment) HasKey() bool

func (*StructMatcher_PathSegment) HasSegment

func (x *StructMatcher_PathSegment) HasSegment() bool

func (*StructMatcher_PathSegment) ProtoMessage

func (*StructMatcher_PathSegment) ProtoMessage()

func (*StructMatcher_PathSegment) ProtoReflect

func (*StructMatcher_PathSegment) Reset

func (x *StructMatcher_PathSegment) Reset()

func (*StructMatcher_PathSegment) SetKey

func (x *StructMatcher_PathSegment) SetKey(v string)

func (*StructMatcher_PathSegment) String

func (x *StructMatcher_PathSegment) String() string

func (*StructMatcher_PathSegment) WhichSegment

func (x *StructMatcher_PathSegment) WhichSegment() case_StructMatcher_PathSegment_Segment

type StructMatcher_PathSegment_Key

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

type StructMatcher_PathSegment_builder

type StructMatcher_PathSegment_builder struct {

	// Fields of oneof Segment:
	// If specified, use the key to retrieve the value in a Struct.
	Key *string
	// contains filtered or unexported fields
}

func (StructMatcher_PathSegment_builder) Build

type StructMatcher_builder

type StructMatcher_builder struct {

	// The path to retrieve the Value from the Struct.
	Path []*StructMatcher_PathSegment
	// The StructMatcher is matched if the value retrieved by path is matched to this value.
	Value *ValueMatcher
	// contains filtered or unexported fields
}

func (StructMatcher_builder) Build

type ValueMatcher

type ValueMatcher struct {

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

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

func (*ValueMatcher) ClearBoolMatch

func (x *ValueMatcher) ClearBoolMatch()

func (*ValueMatcher) ClearDoubleMatch

func (x *ValueMatcher) ClearDoubleMatch()

func (*ValueMatcher) ClearListMatch

func (x *ValueMatcher) ClearListMatch()

func (*ValueMatcher) ClearMatchPattern

func (x *ValueMatcher) ClearMatchPattern()

func (*ValueMatcher) ClearNullMatch

func (x *ValueMatcher) ClearNullMatch()

func (*ValueMatcher) ClearOrMatch

func (x *ValueMatcher) ClearOrMatch()

func (*ValueMatcher) ClearPresentMatch

func (x *ValueMatcher) ClearPresentMatch()

func (*ValueMatcher) ClearStringMatch

func (x *ValueMatcher) ClearStringMatch()

func (*ValueMatcher) GetBoolMatch

func (x *ValueMatcher) GetBoolMatch() bool

func (*ValueMatcher) GetDoubleMatch

func (x *ValueMatcher) GetDoubleMatch() *DoubleMatcher

func (*ValueMatcher) GetListMatch

func (x *ValueMatcher) GetListMatch() *ListMatcher

func (*ValueMatcher) GetMatchPattern

func (x *ValueMatcher) GetMatchPattern() isValueMatcher_MatchPattern

func (*ValueMatcher) GetNullMatch

func (x *ValueMatcher) GetNullMatch() *ValueMatcher_NullMatch

func (*ValueMatcher) GetOrMatch

func (x *ValueMatcher) GetOrMatch() *OrMatcher

func (*ValueMatcher) GetPresentMatch

func (x *ValueMatcher) GetPresentMatch() bool

func (*ValueMatcher) GetStringMatch

func (x *ValueMatcher) GetStringMatch() *StringMatcher

func (*ValueMatcher) HasBoolMatch

func (x *ValueMatcher) HasBoolMatch() bool

func (*ValueMatcher) HasDoubleMatch

func (x *ValueMatcher) HasDoubleMatch() bool

func (*ValueMatcher) HasListMatch

func (x *ValueMatcher) HasListMatch() bool

func (*ValueMatcher) HasMatchPattern

func (x *ValueMatcher) HasMatchPattern() bool

func (*ValueMatcher) HasNullMatch

func (x *ValueMatcher) HasNullMatch() bool

func (*ValueMatcher) HasOrMatch

func (x *ValueMatcher) HasOrMatch() bool

func (*ValueMatcher) HasPresentMatch

func (x *ValueMatcher) HasPresentMatch() bool

func (*ValueMatcher) HasStringMatch

func (x *ValueMatcher) HasStringMatch() bool

func (*ValueMatcher) ProtoMessage

func (*ValueMatcher) ProtoMessage()

func (*ValueMatcher) ProtoReflect

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

func (*ValueMatcher) Reset

func (x *ValueMatcher) Reset()

func (*ValueMatcher) SetBoolMatch

func (x *ValueMatcher) SetBoolMatch(v bool)

func (*ValueMatcher) SetDoubleMatch

func (x *ValueMatcher) SetDoubleMatch(v *DoubleMatcher)

func (*ValueMatcher) SetListMatch

func (x *ValueMatcher) SetListMatch(v *ListMatcher)

func (*ValueMatcher) SetNullMatch

func (x *ValueMatcher) SetNullMatch(v *ValueMatcher_NullMatch)

func (*ValueMatcher) SetOrMatch

func (x *ValueMatcher) SetOrMatch(v *OrMatcher)

func (*ValueMatcher) SetPresentMatch

func (x *ValueMatcher) SetPresentMatch(v bool)

func (*ValueMatcher) SetStringMatch

func (x *ValueMatcher) SetStringMatch(v *StringMatcher)

func (*ValueMatcher) String

func (x *ValueMatcher) String() string

func (*ValueMatcher) WhichMatchPattern

func (x *ValueMatcher) WhichMatchPattern() case_ValueMatcher_MatchPattern

type ValueMatcher_BoolMatch

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

type ValueMatcher_DoubleMatch

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

type ValueMatcher_ListMatch

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

type ValueMatcher_NullMatch

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

NullMatch is an empty message to specify a null value.

func (*ValueMatcher_NullMatch) ProtoMessage

func (*ValueMatcher_NullMatch) ProtoMessage()

func (*ValueMatcher_NullMatch) ProtoReflect

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

func (*ValueMatcher_NullMatch) Reset

func (x *ValueMatcher_NullMatch) Reset()

func (*ValueMatcher_NullMatch) String

func (x *ValueMatcher_NullMatch) String() string

type ValueMatcher_NullMatch_

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

type ValueMatcher_NullMatch_builder

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

func (ValueMatcher_NullMatch_builder) Build

type ValueMatcher_OrMatch

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

type ValueMatcher_PresentMatch

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

type ValueMatcher_StringMatch

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

type ValueMatcher_builder

type ValueMatcher_builder struct {

	// Fields of oneof MatchPattern:
	// If specified, a match occurs if and only if the target value is a NullValue.
	NullMatch *ValueMatcher_NullMatch
	// If specified, a match occurs if and only if the target value is a double value and is
	// matched to this field.
	DoubleMatch *DoubleMatcher
	// If specified, a match occurs if and only if the target value is a string value and is
	// matched to this field.
	StringMatch *StringMatcher
	// If specified, a match occurs if and only if the target value is a bool value and is equal
	// to this field.
	BoolMatch *bool
	// If specified, value match will be performed based on whether the path is referring to a
	// valid primitive value in the metadata. If the path is referring to a non-primitive value,
	// the result is always not matched.
	PresentMatch *bool
	// If specified, a match occurs if and only if the target value is a list value and
	// is matched to this field.
	ListMatch *ListMatcher
	// If specified, a match occurs if and only if any of the alternatives in the match accept the value.
	OrMatch *OrMatcher
	// contains filtered or unexported fields
}

func (ValueMatcher_builder) Build

func (b0 ValueMatcher_builder) Build() *ValueMatcher

Source Files

  • address.pb.go
  • filter_state.pb.go
  • http_inputs.pb.go
  • metadata.pb.go
  • node.pb.go
  • number.pb.go
  • path.pb.go
  • regex.pb.go
  • status_code_input.pb.go
  • string.pb.go
  • struct.pb.go
  • value.pb.go

Jump to

Keyboard shortcuts

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