quilkin_proto/generated/xds/kind/matcher/
v3.rs

1// This file is @generated by prost-build.
2#[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}
9/// Nested message and enum types in `RegexMatcher`.
10pub 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}
26/// Nested message and enum types in `StringMatcher`.
27pub 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}
54/// Nested message and enum types in `Matcher`.
55pub 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    /// Nested message and enum types in `OnMatch`.
62    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    /// Nested message and enum types in `MatcherList`.
77    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        /// Nested message and enum types in `Predicate`.
84        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            /// Nested message and enum types in `SinglePredicate`.
95            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    /// Nested message and enum types in `MatcherTree`.
140    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}