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

1// This file is @generated by prost-build.
2#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3pub struct DoubleMatcher {
4    #[prost(oneof = "double_matcher::MatchPattern", tags = "1, 2")]
5    pub match_pattern: ::core::option::Option<double_matcher::MatchPattern>,
6}
7/// Nested message and enum types in `DoubleMatcher`.
8pub mod double_matcher {
9    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
10    pub enum MatchPattern {
11        #[prost(message, tag = "1")]
12        Range(super::super::super::v3::DoubleRange),
13        #[prost(double, tag = "2")]
14        Exact(f64),
15    }
16}
17#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
18pub struct RegexMatcher {
19    #[prost(string, tag = "2")]
20    pub regex: ::prost::alloc::string::String,
21    #[prost(oneof = "regex_matcher::EngineType", tags = "1")]
22    pub engine_type: ::core::option::Option<regex_matcher::EngineType>,
23}
24/// Nested message and enum types in `RegexMatcher`.
25pub mod regex_matcher {
26    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
27    pub struct GoogleRe2 {
28        #[deprecated]
29        #[prost(message, optional, tag = "1")]
30        pub max_program_size: ::core::option::Option<u32>,
31    }
32    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
33    pub enum EngineType {
34        #[prost(message, tag = "1")]
35        GoogleRe2(GoogleRe2),
36    }
37}
38#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
39pub struct RegexMatchAndSubstitute {
40    #[prost(message, optional, tag = "1")]
41    pub pattern: ::core::option::Option<RegexMatcher>,
42    #[prost(string, tag = "2")]
43    pub substitution: ::prost::alloc::string::String,
44}
45#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
46pub struct StringMatcher {
47    #[prost(bool, tag = "6")]
48    pub ignore_case: bool,
49    #[prost(oneof = "string_matcher::MatchPattern", tags = "1, 2, 3, 5, 7")]
50    pub match_pattern: ::core::option::Option<string_matcher::MatchPattern>,
51}
52/// Nested message and enum types in `StringMatcher`.
53pub mod string_matcher {
54    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
55    pub enum MatchPattern {
56        #[prost(string, tag = "1")]
57        Exact(::prost::alloc::string::String),
58        #[prost(string, tag = "2")]
59        Prefix(::prost::alloc::string::String),
60        #[prost(string, tag = "3")]
61        Suffix(::prost::alloc::string::String),
62        #[prost(message, tag = "5")]
63        SafeRegex(super::RegexMatcher),
64        #[prost(string, tag = "7")]
65        Contains(::prost::alloc::string::String),
66    }
67}
68#[derive(Clone, PartialEq, ::prost::Message)]
69pub struct ListStringMatcher {
70    #[prost(message, repeated, tag = "1")]
71    pub patterns: ::prost::alloc::vec::Vec<StringMatcher>,
72}
73#[derive(Clone, PartialEq, ::prost::Message)]
74pub struct ValueMatcher {
75    #[prost(oneof = "value_matcher::MatchPattern", tags = "1, 2, 3, 4, 5, 6")]
76    pub match_pattern: ::core::option::Option<value_matcher::MatchPattern>,
77}
78/// Nested message and enum types in `ValueMatcher`.
79pub mod value_matcher {
80    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
81    pub struct NullMatch {}
82    #[derive(Clone, PartialEq, ::prost::Oneof)]
83    pub enum MatchPattern {
84        #[prost(message, tag = "1")]
85        NullMatch(NullMatch),
86        #[prost(message, tag = "2")]
87        DoubleMatch(super::DoubleMatcher),
88        #[prost(message, tag = "3")]
89        StringMatch(super::StringMatcher),
90        #[prost(bool, tag = "4")]
91        BoolMatch(bool),
92        #[prost(bool, tag = "5")]
93        PresentMatch(bool),
94        #[prost(message, tag = "6")]
95        ListMatch(::prost::alloc::boxed::Box<super::ListMatcher>),
96    }
97}
98#[derive(Clone, PartialEq, ::prost::Message)]
99pub struct ListMatcher {
100    #[prost(oneof = "list_matcher::MatchPattern", tags = "1")]
101    pub match_pattern: ::core::option::Option<list_matcher::MatchPattern>,
102}
103/// Nested message and enum types in `ListMatcher`.
104pub mod list_matcher {
105    #[derive(Clone, PartialEq, ::prost::Oneof)]
106    pub enum MatchPattern {
107        #[prost(message, tag = "1")]
108        OneOf(::prost::alloc::boxed::Box<super::ValueMatcher>),
109    }
110}
111#[derive(Clone, PartialEq, ::prost::Message)]
112pub struct MetadataMatcher {
113    #[prost(string, tag = "1")]
114    pub filter: ::prost::alloc::string::String,
115    #[prost(message, repeated, tag = "2")]
116    pub path: ::prost::alloc::vec::Vec<metadata_matcher::PathSegment>,
117    #[prost(message, optional, tag = "3")]
118    pub value: ::core::option::Option<ValueMatcher>,
119    #[prost(bool, tag = "4")]
120    pub invert: bool,
121}
122/// Nested message and enum types in `MetadataMatcher`.
123pub mod metadata_matcher {
124    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
125    pub struct PathSegment {
126        #[prost(oneof = "path_segment::Segment", tags = "1")]
127        pub segment: ::core::option::Option<path_segment::Segment>,
128    }
129    /// Nested message and enum types in `PathSegment`.
130    pub mod path_segment {
131        #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
132        pub enum Segment {
133            #[prost(string, tag = "1")]
134            Key(::prost::alloc::string::String),
135        }
136    }
137}