quilkin_proto/generated/
validate.rs

1#[allow(clippy::derive_partial_eq_without_eq)]
2#[derive(Clone, PartialEq, ::prost::Message)]
3pub struct FieldRules {
4    #[prost(message, optional, tag = "17")]
5    pub message: ::core::option::Option<MessageRules>,
6    #[prost(
7        oneof = "field_rules::Type",
8        tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22"
9    )]
10    pub r#type: ::core::option::Option<field_rules::Type>,
11}
12/// Nested message and enum types in `FieldRules`.
13pub mod field_rules {
14    #[allow(clippy::derive_partial_eq_without_eq)]
15    #[derive(Clone, PartialEq, ::prost::Oneof)]
16    pub enum Type {
17        #[prost(message, tag = "1")]
18        Float(super::FloatRules),
19        #[prost(message, tag = "2")]
20        Double(super::DoubleRules),
21        #[prost(message, tag = "3")]
22        Int32(super::Int32Rules),
23        #[prost(message, tag = "4")]
24        Int64(super::Int64Rules),
25        #[prost(message, tag = "5")]
26        Uint32(super::UInt32Rules),
27        #[prost(message, tag = "6")]
28        Uint64(super::UInt64Rules),
29        #[prost(message, tag = "7")]
30        Sint32(super::SInt32Rules),
31        #[prost(message, tag = "8")]
32        Sint64(super::SInt64Rules),
33        #[prost(message, tag = "9")]
34        Fixed32(super::Fixed32Rules),
35        #[prost(message, tag = "10")]
36        Fixed64(super::Fixed64Rules),
37        #[prost(message, tag = "11")]
38        Sfixed32(super::SFixed32Rules),
39        #[prost(message, tag = "12")]
40        Sfixed64(super::SFixed64Rules),
41        #[prost(message, tag = "13")]
42        Bool(super::BoolRules),
43        #[prost(message, tag = "14")]
44        String(super::StringRules),
45        #[prost(message, tag = "15")]
46        Bytes(super::BytesRules),
47        #[prost(message, tag = "16")]
48        Enum(super::EnumRules),
49        #[prost(message, tag = "18")]
50        Repeated(::prost::alloc::boxed::Box<super::RepeatedRules>),
51        #[prost(message, tag = "19")]
52        Map(::prost::alloc::boxed::Box<super::MapRules>),
53        #[prost(message, tag = "20")]
54        Any(super::AnyRules),
55        #[prost(message, tag = "21")]
56        Duration(super::DurationRules),
57        #[prost(message, tag = "22")]
58        Timestamp(super::TimestampRules),
59    }
60}
61#[allow(clippy::derive_partial_eq_without_eq)]
62#[derive(Clone, PartialEq, ::prost::Message)]
63pub struct FloatRules {
64    #[prost(float, optional, tag = "1")]
65    pub r#const: ::core::option::Option<f32>,
66    #[prost(float, optional, tag = "2")]
67    pub lt: ::core::option::Option<f32>,
68    #[prost(float, optional, tag = "3")]
69    pub lte: ::core::option::Option<f32>,
70    #[prost(float, optional, tag = "4")]
71    pub gt: ::core::option::Option<f32>,
72    #[prost(float, optional, tag = "5")]
73    pub gte: ::core::option::Option<f32>,
74    #[prost(float, repeated, packed = "false", tag = "6")]
75    pub r#in: ::prost::alloc::vec::Vec<f32>,
76    #[prost(float, repeated, packed = "false", tag = "7")]
77    pub not_in: ::prost::alloc::vec::Vec<f32>,
78    #[prost(bool, optional, tag = "8")]
79    pub ignore_empty: ::core::option::Option<bool>,
80}
81#[allow(clippy::derive_partial_eq_without_eq)]
82#[derive(Clone, PartialEq, ::prost::Message)]
83pub struct DoubleRules {
84    #[prost(double, optional, tag = "1")]
85    pub r#const: ::core::option::Option<f64>,
86    #[prost(double, optional, tag = "2")]
87    pub lt: ::core::option::Option<f64>,
88    #[prost(double, optional, tag = "3")]
89    pub lte: ::core::option::Option<f64>,
90    #[prost(double, optional, tag = "4")]
91    pub gt: ::core::option::Option<f64>,
92    #[prost(double, optional, tag = "5")]
93    pub gte: ::core::option::Option<f64>,
94    #[prost(double, repeated, packed = "false", tag = "6")]
95    pub r#in: ::prost::alloc::vec::Vec<f64>,
96    #[prost(double, repeated, packed = "false", tag = "7")]
97    pub not_in: ::prost::alloc::vec::Vec<f64>,
98    #[prost(bool, optional, tag = "8")]
99    pub ignore_empty: ::core::option::Option<bool>,
100}
101#[allow(clippy::derive_partial_eq_without_eq)]
102#[derive(Clone, PartialEq, ::prost::Message)]
103pub struct Int32Rules {
104    #[prost(int32, optional, tag = "1")]
105    pub r#const: ::core::option::Option<i32>,
106    #[prost(int32, optional, tag = "2")]
107    pub lt: ::core::option::Option<i32>,
108    #[prost(int32, optional, tag = "3")]
109    pub lte: ::core::option::Option<i32>,
110    #[prost(int32, optional, tag = "4")]
111    pub gt: ::core::option::Option<i32>,
112    #[prost(int32, optional, tag = "5")]
113    pub gte: ::core::option::Option<i32>,
114    #[prost(int32, repeated, packed = "false", tag = "6")]
115    pub r#in: ::prost::alloc::vec::Vec<i32>,
116    #[prost(int32, repeated, packed = "false", tag = "7")]
117    pub not_in: ::prost::alloc::vec::Vec<i32>,
118    #[prost(bool, optional, tag = "8")]
119    pub ignore_empty: ::core::option::Option<bool>,
120}
121#[allow(clippy::derive_partial_eq_without_eq)]
122#[derive(Clone, PartialEq, ::prost::Message)]
123pub struct Int64Rules {
124    #[prost(int64, optional, tag = "1")]
125    pub r#const: ::core::option::Option<i64>,
126    #[prost(int64, optional, tag = "2")]
127    pub lt: ::core::option::Option<i64>,
128    #[prost(int64, optional, tag = "3")]
129    pub lte: ::core::option::Option<i64>,
130    #[prost(int64, optional, tag = "4")]
131    pub gt: ::core::option::Option<i64>,
132    #[prost(int64, optional, tag = "5")]
133    pub gte: ::core::option::Option<i64>,
134    #[prost(int64, repeated, packed = "false", tag = "6")]
135    pub r#in: ::prost::alloc::vec::Vec<i64>,
136    #[prost(int64, repeated, packed = "false", tag = "7")]
137    pub not_in: ::prost::alloc::vec::Vec<i64>,
138    #[prost(bool, optional, tag = "8")]
139    pub ignore_empty: ::core::option::Option<bool>,
140}
141#[allow(clippy::derive_partial_eq_without_eq)]
142#[derive(Clone, PartialEq, ::prost::Message)]
143pub struct UInt32Rules {
144    #[prost(uint32, optional, tag = "1")]
145    pub r#const: ::core::option::Option<u32>,
146    #[prost(uint32, optional, tag = "2")]
147    pub lt: ::core::option::Option<u32>,
148    #[prost(uint32, optional, tag = "3")]
149    pub lte: ::core::option::Option<u32>,
150    #[prost(uint32, optional, tag = "4")]
151    pub gt: ::core::option::Option<u32>,
152    #[prost(uint32, optional, tag = "5")]
153    pub gte: ::core::option::Option<u32>,
154    #[prost(uint32, repeated, packed = "false", tag = "6")]
155    pub r#in: ::prost::alloc::vec::Vec<u32>,
156    #[prost(uint32, repeated, packed = "false", tag = "7")]
157    pub not_in: ::prost::alloc::vec::Vec<u32>,
158    #[prost(bool, optional, tag = "8")]
159    pub ignore_empty: ::core::option::Option<bool>,
160}
161#[allow(clippy::derive_partial_eq_without_eq)]
162#[derive(Clone, PartialEq, ::prost::Message)]
163pub struct UInt64Rules {
164    #[prost(uint64, optional, tag = "1")]
165    pub r#const: ::core::option::Option<u64>,
166    #[prost(uint64, optional, tag = "2")]
167    pub lt: ::core::option::Option<u64>,
168    #[prost(uint64, optional, tag = "3")]
169    pub lte: ::core::option::Option<u64>,
170    #[prost(uint64, optional, tag = "4")]
171    pub gt: ::core::option::Option<u64>,
172    #[prost(uint64, optional, tag = "5")]
173    pub gte: ::core::option::Option<u64>,
174    #[prost(uint64, repeated, packed = "false", tag = "6")]
175    pub r#in: ::prost::alloc::vec::Vec<u64>,
176    #[prost(uint64, repeated, packed = "false", tag = "7")]
177    pub not_in: ::prost::alloc::vec::Vec<u64>,
178    #[prost(bool, optional, tag = "8")]
179    pub ignore_empty: ::core::option::Option<bool>,
180}
181#[allow(clippy::derive_partial_eq_without_eq)]
182#[derive(Clone, PartialEq, ::prost::Message)]
183pub struct SInt32Rules {
184    #[prost(sint32, optional, tag = "1")]
185    pub r#const: ::core::option::Option<i32>,
186    #[prost(sint32, optional, tag = "2")]
187    pub lt: ::core::option::Option<i32>,
188    #[prost(sint32, optional, tag = "3")]
189    pub lte: ::core::option::Option<i32>,
190    #[prost(sint32, optional, tag = "4")]
191    pub gt: ::core::option::Option<i32>,
192    #[prost(sint32, optional, tag = "5")]
193    pub gte: ::core::option::Option<i32>,
194    #[prost(sint32, repeated, packed = "false", tag = "6")]
195    pub r#in: ::prost::alloc::vec::Vec<i32>,
196    #[prost(sint32, repeated, packed = "false", tag = "7")]
197    pub not_in: ::prost::alloc::vec::Vec<i32>,
198    #[prost(bool, optional, tag = "8")]
199    pub ignore_empty: ::core::option::Option<bool>,
200}
201#[allow(clippy::derive_partial_eq_without_eq)]
202#[derive(Clone, PartialEq, ::prost::Message)]
203pub struct SInt64Rules {
204    #[prost(sint64, optional, tag = "1")]
205    pub r#const: ::core::option::Option<i64>,
206    #[prost(sint64, optional, tag = "2")]
207    pub lt: ::core::option::Option<i64>,
208    #[prost(sint64, optional, tag = "3")]
209    pub lte: ::core::option::Option<i64>,
210    #[prost(sint64, optional, tag = "4")]
211    pub gt: ::core::option::Option<i64>,
212    #[prost(sint64, optional, tag = "5")]
213    pub gte: ::core::option::Option<i64>,
214    #[prost(sint64, repeated, packed = "false", tag = "6")]
215    pub r#in: ::prost::alloc::vec::Vec<i64>,
216    #[prost(sint64, repeated, packed = "false", tag = "7")]
217    pub not_in: ::prost::alloc::vec::Vec<i64>,
218    #[prost(bool, optional, tag = "8")]
219    pub ignore_empty: ::core::option::Option<bool>,
220}
221#[allow(clippy::derive_partial_eq_without_eq)]
222#[derive(Clone, PartialEq, ::prost::Message)]
223pub struct Fixed32Rules {
224    #[prost(fixed32, optional, tag = "1")]
225    pub r#const: ::core::option::Option<u32>,
226    #[prost(fixed32, optional, tag = "2")]
227    pub lt: ::core::option::Option<u32>,
228    #[prost(fixed32, optional, tag = "3")]
229    pub lte: ::core::option::Option<u32>,
230    #[prost(fixed32, optional, tag = "4")]
231    pub gt: ::core::option::Option<u32>,
232    #[prost(fixed32, optional, tag = "5")]
233    pub gte: ::core::option::Option<u32>,
234    #[prost(fixed32, repeated, packed = "false", tag = "6")]
235    pub r#in: ::prost::alloc::vec::Vec<u32>,
236    #[prost(fixed32, repeated, packed = "false", tag = "7")]
237    pub not_in: ::prost::alloc::vec::Vec<u32>,
238    #[prost(bool, optional, tag = "8")]
239    pub ignore_empty: ::core::option::Option<bool>,
240}
241#[allow(clippy::derive_partial_eq_without_eq)]
242#[derive(Clone, PartialEq, ::prost::Message)]
243pub struct Fixed64Rules {
244    #[prost(fixed64, optional, tag = "1")]
245    pub r#const: ::core::option::Option<u64>,
246    #[prost(fixed64, optional, tag = "2")]
247    pub lt: ::core::option::Option<u64>,
248    #[prost(fixed64, optional, tag = "3")]
249    pub lte: ::core::option::Option<u64>,
250    #[prost(fixed64, optional, tag = "4")]
251    pub gt: ::core::option::Option<u64>,
252    #[prost(fixed64, optional, tag = "5")]
253    pub gte: ::core::option::Option<u64>,
254    #[prost(fixed64, repeated, packed = "false", tag = "6")]
255    pub r#in: ::prost::alloc::vec::Vec<u64>,
256    #[prost(fixed64, repeated, packed = "false", tag = "7")]
257    pub not_in: ::prost::alloc::vec::Vec<u64>,
258    #[prost(bool, optional, tag = "8")]
259    pub ignore_empty: ::core::option::Option<bool>,
260}
261#[allow(clippy::derive_partial_eq_without_eq)]
262#[derive(Clone, PartialEq, ::prost::Message)]
263pub struct SFixed32Rules {
264    #[prost(sfixed32, optional, tag = "1")]
265    pub r#const: ::core::option::Option<i32>,
266    #[prost(sfixed32, optional, tag = "2")]
267    pub lt: ::core::option::Option<i32>,
268    #[prost(sfixed32, optional, tag = "3")]
269    pub lte: ::core::option::Option<i32>,
270    #[prost(sfixed32, optional, tag = "4")]
271    pub gt: ::core::option::Option<i32>,
272    #[prost(sfixed32, optional, tag = "5")]
273    pub gte: ::core::option::Option<i32>,
274    #[prost(sfixed32, repeated, packed = "false", tag = "6")]
275    pub r#in: ::prost::alloc::vec::Vec<i32>,
276    #[prost(sfixed32, repeated, packed = "false", tag = "7")]
277    pub not_in: ::prost::alloc::vec::Vec<i32>,
278    #[prost(bool, optional, tag = "8")]
279    pub ignore_empty: ::core::option::Option<bool>,
280}
281#[allow(clippy::derive_partial_eq_without_eq)]
282#[derive(Clone, PartialEq, ::prost::Message)]
283pub struct SFixed64Rules {
284    #[prost(sfixed64, optional, tag = "1")]
285    pub r#const: ::core::option::Option<i64>,
286    #[prost(sfixed64, optional, tag = "2")]
287    pub lt: ::core::option::Option<i64>,
288    #[prost(sfixed64, optional, tag = "3")]
289    pub lte: ::core::option::Option<i64>,
290    #[prost(sfixed64, optional, tag = "4")]
291    pub gt: ::core::option::Option<i64>,
292    #[prost(sfixed64, optional, tag = "5")]
293    pub gte: ::core::option::Option<i64>,
294    #[prost(sfixed64, repeated, packed = "false", tag = "6")]
295    pub r#in: ::prost::alloc::vec::Vec<i64>,
296    #[prost(sfixed64, repeated, packed = "false", tag = "7")]
297    pub not_in: ::prost::alloc::vec::Vec<i64>,
298    #[prost(bool, optional, tag = "8")]
299    pub ignore_empty: ::core::option::Option<bool>,
300}
301#[allow(clippy::derive_partial_eq_without_eq)]
302#[derive(Clone, PartialEq, ::prost::Message)]
303pub struct BoolRules {
304    #[prost(bool, optional, tag = "1")]
305    pub r#const: ::core::option::Option<bool>,
306}
307#[allow(clippy::derive_partial_eq_without_eq)]
308#[derive(Clone, PartialEq, ::prost::Message)]
309pub struct StringRules {
310    #[prost(string, optional, tag = "1")]
311    pub r#const: ::core::option::Option<::prost::alloc::string::String>,
312    #[prost(uint64, optional, tag = "19")]
313    pub len: ::core::option::Option<u64>,
314    #[prost(uint64, optional, tag = "2")]
315    pub min_len: ::core::option::Option<u64>,
316    #[prost(uint64, optional, tag = "3")]
317    pub max_len: ::core::option::Option<u64>,
318    #[prost(uint64, optional, tag = "20")]
319    pub len_bytes: ::core::option::Option<u64>,
320    #[prost(uint64, optional, tag = "4")]
321    pub min_bytes: ::core::option::Option<u64>,
322    #[prost(uint64, optional, tag = "5")]
323    pub max_bytes: ::core::option::Option<u64>,
324    #[prost(string, optional, tag = "6")]
325    pub pattern: ::core::option::Option<::prost::alloc::string::String>,
326    #[prost(string, optional, tag = "7")]
327    pub prefix: ::core::option::Option<::prost::alloc::string::String>,
328    #[prost(string, optional, tag = "8")]
329    pub suffix: ::core::option::Option<::prost::alloc::string::String>,
330    #[prost(string, optional, tag = "9")]
331    pub contains: ::core::option::Option<::prost::alloc::string::String>,
332    #[prost(string, optional, tag = "23")]
333    pub not_contains: ::core::option::Option<::prost::alloc::string::String>,
334    #[prost(string, repeated, tag = "10")]
335    pub r#in: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
336    #[prost(string, repeated, tag = "11")]
337    pub not_in: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
338    #[prost(bool, optional, tag = "25", default = "true")]
339    pub strict: ::core::option::Option<bool>,
340    #[prost(bool, optional, tag = "26")]
341    pub ignore_empty: ::core::option::Option<bool>,
342    #[prost(
343        oneof = "string_rules::WellKnown",
344        tags = "12, 13, 14, 15, 16, 17, 18, 21, 22, 24"
345    )]
346    pub well_known: ::core::option::Option<string_rules::WellKnown>,
347}
348/// Nested message and enum types in `StringRules`.
349pub mod string_rules {
350    #[allow(clippy::derive_partial_eq_without_eq)]
351    #[derive(Clone, PartialEq, ::prost::Oneof)]
352    pub enum WellKnown {
353        #[prost(bool, tag = "12")]
354        Email(bool),
355        #[prost(bool, tag = "13")]
356        Hostname(bool),
357        #[prost(bool, tag = "14")]
358        Ip(bool),
359        #[prost(bool, tag = "15")]
360        Ipv4(bool),
361        #[prost(bool, tag = "16")]
362        Ipv6(bool),
363        #[prost(bool, tag = "17")]
364        Uri(bool),
365        #[prost(bool, tag = "18")]
366        UriRef(bool),
367        #[prost(bool, tag = "21")]
368        Address(bool),
369        #[prost(bool, tag = "22")]
370        Uuid(bool),
371        #[prost(enumeration = "super::KnownRegex", tag = "24")]
372        WellKnownRegex(i32),
373    }
374}
375#[allow(clippy::derive_partial_eq_without_eq)]
376#[derive(Clone, PartialEq, ::prost::Message)]
377pub struct BytesRules {
378    #[prost(bytes = "vec", optional, tag = "1")]
379    pub r#const: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
380    #[prost(uint64, optional, tag = "13")]
381    pub len: ::core::option::Option<u64>,
382    #[prost(uint64, optional, tag = "2")]
383    pub min_len: ::core::option::Option<u64>,
384    #[prost(uint64, optional, tag = "3")]
385    pub max_len: ::core::option::Option<u64>,
386    #[prost(string, optional, tag = "4")]
387    pub pattern: ::core::option::Option<::prost::alloc::string::String>,
388    #[prost(bytes = "vec", optional, tag = "5")]
389    pub prefix: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
390    #[prost(bytes = "vec", optional, tag = "6")]
391    pub suffix: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
392    #[prost(bytes = "vec", optional, tag = "7")]
393    pub contains: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
394    #[prost(bytes = "vec", repeated, tag = "8")]
395    pub r#in: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
396    #[prost(bytes = "vec", repeated, tag = "9")]
397    pub not_in: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
398    #[prost(bool, optional, tag = "14")]
399    pub ignore_empty: ::core::option::Option<bool>,
400    #[prost(oneof = "bytes_rules::WellKnown", tags = "10, 11, 12")]
401    pub well_known: ::core::option::Option<bytes_rules::WellKnown>,
402}
403/// Nested message and enum types in `BytesRules`.
404pub mod bytes_rules {
405    #[allow(clippy::derive_partial_eq_without_eq)]
406    #[derive(Clone, PartialEq, ::prost::Oneof)]
407    pub enum WellKnown {
408        #[prost(bool, tag = "10")]
409        Ip(bool),
410        #[prost(bool, tag = "11")]
411        Ipv4(bool),
412        #[prost(bool, tag = "12")]
413        Ipv6(bool),
414    }
415}
416#[allow(clippy::derive_partial_eq_without_eq)]
417#[derive(Clone, PartialEq, ::prost::Message)]
418pub struct EnumRules {
419    #[prost(int32, optional, tag = "1")]
420    pub r#const: ::core::option::Option<i32>,
421    #[prost(bool, optional, tag = "2")]
422    pub defined_only: ::core::option::Option<bool>,
423    #[prost(int32, repeated, packed = "false", tag = "3")]
424    pub r#in: ::prost::alloc::vec::Vec<i32>,
425    #[prost(int32, repeated, packed = "false", tag = "4")]
426    pub not_in: ::prost::alloc::vec::Vec<i32>,
427}
428#[allow(clippy::derive_partial_eq_without_eq)]
429#[derive(Clone, PartialEq, ::prost::Message)]
430pub struct MessageRules {
431    #[prost(bool, optional, tag = "1")]
432    pub skip: ::core::option::Option<bool>,
433    #[prost(bool, optional, tag = "2")]
434    pub required: ::core::option::Option<bool>,
435}
436#[allow(clippy::derive_partial_eq_without_eq)]
437#[derive(Clone, PartialEq, ::prost::Message)]
438pub struct RepeatedRules {
439    #[prost(uint64, optional, tag = "1")]
440    pub min_items: ::core::option::Option<u64>,
441    #[prost(uint64, optional, tag = "2")]
442    pub max_items: ::core::option::Option<u64>,
443    #[prost(bool, optional, tag = "3")]
444    pub unique: ::core::option::Option<bool>,
445    #[prost(message, optional, boxed, tag = "4")]
446    pub items: ::core::option::Option<::prost::alloc::boxed::Box<FieldRules>>,
447    #[prost(bool, optional, tag = "5")]
448    pub ignore_empty: ::core::option::Option<bool>,
449}
450#[allow(clippy::derive_partial_eq_without_eq)]
451#[derive(Clone, PartialEq, ::prost::Message)]
452pub struct MapRules {
453    #[prost(uint64, optional, tag = "1")]
454    pub min_pairs: ::core::option::Option<u64>,
455    #[prost(uint64, optional, tag = "2")]
456    pub max_pairs: ::core::option::Option<u64>,
457    #[prost(bool, optional, tag = "3")]
458    pub no_sparse: ::core::option::Option<bool>,
459    #[prost(message, optional, boxed, tag = "4")]
460    pub keys: ::core::option::Option<::prost::alloc::boxed::Box<FieldRules>>,
461    #[prost(message, optional, boxed, tag = "5")]
462    pub values: ::core::option::Option<::prost::alloc::boxed::Box<FieldRules>>,
463    #[prost(bool, optional, tag = "6")]
464    pub ignore_empty: ::core::option::Option<bool>,
465}
466#[allow(clippy::derive_partial_eq_without_eq)]
467#[derive(Clone, PartialEq, ::prost::Message)]
468pub struct AnyRules {
469    #[prost(bool, optional, tag = "1")]
470    pub required: ::core::option::Option<bool>,
471    #[prost(string, repeated, tag = "2")]
472    pub r#in: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
473    #[prost(string, repeated, tag = "3")]
474    pub not_in: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
475}
476#[allow(clippy::derive_partial_eq_without_eq)]
477#[derive(Clone, PartialEq, ::prost::Message)]
478pub struct DurationRules {
479    #[prost(bool, optional, tag = "1")]
480    pub required: ::core::option::Option<bool>,
481    #[prost(message, optional, tag = "2")]
482    pub r#const: ::core::option::Option<::prost_types::Duration>,
483    #[prost(message, optional, tag = "3")]
484    pub lt: ::core::option::Option<::prost_types::Duration>,
485    #[prost(message, optional, tag = "4")]
486    pub lte: ::core::option::Option<::prost_types::Duration>,
487    #[prost(message, optional, tag = "5")]
488    pub gt: ::core::option::Option<::prost_types::Duration>,
489    #[prost(message, optional, tag = "6")]
490    pub gte: ::core::option::Option<::prost_types::Duration>,
491    #[prost(message, repeated, tag = "7")]
492    pub r#in: ::prost::alloc::vec::Vec<::prost_types::Duration>,
493    #[prost(message, repeated, tag = "8")]
494    pub not_in: ::prost::alloc::vec::Vec<::prost_types::Duration>,
495}
496#[allow(clippy::derive_partial_eq_without_eq)]
497#[derive(Clone, PartialEq, ::prost::Message)]
498pub struct TimestampRules {
499    #[prost(bool, optional, tag = "1")]
500    pub required: ::core::option::Option<bool>,
501    #[prost(message, optional, tag = "2")]
502    pub r#const: ::core::option::Option<::prost_types::Timestamp>,
503    #[prost(message, optional, tag = "3")]
504    pub lt: ::core::option::Option<::prost_types::Timestamp>,
505    #[prost(message, optional, tag = "4")]
506    pub lte: ::core::option::Option<::prost_types::Timestamp>,
507    #[prost(message, optional, tag = "5")]
508    pub gt: ::core::option::Option<::prost_types::Timestamp>,
509    #[prost(message, optional, tag = "6")]
510    pub gte: ::core::option::Option<::prost_types::Timestamp>,
511    #[prost(bool, optional, tag = "7")]
512    pub lt_now: ::core::option::Option<bool>,
513    #[prost(bool, optional, tag = "8")]
514    pub gt_now: ::core::option::Option<bool>,
515    #[prost(message, optional, tag = "9")]
516    pub within: ::core::option::Option<::prost_types::Duration>,
517}
518#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
519#[repr(i32)]
520pub enum KnownRegex {
521    Unknown = 0,
522    HttpHeaderName = 1,
523    HttpHeaderValue = 2,
524}
525impl KnownRegex {
526    /// String value of the enum field names used in the ProtoBuf definition.
527    ///
528    /// The values are not transformed in any way and thus are considered stable
529    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
530    pub fn as_str_name(&self) -> &'static str {
531        match self {
532            KnownRegex::Unknown => "UNKNOWN",
533            KnownRegex::HttpHeaderName => "HTTP_HEADER_NAME",
534            KnownRegex::HttpHeaderValue => "HTTP_HEADER_VALUE",
535        }
536    }
537    /// Creates an enum from field names used in the ProtoBuf definition.
538    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
539        match value {
540            "UNKNOWN" => Some(Self::Unknown),
541            "HTTP_HEADER_NAME" => Some(Self::HttpHeaderName),
542            "HTTP_HEADER_VALUE" => Some(Self::HttpHeaderValue),
543            _ => None,
544        }
545    }
546}