1#[derive(Clone, PartialEq, ::prost::Message)]
3pub struct Rule {
4 #[prost(string, optional, tag = "1")]
5 pub id: ::core::option::Option<::prost::alloc::string::String>,
6 #[prost(string, optional, tag = "2")]
7 pub message: ::core::option::Option<::prost::alloc::string::String>,
8 #[prost(string, optional, tag = "3")]
9 pub expression: ::core::option::Option<::prost::alloc::string::String>,
10}
11#[derive(Clone, PartialEq, ::prost::Message)]
12pub struct MessageRules {
13 #[prost(string, repeated, tag = "5")]
14 pub cel_expression: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
15 #[prost(message, repeated, tag = "3")]
16 pub cel: ::prost::alloc::vec::Vec<Rule>,
17 #[prost(message, repeated, tag = "4")]
18 pub oneof: ::prost::alloc::vec::Vec<MessageOneofRule>,
19}
20#[derive(Clone, PartialEq, ::prost::Message)]
21pub struct MessageOneofRule {
22 #[prost(string, repeated, tag = "1")]
23 pub fields: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
24 #[prost(bool, optional, tag = "2")]
25 pub required: ::core::option::Option<bool>,
26}
27#[derive(Clone, Copy, PartialEq, ::prost::Message)]
28pub struct OneofRules {
29 #[prost(bool, optional, tag = "1")]
30 pub required: ::core::option::Option<bool>,
31}
32#[derive(Clone, PartialEq, ::prost::Message)]
33pub struct FieldRules {
34 #[prost(string, repeated, tag = "29")]
35 pub cel_expression: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
36 #[prost(message, repeated, tag = "23")]
37 pub cel: ::prost::alloc::vec::Vec<Rule>,
38 #[prost(bool, optional, tag = "25")]
39 pub required: ::core::option::Option<bool>,
40 #[prost(enumeration = "Ignore", optional, tag = "27")]
41 pub ignore: ::core::option::Option<i32>,
42 #[prost(
43 oneof = "field_rules::Type",
44 tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 28, 22"
45 )]
46 pub r#type: ::core::option::Option<field_rules::Type>,
47}
48pub mod field_rules {
50 #[derive(Clone, PartialEq, ::prost::Oneof)]
51 pub enum Type {
52 #[prost(message, tag = "1")]
53 Float(super::FloatRules),
54 #[prost(message, tag = "2")]
55 Double(super::DoubleRules),
56 #[prost(message, tag = "3")]
57 Int32(super::Int32Rules),
58 #[prost(message, tag = "4")]
59 Int64(super::Int64Rules),
60 #[prost(message, tag = "5")]
61 Uint32(super::UInt32Rules),
62 #[prost(message, tag = "6")]
63 Uint64(super::UInt64Rules),
64 #[prost(message, tag = "7")]
65 Sint32(super::SInt32Rules),
66 #[prost(message, tag = "8")]
67 Sint64(super::SInt64Rules),
68 #[prost(message, tag = "9")]
69 Fixed32(super::Fixed32Rules),
70 #[prost(message, tag = "10")]
71 Fixed64(super::Fixed64Rules),
72 #[prost(message, tag = "11")]
73 Sfixed32(super::SFixed32Rules),
74 #[prost(message, tag = "12")]
75 Sfixed64(super::SFixed64Rules),
76 #[prost(message, tag = "13")]
77 Bool(super::BoolRules),
78 #[prost(message, tag = "14")]
79 String(super::StringRules),
80 #[prost(message, tag = "15")]
81 Bytes(super::BytesRules),
82 #[prost(message, tag = "16")]
83 Enum(super::EnumRules),
84 #[prost(message, tag = "18")]
85 Repeated(::prost::alloc::boxed::Box<super::RepeatedRules>),
86 #[prost(message, tag = "19")]
87 Map(::prost::alloc::boxed::Box<super::MapRules>),
88 #[prost(message, tag = "20")]
89 Any(super::AnyRules),
90 #[prost(message, tag = "21")]
91 Duration(super::DurationRules),
92 #[prost(message, tag = "28")]
93 FieldMask(super::FieldMaskRules),
94 #[prost(message, tag = "22")]
95 Timestamp(super::TimestampRules),
96 }
97}
98#[derive(Clone, PartialEq, ::prost::Message)]
99pub struct PredefinedRules {
100 #[prost(message, repeated, tag = "1")]
101 pub cel: ::prost::alloc::vec::Vec<Rule>,
102}
103#[derive(Clone, PartialEq, ::prost::Message)]
104pub struct FloatRules {
105 #[prost(float, optional, tag = "1")]
106 pub r#const: ::core::option::Option<f32>,
107 #[prost(float, repeated, packed = "false", tag = "6")]
108 pub r#in: ::prost::alloc::vec::Vec<f32>,
109 #[prost(float, repeated, packed = "false", tag = "7")]
110 pub not_in: ::prost::alloc::vec::Vec<f32>,
111 #[prost(bool, optional, tag = "8")]
112 pub finite: ::core::option::Option<bool>,
113 #[prost(float, repeated, packed = "false", tag = "9")]
114 pub example: ::prost::alloc::vec::Vec<f32>,
115 #[prost(oneof = "float_rules::LessThan", tags = "2, 3")]
116 pub less_than: ::core::option::Option<float_rules::LessThan>,
117 #[prost(oneof = "float_rules::GreaterThan", tags = "4, 5")]
118 pub greater_than: ::core::option::Option<float_rules::GreaterThan>,
119}
120pub mod float_rules {
122 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
123 pub enum LessThan {
124 #[prost(float, tag = "2")]
125 Lt(f32),
126 #[prost(float, tag = "3")]
127 Lte(f32),
128 }
129 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
130 pub enum GreaterThan {
131 #[prost(float, tag = "4")]
132 Gt(f32),
133 #[prost(float, tag = "5")]
134 Gte(f32),
135 }
136}
137#[derive(Clone, PartialEq, ::prost::Message)]
138pub struct DoubleRules {
139 #[prost(double, optional, tag = "1")]
140 pub r#const: ::core::option::Option<f64>,
141 #[prost(double, repeated, packed = "false", tag = "6")]
142 pub r#in: ::prost::alloc::vec::Vec<f64>,
143 #[prost(double, repeated, packed = "false", tag = "7")]
144 pub not_in: ::prost::alloc::vec::Vec<f64>,
145 #[prost(bool, optional, tag = "8")]
146 pub finite: ::core::option::Option<bool>,
147 #[prost(double, repeated, packed = "false", tag = "9")]
148 pub example: ::prost::alloc::vec::Vec<f64>,
149 #[prost(oneof = "double_rules::LessThan", tags = "2, 3")]
150 pub less_than: ::core::option::Option<double_rules::LessThan>,
151 #[prost(oneof = "double_rules::GreaterThan", tags = "4, 5")]
152 pub greater_than: ::core::option::Option<double_rules::GreaterThan>,
153}
154pub mod double_rules {
156 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
157 pub enum LessThan {
158 #[prost(double, tag = "2")]
159 Lt(f64),
160 #[prost(double, tag = "3")]
161 Lte(f64),
162 }
163 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
164 pub enum GreaterThan {
165 #[prost(double, tag = "4")]
166 Gt(f64),
167 #[prost(double, tag = "5")]
168 Gte(f64),
169 }
170}
171#[derive(Clone, PartialEq, ::prost::Message)]
172pub struct Int32Rules {
173 #[prost(int32, optional, tag = "1")]
174 pub r#const: ::core::option::Option<i32>,
175 #[prost(int32, repeated, packed = "false", tag = "6")]
176 pub r#in: ::prost::alloc::vec::Vec<i32>,
177 #[prost(int32, repeated, packed = "false", tag = "7")]
178 pub not_in: ::prost::alloc::vec::Vec<i32>,
179 #[prost(int32, repeated, packed = "false", tag = "8")]
180 pub example: ::prost::alloc::vec::Vec<i32>,
181 #[prost(oneof = "int32_rules::LessThan", tags = "2, 3")]
182 pub less_than: ::core::option::Option<int32_rules::LessThan>,
183 #[prost(oneof = "int32_rules::GreaterThan", tags = "4, 5")]
184 pub greater_than: ::core::option::Option<int32_rules::GreaterThan>,
185}
186pub mod int32_rules {
188 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
189 pub enum LessThan {
190 #[prost(int32, tag = "2")]
191 Lt(i32),
192 #[prost(int32, tag = "3")]
193 Lte(i32),
194 }
195 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
196 pub enum GreaterThan {
197 #[prost(int32, tag = "4")]
198 Gt(i32),
199 #[prost(int32, tag = "5")]
200 Gte(i32),
201 }
202}
203#[derive(Clone, PartialEq, ::prost::Message)]
204pub struct Int64Rules {
205 #[prost(int64, optional, tag = "1")]
206 pub r#const: ::core::option::Option<i64>,
207 #[prost(int64, repeated, packed = "false", tag = "6")]
208 pub r#in: ::prost::alloc::vec::Vec<i64>,
209 #[prost(int64, repeated, packed = "false", tag = "7")]
210 pub not_in: ::prost::alloc::vec::Vec<i64>,
211 #[prost(int64, repeated, packed = "false", tag = "9")]
212 pub example: ::prost::alloc::vec::Vec<i64>,
213 #[prost(oneof = "int64_rules::LessThan", tags = "2, 3")]
214 pub less_than: ::core::option::Option<int64_rules::LessThan>,
215 #[prost(oneof = "int64_rules::GreaterThan", tags = "4, 5")]
216 pub greater_than: ::core::option::Option<int64_rules::GreaterThan>,
217}
218pub mod int64_rules {
220 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
221 pub enum LessThan {
222 #[prost(int64, tag = "2")]
223 Lt(i64),
224 #[prost(int64, tag = "3")]
225 Lte(i64),
226 }
227 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
228 pub enum GreaterThan {
229 #[prost(int64, tag = "4")]
230 Gt(i64),
231 #[prost(int64, tag = "5")]
232 Gte(i64),
233 }
234}
235#[derive(Clone, PartialEq, ::prost::Message)]
236pub struct UInt32Rules {
237 #[prost(uint32, optional, tag = "1")]
238 pub r#const: ::core::option::Option<u32>,
239 #[prost(uint32, repeated, packed = "false", tag = "6")]
240 pub r#in: ::prost::alloc::vec::Vec<u32>,
241 #[prost(uint32, repeated, packed = "false", tag = "7")]
242 pub not_in: ::prost::alloc::vec::Vec<u32>,
243 #[prost(uint32, repeated, packed = "false", tag = "8")]
244 pub example: ::prost::alloc::vec::Vec<u32>,
245 #[prost(oneof = "u_int32_rules::LessThan", tags = "2, 3")]
246 pub less_than: ::core::option::Option<u_int32_rules::LessThan>,
247 #[prost(oneof = "u_int32_rules::GreaterThan", tags = "4, 5")]
248 pub greater_than: ::core::option::Option<u_int32_rules::GreaterThan>,
249}
250pub mod u_int32_rules {
252 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
253 pub enum LessThan {
254 #[prost(uint32, tag = "2")]
255 Lt(u32),
256 #[prost(uint32, tag = "3")]
257 Lte(u32),
258 }
259 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
260 pub enum GreaterThan {
261 #[prost(uint32, tag = "4")]
262 Gt(u32),
263 #[prost(uint32, tag = "5")]
264 Gte(u32),
265 }
266}
267#[derive(Clone, PartialEq, ::prost::Message)]
268pub struct UInt64Rules {
269 #[prost(uint64, optional, tag = "1")]
270 pub r#const: ::core::option::Option<u64>,
271 #[prost(uint64, repeated, packed = "false", tag = "6")]
272 pub r#in: ::prost::alloc::vec::Vec<u64>,
273 #[prost(uint64, repeated, packed = "false", tag = "7")]
274 pub not_in: ::prost::alloc::vec::Vec<u64>,
275 #[prost(uint64, repeated, packed = "false", tag = "8")]
276 pub example: ::prost::alloc::vec::Vec<u64>,
277 #[prost(oneof = "u_int64_rules::LessThan", tags = "2, 3")]
278 pub less_than: ::core::option::Option<u_int64_rules::LessThan>,
279 #[prost(oneof = "u_int64_rules::GreaterThan", tags = "4, 5")]
280 pub greater_than: ::core::option::Option<u_int64_rules::GreaterThan>,
281}
282pub mod u_int64_rules {
284 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
285 pub enum LessThan {
286 #[prost(uint64, tag = "2")]
287 Lt(u64),
288 #[prost(uint64, tag = "3")]
289 Lte(u64),
290 }
291 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
292 pub enum GreaterThan {
293 #[prost(uint64, tag = "4")]
294 Gt(u64),
295 #[prost(uint64, tag = "5")]
296 Gte(u64),
297 }
298}
299#[derive(Clone, PartialEq, ::prost::Message)]
300pub struct SInt32Rules {
301 #[prost(sint32, optional, tag = "1")]
302 pub r#const: ::core::option::Option<i32>,
303 #[prost(sint32, repeated, packed = "false", tag = "6")]
304 pub r#in: ::prost::alloc::vec::Vec<i32>,
305 #[prost(sint32, repeated, packed = "false", tag = "7")]
306 pub not_in: ::prost::alloc::vec::Vec<i32>,
307 #[prost(sint32, repeated, packed = "false", tag = "8")]
308 pub example: ::prost::alloc::vec::Vec<i32>,
309 #[prost(oneof = "s_int32_rules::LessThan", tags = "2, 3")]
310 pub less_than: ::core::option::Option<s_int32_rules::LessThan>,
311 #[prost(oneof = "s_int32_rules::GreaterThan", tags = "4, 5")]
312 pub greater_than: ::core::option::Option<s_int32_rules::GreaterThan>,
313}
314pub mod s_int32_rules {
316 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
317 pub enum LessThan {
318 #[prost(sint32, tag = "2")]
319 Lt(i32),
320 #[prost(sint32, tag = "3")]
321 Lte(i32),
322 }
323 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
324 pub enum GreaterThan {
325 #[prost(sint32, tag = "4")]
326 Gt(i32),
327 #[prost(sint32, tag = "5")]
328 Gte(i32),
329 }
330}
331#[derive(Clone, PartialEq, ::prost::Message)]
332pub struct SInt64Rules {
333 #[prost(sint64, optional, tag = "1")]
334 pub r#const: ::core::option::Option<i64>,
335 #[prost(sint64, repeated, packed = "false", tag = "6")]
336 pub r#in: ::prost::alloc::vec::Vec<i64>,
337 #[prost(sint64, repeated, packed = "false", tag = "7")]
338 pub not_in: ::prost::alloc::vec::Vec<i64>,
339 #[prost(sint64, repeated, packed = "false", tag = "8")]
340 pub example: ::prost::alloc::vec::Vec<i64>,
341 #[prost(oneof = "s_int64_rules::LessThan", tags = "2, 3")]
342 pub less_than: ::core::option::Option<s_int64_rules::LessThan>,
343 #[prost(oneof = "s_int64_rules::GreaterThan", tags = "4, 5")]
344 pub greater_than: ::core::option::Option<s_int64_rules::GreaterThan>,
345}
346pub mod s_int64_rules {
348 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
349 pub enum LessThan {
350 #[prost(sint64, tag = "2")]
351 Lt(i64),
352 #[prost(sint64, tag = "3")]
353 Lte(i64),
354 }
355 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
356 pub enum GreaterThan {
357 #[prost(sint64, tag = "4")]
358 Gt(i64),
359 #[prost(sint64, tag = "5")]
360 Gte(i64),
361 }
362}
363#[derive(Clone, PartialEq, ::prost::Message)]
364pub struct Fixed32Rules {
365 #[prost(fixed32, optional, tag = "1")]
366 pub r#const: ::core::option::Option<u32>,
367 #[prost(fixed32, repeated, packed = "false", tag = "6")]
368 pub r#in: ::prost::alloc::vec::Vec<u32>,
369 #[prost(fixed32, repeated, packed = "false", tag = "7")]
370 pub not_in: ::prost::alloc::vec::Vec<u32>,
371 #[prost(fixed32, repeated, packed = "false", tag = "8")]
372 pub example: ::prost::alloc::vec::Vec<u32>,
373 #[prost(oneof = "fixed32_rules::LessThan", tags = "2, 3")]
374 pub less_than: ::core::option::Option<fixed32_rules::LessThan>,
375 #[prost(oneof = "fixed32_rules::GreaterThan", tags = "4, 5")]
376 pub greater_than: ::core::option::Option<fixed32_rules::GreaterThan>,
377}
378pub mod fixed32_rules {
380 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
381 pub enum LessThan {
382 #[prost(fixed32, tag = "2")]
383 Lt(u32),
384 #[prost(fixed32, tag = "3")]
385 Lte(u32),
386 }
387 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
388 pub enum GreaterThan {
389 #[prost(fixed32, tag = "4")]
390 Gt(u32),
391 #[prost(fixed32, tag = "5")]
392 Gte(u32),
393 }
394}
395#[derive(Clone, PartialEq, ::prost::Message)]
396pub struct Fixed64Rules {
397 #[prost(fixed64, optional, tag = "1")]
398 pub r#const: ::core::option::Option<u64>,
399 #[prost(fixed64, repeated, packed = "false", tag = "6")]
400 pub r#in: ::prost::alloc::vec::Vec<u64>,
401 #[prost(fixed64, repeated, packed = "false", tag = "7")]
402 pub not_in: ::prost::alloc::vec::Vec<u64>,
403 #[prost(fixed64, repeated, packed = "false", tag = "8")]
404 pub example: ::prost::alloc::vec::Vec<u64>,
405 #[prost(oneof = "fixed64_rules::LessThan", tags = "2, 3")]
406 pub less_than: ::core::option::Option<fixed64_rules::LessThan>,
407 #[prost(oneof = "fixed64_rules::GreaterThan", tags = "4, 5")]
408 pub greater_than: ::core::option::Option<fixed64_rules::GreaterThan>,
409}
410pub mod fixed64_rules {
412 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
413 pub enum LessThan {
414 #[prost(fixed64, tag = "2")]
415 Lt(u64),
416 #[prost(fixed64, tag = "3")]
417 Lte(u64),
418 }
419 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
420 pub enum GreaterThan {
421 #[prost(fixed64, tag = "4")]
422 Gt(u64),
423 #[prost(fixed64, tag = "5")]
424 Gte(u64),
425 }
426}
427#[derive(Clone, PartialEq, ::prost::Message)]
428pub struct SFixed32Rules {
429 #[prost(sfixed32, optional, tag = "1")]
430 pub r#const: ::core::option::Option<i32>,
431 #[prost(sfixed32, repeated, packed = "false", tag = "6")]
432 pub r#in: ::prost::alloc::vec::Vec<i32>,
433 #[prost(sfixed32, repeated, packed = "false", tag = "7")]
434 pub not_in: ::prost::alloc::vec::Vec<i32>,
435 #[prost(sfixed32, repeated, packed = "false", tag = "8")]
436 pub example: ::prost::alloc::vec::Vec<i32>,
437 #[prost(oneof = "s_fixed32_rules::LessThan", tags = "2, 3")]
438 pub less_than: ::core::option::Option<s_fixed32_rules::LessThan>,
439 #[prost(oneof = "s_fixed32_rules::GreaterThan", tags = "4, 5")]
440 pub greater_than: ::core::option::Option<s_fixed32_rules::GreaterThan>,
441}
442pub mod s_fixed32_rules {
444 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
445 pub enum LessThan {
446 #[prost(sfixed32, tag = "2")]
447 Lt(i32),
448 #[prost(sfixed32, tag = "3")]
449 Lte(i32),
450 }
451 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
452 pub enum GreaterThan {
453 #[prost(sfixed32, tag = "4")]
454 Gt(i32),
455 #[prost(sfixed32, tag = "5")]
456 Gte(i32),
457 }
458}
459#[derive(Clone, PartialEq, ::prost::Message)]
460pub struct SFixed64Rules {
461 #[prost(sfixed64, optional, tag = "1")]
462 pub r#const: ::core::option::Option<i64>,
463 #[prost(sfixed64, repeated, packed = "false", tag = "6")]
464 pub r#in: ::prost::alloc::vec::Vec<i64>,
465 #[prost(sfixed64, repeated, packed = "false", tag = "7")]
466 pub not_in: ::prost::alloc::vec::Vec<i64>,
467 #[prost(sfixed64, repeated, packed = "false", tag = "8")]
468 pub example: ::prost::alloc::vec::Vec<i64>,
469 #[prost(oneof = "s_fixed64_rules::LessThan", tags = "2, 3")]
470 pub less_than: ::core::option::Option<s_fixed64_rules::LessThan>,
471 #[prost(oneof = "s_fixed64_rules::GreaterThan", tags = "4, 5")]
472 pub greater_than: ::core::option::Option<s_fixed64_rules::GreaterThan>,
473}
474pub mod s_fixed64_rules {
476 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
477 pub enum LessThan {
478 #[prost(sfixed64, tag = "2")]
479 Lt(i64),
480 #[prost(sfixed64, tag = "3")]
481 Lte(i64),
482 }
483 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
484 pub enum GreaterThan {
485 #[prost(sfixed64, tag = "4")]
486 Gt(i64),
487 #[prost(sfixed64, tag = "5")]
488 Gte(i64),
489 }
490}
491#[derive(Clone, PartialEq, ::prost::Message)]
492pub struct BoolRules {
493 #[prost(bool, optional, tag = "1")]
494 pub r#const: ::core::option::Option<bool>,
495 #[prost(bool, repeated, packed = "false", tag = "2")]
496 pub example: ::prost::alloc::vec::Vec<bool>,
497}
498#[derive(Clone, PartialEq, ::prost::Message)]
499pub struct StringRules {
500 #[prost(string, optional, tag = "1")]
501 pub r#const: ::core::option::Option<::prost::alloc::string::String>,
502 #[prost(uint64, optional, tag = "19")]
503 pub len: ::core::option::Option<u64>,
504 #[prost(uint64, optional, tag = "2")]
505 pub min_len: ::core::option::Option<u64>,
506 #[prost(uint64, optional, tag = "3")]
507 pub max_len: ::core::option::Option<u64>,
508 #[prost(uint64, optional, tag = "20")]
509 pub len_bytes: ::core::option::Option<u64>,
510 #[prost(uint64, optional, tag = "4")]
511 pub min_bytes: ::core::option::Option<u64>,
512 #[prost(uint64, optional, tag = "5")]
513 pub max_bytes: ::core::option::Option<u64>,
514 #[prost(string, optional, tag = "6")]
515 pub pattern: ::core::option::Option<::prost::alloc::string::String>,
516 #[prost(string, optional, tag = "7")]
517 pub prefix: ::core::option::Option<::prost::alloc::string::String>,
518 #[prost(string, optional, tag = "8")]
519 pub suffix: ::core::option::Option<::prost::alloc::string::String>,
520 #[prost(string, optional, tag = "9")]
521 pub contains: ::core::option::Option<::prost::alloc::string::String>,
522 #[prost(string, optional, tag = "23")]
523 pub not_contains: ::core::option::Option<::prost::alloc::string::String>,
524 #[prost(string, repeated, tag = "10")]
525 pub r#in: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
526 #[prost(string, repeated, tag = "11")]
527 pub not_in: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
528 #[prost(bool, optional, tag = "25")]
529 pub strict: ::core::option::Option<bool>,
530 #[prost(string, repeated, tag = "34")]
531 pub example: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
532 #[prost(
533 oneof = "string_rules::WellKnown",
534 tags = "12, 13, 14, 15, 16, 17, 18, 21, 22, 33, 26, 27, 28, 29, 30, 31, 32, 35, 37, 38, 24"
535 )]
536 pub well_known: ::core::option::Option<string_rules::WellKnown>,
537}
538pub mod string_rules {
540 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
541 pub enum WellKnown {
542 #[prost(bool, tag = "12")]
543 Email(bool),
544 #[prost(bool, tag = "13")]
545 Hostname(bool),
546 #[prost(bool, tag = "14")]
547 Ip(bool),
548 #[prost(bool, tag = "15")]
549 Ipv4(bool),
550 #[prost(bool, tag = "16")]
551 Ipv6(bool),
552 #[prost(bool, tag = "17")]
553 Uri(bool),
554 #[prost(bool, tag = "18")]
555 UriRef(bool),
556 #[prost(bool, tag = "21")]
557 Address(bool),
558 #[prost(bool, tag = "22")]
559 Uuid(bool),
560 #[prost(bool, tag = "33")]
561 Tuuid(bool),
562 #[prost(bool, tag = "26")]
563 IpWithPrefixlen(bool),
564 #[prost(bool, tag = "27")]
565 Ipv4WithPrefixlen(bool),
566 #[prost(bool, tag = "28")]
567 Ipv6WithPrefixlen(bool),
568 #[prost(bool, tag = "29")]
569 IpPrefix(bool),
570 #[prost(bool, tag = "30")]
571 Ipv4Prefix(bool),
572 #[prost(bool, tag = "31")]
573 Ipv6Prefix(bool),
574 #[prost(bool, tag = "32")]
575 HostAndPort(bool),
576 #[prost(bool, tag = "35")]
577 Ulid(bool),
578 #[prost(bool, tag = "37")]
579 ProtobufFqn(bool),
580 #[prost(bool, tag = "38")]
581 ProtobufDotFqn(bool),
582 #[prost(enumeration = "super::KnownRegex", tag = "24")]
583 WellKnownRegex(i32),
584 }
585}
586#[derive(Clone, PartialEq, ::prost::Message)]
587pub struct BytesRules {
588 #[prost(bytes = "vec", optional, tag = "1")]
589 pub r#const: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
590 #[prost(uint64, optional, tag = "13")]
591 pub len: ::core::option::Option<u64>,
592 #[prost(uint64, optional, tag = "2")]
593 pub min_len: ::core::option::Option<u64>,
594 #[prost(uint64, optional, tag = "3")]
595 pub max_len: ::core::option::Option<u64>,
596 #[prost(string, optional, tag = "4")]
597 pub pattern: ::core::option::Option<::prost::alloc::string::String>,
598 #[prost(bytes = "vec", optional, tag = "5")]
599 pub prefix: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
600 #[prost(bytes = "vec", optional, tag = "6")]
601 pub suffix: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
602 #[prost(bytes = "vec", optional, tag = "7")]
603 pub contains: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
604 #[prost(bytes = "vec", repeated, tag = "8")]
605 pub r#in: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
606 #[prost(bytes = "vec", repeated, tag = "9")]
607 pub not_in: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
608 #[prost(bytes = "vec", repeated, tag = "14")]
609 pub example: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec<u8>>,
610 #[prost(oneof = "bytes_rules::WellKnown", tags = "10, 11, 12, 15")]
611 pub well_known: ::core::option::Option<bytes_rules::WellKnown>,
612}
613pub mod bytes_rules {
615 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
616 pub enum WellKnown {
617 #[prost(bool, tag = "10")]
618 Ip(bool),
619 #[prost(bool, tag = "11")]
620 Ipv4(bool),
621 #[prost(bool, tag = "12")]
622 Ipv6(bool),
623 #[prost(bool, tag = "15")]
624 Uuid(bool),
625 }
626}
627#[derive(Clone, PartialEq, ::prost::Message)]
628pub struct EnumRules {
629 #[prost(int32, optional, tag = "1")]
630 pub r#const: ::core::option::Option<i32>,
631 #[prost(bool, optional, tag = "2")]
632 pub defined_only: ::core::option::Option<bool>,
633 #[prost(int32, repeated, packed = "false", tag = "3")]
634 pub r#in: ::prost::alloc::vec::Vec<i32>,
635 #[prost(int32, repeated, packed = "false", tag = "4")]
636 pub not_in: ::prost::alloc::vec::Vec<i32>,
637 #[prost(int32, repeated, packed = "false", tag = "5")]
638 pub example: ::prost::alloc::vec::Vec<i32>,
639}
640#[derive(Clone, PartialEq, ::prost::Message)]
641pub struct RepeatedRules {
642 #[prost(uint64, optional, tag = "1")]
643 pub min_items: ::core::option::Option<u64>,
644 #[prost(uint64, optional, tag = "2")]
645 pub max_items: ::core::option::Option<u64>,
646 #[prost(bool, optional, tag = "3")]
647 pub unique: ::core::option::Option<bool>,
648 #[prost(message, optional, boxed, tag = "4")]
649 pub items: ::core::option::Option<::prost::alloc::boxed::Box<FieldRules>>,
650}
651#[derive(Clone, PartialEq, ::prost::Message)]
652pub struct MapRules {
653 #[prost(uint64, optional, tag = "1")]
654 pub min_pairs: ::core::option::Option<u64>,
655 #[prost(uint64, optional, tag = "2")]
656 pub max_pairs: ::core::option::Option<u64>,
657 #[prost(message, optional, boxed, tag = "4")]
658 pub keys: ::core::option::Option<::prost::alloc::boxed::Box<FieldRules>>,
659 #[prost(message, optional, boxed, tag = "5")]
660 pub values: ::core::option::Option<::prost::alloc::boxed::Box<FieldRules>>,
661}
662#[derive(Clone, PartialEq, ::prost::Message)]
663pub struct AnyRules {
664 #[prost(string, repeated, tag = "2")]
665 pub r#in: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
666 #[prost(string, repeated, tag = "3")]
667 pub not_in: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
668}
669#[derive(Clone, PartialEq, ::prost::Message)]
670pub struct DurationRules {
671 #[prost(message, optional, tag = "2")]
672 pub r#const: ::core::option::Option<super::super::google::protobuf::Duration>,
673 #[prost(message, repeated, tag = "7")]
674 pub r#in: ::prost::alloc::vec::Vec<super::super::google::protobuf::Duration>,
675 #[prost(message, repeated, tag = "8")]
676 pub not_in: ::prost::alloc::vec::Vec<super::super::google::protobuf::Duration>,
677 #[prost(message, repeated, tag = "9")]
678 pub example: ::prost::alloc::vec::Vec<super::super::google::protobuf::Duration>,
679 #[prost(oneof = "duration_rules::LessThan", tags = "3, 4")]
680 pub less_than: ::core::option::Option<duration_rules::LessThan>,
681 #[prost(oneof = "duration_rules::GreaterThan", tags = "5, 6")]
682 pub greater_than: ::core::option::Option<duration_rules::GreaterThan>,
683}
684pub mod duration_rules {
686 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
687 pub enum LessThan {
688 #[prost(message, tag = "3")]
689 Lt(super::super::super::google::protobuf::Duration),
690 #[prost(message, tag = "4")]
691 Lte(super::super::super::google::protobuf::Duration),
692 }
693 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
694 pub enum GreaterThan {
695 #[prost(message, tag = "5")]
696 Gt(super::super::super::google::protobuf::Duration),
697 #[prost(message, tag = "6")]
698 Gte(super::super::super::google::protobuf::Duration),
699 }
700}
701#[derive(Clone, PartialEq, ::prost::Message)]
702pub struct FieldMaskRules {
703 #[prost(message, optional, tag = "1")]
704 pub r#const: ::core::option::Option<super::super::google::protobuf::FieldMask>,
705 #[prost(string, repeated, tag = "2")]
706 pub r#in: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
707 #[prost(string, repeated, tag = "3")]
708 pub not_in: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
709 #[prost(message, repeated, tag = "4")]
710 pub example: ::prost::alloc::vec::Vec<super::super::google::protobuf::FieldMask>,
711}
712#[derive(Clone, PartialEq, ::prost::Message)]
713pub struct TimestampRules {
714 #[prost(message, optional, tag = "2")]
715 pub r#const: ::core::option::Option<super::super::google::protobuf::Timestamp>,
716 #[prost(message, optional, tag = "9")]
717 pub within: ::core::option::Option<super::super::google::protobuf::Duration>,
718 #[prost(message, repeated, tag = "10")]
719 pub example: ::prost::alloc::vec::Vec<super::super::google::protobuf::Timestamp>,
720 #[prost(oneof = "timestamp_rules::LessThan", tags = "3, 4, 7")]
721 pub less_than: ::core::option::Option<timestamp_rules::LessThan>,
722 #[prost(oneof = "timestamp_rules::GreaterThan", tags = "5, 6, 8")]
723 pub greater_than: ::core::option::Option<timestamp_rules::GreaterThan>,
724}
725pub mod timestamp_rules {
727 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
728 pub enum LessThan {
729 #[prost(message, tag = "3")]
730 Lt(super::super::super::google::protobuf::Timestamp),
731 #[prost(message, tag = "4")]
732 Lte(super::super::super::google::protobuf::Timestamp),
733 #[prost(bool, tag = "7")]
734 LtNow(bool),
735 }
736 #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
737 pub enum GreaterThan {
738 #[prost(message, tag = "5")]
739 Gt(super::super::super::google::protobuf::Timestamp),
740 #[prost(message, tag = "6")]
741 Gte(super::super::super::google::protobuf::Timestamp),
742 #[prost(bool, tag = "8")]
743 GtNow(bool),
744 }
745}
746#[derive(Clone, PartialEq, ::prost::Message)]
747pub struct Violations {
748 #[prost(message, repeated, tag = "1")]
749 pub violations: ::prost::alloc::vec::Vec<Violation>,
750}
751#[derive(Clone, PartialEq, ::prost::Message)]
752pub struct Violation {
753 #[prost(message, optional, tag = "5")]
754 pub field: ::core::option::Option<FieldPath>,
755 #[prost(message, optional, tag = "6")]
756 pub rule: ::core::option::Option<FieldPath>,
757 #[prost(string, optional, tag = "2")]
758 pub rule_id: ::core::option::Option<::prost::alloc::string::String>,
759 #[prost(string, optional, tag = "3")]
760 pub message: ::core::option::Option<::prost::alloc::string::String>,
761 #[prost(bool, optional, tag = "4")]
762 pub for_key: ::core::option::Option<bool>,
763}
764#[derive(Clone, PartialEq, ::prost::Message)]
765pub struct FieldPath {
766 #[prost(message, repeated, tag = "1")]
767 pub elements: ::prost::alloc::vec::Vec<FieldPathElement>,
768}
769#[derive(Clone, PartialEq, ::prost::Message)]
770pub struct FieldPathElement {
771 #[prost(int32, optional, tag = "1")]
772 pub field_number: ::core::option::Option<i32>,
773 #[prost(string, optional, tag = "2")]
774 pub field_name: ::core::option::Option<::prost::alloc::string::String>,
775 #[prost(
776 enumeration = "super::super::google::protobuf::field_descriptor_proto::Type",
777 optional,
778 tag = "3"
779 )]
780 pub field_type: ::core::option::Option<i32>,
781 #[prost(
782 enumeration = "super::super::google::protobuf::field_descriptor_proto::Type",
783 optional,
784 tag = "4"
785 )]
786 pub key_type: ::core::option::Option<i32>,
787 #[prost(
788 enumeration = "super::super::google::protobuf::field_descriptor_proto::Type",
789 optional,
790 tag = "5"
791 )]
792 pub value_type: ::core::option::Option<i32>,
793 #[prost(oneof = "field_path_element::Subscript", tags = "6, 7, 8, 9, 10")]
794 pub subscript: ::core::option::Option<field_path_element::Subscript>,
795}
796pub mod field_path_element {
798 #[derive(Clone, PartialEq, ::prost::Oneof)]
799 pub enum Subscript {
800 #[prost(uint64, tag = "6")]
801 Index(u64),
802 #[prost(bool, tag = "7")]
803 BoolKey(bool),
804 #[prost(int64, tag = "8")]
805 IntKey(i64),
806 #[prost(uint64, tag = "9")]
807 UintKey(u64),
808 #[prost(string, tag = "10")]
809 StringKey(::prost::alloc::string::String),
810 }
811}
812#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
813#[repr(i32)]
814pub enum Ignore {
815 Unspecified = 0,
816 IfZeroValue = 1,
817 Always = 3,
818}
819impl Ignore {
820 pub fn as_str_name(&self) -> &'static str {
825 match self {
826 Self::Unspecified => "IGNORE_UNSPECIFIED",
827 Self::IfZeroValue => "IGNORE_IF_ZERO_VALUE",
828 Self::Always => "IGNORE_ALWAYS",
829 }
830 }
831 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
833 match value {
834 "IGNORE_UNSPECIFIED" => Some(Self::Unspecified),
835 "IGNORE_IF_ZERO_VALUE" => Some(Self::IfZeroValue),
836 "IGNORE_ALWAYS" => Some(Self::Always),
837 _ => None,
838 }
839 }
840}
841#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
842#[repr(i32)]
843pub enum KnownRegex {
844 Unspecified = 0,
845 HttpHeaderName = 1,
846 HttpHeaderValue = 2,
847}
848impl KnownRegex {
849 pub fn as_str_name(&self) -> &'static str {
854 match self {
855 Self::Unspecified => "KNOWN_REGEX_UNSPECIFIED",
856 Self::HttpHeaderName => "KNOWN_REGEX_HTTP_HEADER_NAME",
857 Self::HttpHeaderValue => "KNOWN_REGEX_HTTP_HEADER_VALUE",
858 }
859 }
860 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
862 match value {
863 "KNOWN_REGEX_UNSPECIFIED" => Some(Self::Unspecified),
864 "KNOWN_REGEX_HTTP_HEADER_NAME" => Some(Self::HttpHeaderName),
865 "KNOWN_REGEX_HTTP_HEADER_VALUE" => Some(Self::HttpHeaderValue),
866 _ => None,
867 }
868 }
869}