quilkin_proto/generated/xds/kind/matcher/
v3.rs1#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
3pub struct RegexMatcher {
4 #[prost(string, tag = "2")]
5 pub regex: ::prost::alloc::string::String,
6 #[prost(oneof = "regex_matcher::EngineType", tags = "1")]
7 pub engine_type: ::core::option::Option<regex_matcher::EngineType>,
8}
9pub mod regex_matcher {
11 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
12 pub struct GoogleRe2 {}
13 #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
14 pub enum EngineType {
15 #[prost(message, tag = "1")]
16 GoogleRe2(GoogleRe2),
17 }
18}
19#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
20pub struct StringMatcher {
21 #[prost(bool, tag = "6")]
22 pub ignore_case: bool,
23 #[prost(oneof = "string_matcher::MatchPattern", tags = "1, 2, 3, 5, 7")]
24 pub match_pattern: ::core::option::Option<string_matcher::MatchPattern>,
25}
26pub mod string_matcher {
28 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
29 pub enum MatchPattern {
30 #[prost(string, tag = "1")]
31 Exact(::prost::alloc::string::String),
32 #[prost(string, tag = "2")]
33 Prefix(::prost::alloc::string::String),
34 #[prost(string, tag = "3")]
35 Suffix(::prost::alloc::string::String),
36 #[prost(message, tag = "5")]
37 SafeRegex(super::RegexMatcher),
38 #[prost(string, tag = "7")]
39 Contains(::prost::alloc::string::String),
40 }
41}
42#[derive(Clone, PartialEq, ::prost::Message)]
43pub struct ListStringMatcher {
44 #[prost(message, repeated, tag = "1")]
45 pub patterns: ::prost::alloc::vec::Vec<StringMatcher>,
46}
47#[derive(Clone, PartialEq, ::prost::Message)]
48pub struct Matcher {
49 #[prost(message, optional, boxed, tag = "3")]
50 pub on_no_match: ::core::option::Option<::prost::alloc::boxed::Box<matcher::OnMatch>>,
51 #[prost(oneof = "matcher::MatcherType", tags = "1, 2")]
52 pub matcher_type: ::core::option::Option<matcher::MatcherType>,
53}
54pub mod matcher {
56 #[derive(Clone, PartialEq, ::prost::Message)]
57 pub struct OnMatch {
58 #[prost(oneof = "on_match::OnMatch", tags = "1, 2")]
59 pub on_match: ::core::option::Option<on_match::OnMatch>,
60 }
61 pub mod on_match {
63 #[derive(Clone, PartialEq, ::prost::Oneof)]
64 pub enum OnMatch {
65 #[prost(message, tag = "1")]
66 Matcher(::prost::alloc::boxed::Box<super::super::Matcher>),
67 #[prost(message, tag = "2")]
68 Action(super::super::super::super::super::core::v3::TypedExtensionConfig),
69 }
70 }
71 #[derive(Clone, PartialEq, ::prost::Message)]
72 pub struct MatcherList {
73 #[prost(message, repeated, tag = "1")]
74 pub matchers: ::prost::alloc::vec::Vec<matcher_list::FieldMatcher>,
75 }
76 pub mod matcher_list {
78 #[derive(Clone, PartialEq, ::prost::Message)]
79 pub struct Predicate {
80 #[prost(oneof = "predicate::MatchType", tags = "1, 2, 3, 4")]
81 pub match_type: ::core::option::Option<predicate::MatchType>,
82 }
83 pub mod predicate {
85 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
86 pub struct SinglePredicate {
87 #[prost(message, optional, tag = "1")]
88 pub input: ::core::option::Option<
89 super::super::super::super::super::super::core::v3::TypedExtensionConfig,
90 >,
91 #[prost(oneof = "single_predicate::Matcher", tags = "2, 3")]
92 pub matcher: ::core::option::Option<single_predicate::Matcher>,
93 }
94 pub mod single_predicate {
96 #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
97 pub enum Matcher {
98 #[prost(message, tag = "2")]
99 ValueMatch(super::super::super::super::StringMatcher),
100 #[prost(message, tag = "3")]
101 CustomMatch(
102 super::super::super::super::super::super::super::core::v3::TypedExtensionConfig,
103 ),
104 }
105 }
106 #[derive(Clone, PartialEq, ::prost::Message)]
107 pub struct PredicateList {
108 #[prost(message, repeated, tag = "1")]
109 pub predicate: ::prost::alloc::vec::Vec<super::Predicate>,
110 }
111 #[derive(Clone, PartialEq, ::prost::Oneof)]
112 pub enum MatchType {
113 #[prost(message, tag = "1")]
114 SinglePredicate(SinglePredicate),
115 #[prost(message, tag = "2")]
116 OrMatcher(PredicateList),
117 #[prost(message, tag = "3")]
118 AndMatcher(PredicateList),
119 #[prost(message, tag = "4")]
120 NotMatcher(::prost::alloc::boxed::Box<super::Predicate>),
121 }
122 }
123 #[derive(Clone, PartialEq, ::prost::Message)]
124 pub struct FieldMatcher {
125 #[prost(message, optional, tag = "1")]
126 pub predicate: ::core::option::Option<Predicate>,
127 #[prost(message, optional, tag = "2")]
128 pub on_match: ::core::option::Option<super::OnMatch>,
129 }
130 }
131 #[derive(Clone, PartialEq, ::prost::Message)]
132 pub struct MatcherTree {
133 #[prost(message, optional, tag = "1")]
134 pub input:
135 ::core::option::Option<super::super::super::super::core::v3::TypedExtensionConfig>,
136 #[prost(oneof = "matcher_tree::TreeType", tags = "2, 3, 4")]
137 pub tree_type: ::core::option::Option<matcher_tree::TreeType>,
138 }
139 pub mod matcher_tree {
141 #[derive(Clone, PartialEq, ::prost::Message)]
142 pub struct MatchMap {
143 #[prost(map = "string, message", tag = "1")]
144 pub map: ::std::collections::HashMap<::prost::alloc::string::String, super::OnMatch>,
145 }
146 #[derive(Clone, PartialEq, ::prost::Oneof)]
147 pub enum TreeType {
148 #[prost(message, tag = "2")]
149 ExactMatchMap(MatchMap),
150 #[prost(message, tag = "3")]
151 PrefixMatchMap(MatchMap),
152 #[prost(message, tag = "4")]
153 CustomMatch(super::super::super::super::super::core::v3::TypedExtensionConfig),
154 }
155 }
156 #[derive(Clone, PartialEq, ::prost::Oneof)]
157 pub enum MatcherType {
158 #[prost(message, tag = "1")]
159 MatcherList(MatcherList),
160 #[prost(message, tag = "2")]
161 MatcherTree(MatcherTree),
162 }
163}