denkproto 1.0.59__py3-none-any.whl → 1.0.65__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of denkproto might be problematic. Click here for more details.

@@ -2,22 +2,14 @@ from __future__ import annotations # Postponed evaluation of annotations
2
2
  from pydantic import BaseModel, Field
3
3
  from typing import List, Union, Literal, Dict, Any, Optional, Annotated
4
4
 
5
- class AddNumbersNode(BaseModel):
6
- """Node that adds two numbers. Base type for all nodes in the graph."""
7
- node_type: Literal["add_numbers"]
8
- name: str
9
- input_number_1: str
10
- input_number_2: str
11
- output: str
12
-
13
5
  class BoundingBoxFilterNode(BaseModel):
14
- """Node that filters bounding boxes based on a threshold. Base type for all nodes in the graph."""
6
+ """Node that filters bounding boxes based on confidence and IoU thresholds. Base type for all nodes in the graph."""
15
7
  node_type: Literal["bounding_box_filter"]
16
8
  name: str
17
- input_threshold: str
18
- input_boxes: str
19
- output_boxes: str
20
- output_batch_map: str
9
+ input_bounding_boxes: str
10
+ input_score_threshold: Optional[ThresholdSource] = None
11
+ input_iou_threshold: Optional[ThresholdSource] = None
12
+ output_port_name: Optional[str] = None
21
13
 
22
14
  class ConstTensorFloat64Data(BaseModel):
23
15
  """Constant tensor data of type float64. Base type for constant tensor data."""
@@ -33,7 +25,7 @@ class ConstTensorNode(BaseModel):
33
25
  """Node representing a constant tensor. Base type for all nodes in the graph."""
34
26
  node_type: Literal["const_tensor"]
35
27
  name: str
36
- output: str
28
+ output_port_name: Optional[str] = None
37
29
  shape: list[int]
38
30
  data: ConstTensorDataBase
39
31
 
@@ -42,37 +34,34 @@ class ConstTensorUint64Data(BaseModel):
42
34
  data_type: Literal["uint64"]
43
35
  data: list[int]
44
36
 
45
- class GenerateNumberNode(BaseModel):
46
- """Node that generates a number within a range. Base type for all nodes in the graph."""
47
- node_type: Literal["generate_number"]
48
- name: str
49
- output: str
50
- min: int
51
- max: int
37
+ class ImageSize(BaseModel):
38
+ """Represents image dimensions."""
39
+ height: int
40
+ width: int
52
41
 
53
- class ImageClassificationNode(BaseModel):
42
+ class ClassificationNode(BaseModel):
54
43
  """Node for image classification. Base type for all nodes in the graph."""
55
44
  node_type: Literal["image_classification"]
56
45
  name: str
57
- input: str
58
- output: str
46
+ inputImage: str
47
+ output_port_name: Optional[str] = None
59
48
  model_source: ModelSourceBase
60
49
 
61
- class ImageObjectDetectionNode(BaseModel):
50
+ class ObjectDetectionNode(BaseModel):
62
51
  """Node for image object detection. Base type for all nodes in the graph."""
63
52
  node_type: Literal["image_object_detection"]
64
53
  name: str
65
- input: str
66
- output: str
54
+ input_image: str
55
+ output_port_name: Optional[str] = None
67
56
  model_source: ModelSourceBase
68
57
  scale_bounding_boxes: Optional[bool] = None
69
58
 
70
- class ImageOcrNode(BaseModel):
59
+ class OcrNode(BaseModel):
71
60
  """Node for image OCR. Base type for all nodes in the graph."""
72
61
  node_type: Literal["image_ocr"]
73
62
  name: str
74
- input: str
75
- output: str
63
+ input_image: str
64
+ output_port_name: Optional[str] = None
76
65
  model_source: ModelSourceBase
77
66
 
78
67
  class ImagePatchesNode(BaseModel):
@@ -80,11 +69,10 @@ class ImagePatchesNode(BaseModel):
80
69
  node_type: Literal["image_patches"]
81
70
  name: str
82
71
  input_image: str
83
- input_boxes: str
84
- input_batch_map: str
85
- input_target_size: str
86
- input_maximum_iterations: str
87
- output: str
72
+ input_bounding_boxes: str
73
+ input_target_size: TargetSizeSource
74
+ input_maximum_iterations: Optional[MaxIterationsCountSource] = None
75
+ output_port_name: Optional[str] = None
88
76
 
89
77
  class ImageResizeNode(BaseModel):
90
78
  """Node that resizes an image. Base type for all nodes in the graph."""
@@ -92,7 +80,7 @@ class ImageResizeNode(BaseModel):
92
80
  name: str
93
81
  input_size: str
94
82
  input_image: str
95
- output: str
83
+ output_port_name: Optional[str] = None
96
84
 
97
85
  class ModelSourceFromNetworkExperimentId(BaseModel):
98
86
  """Model source specified by a network experiment ID. Base type for the source of the model."""
@@ -108,12 +96,43 @@ class VirtualCameraNode(BaseModel):
108
96
  """Node representing a virtual camera source. Base type for all nodes in the graph."""
109
97
  node_type: Literal["virtual_camera"]
110
98
  name: str
111
- output: str
99
+ output_port_name: Optional[str] = None
112
100
  path: str
113
101
 
102
+ # --- Inline Option Classes ---
103
+ class MaxIterationsCountSourceTopicOption(BaseModel):
104
+ """Auto-generated class for inline option 'topic' of MaxIterationsCountSource"""
105
+ source_type: Literal["topic"]
106
+ topic: str
107
+
108
+ class MaxIterationsCountSourceValueOption(BaseModel):
109
+ """Auto-generated class for inline option 'value' of MaxIterationsCountSource"""
110
+ source_type: Literal["value"]
111
+ value: int
112
+
113
+ class TargetSizeSourceImageSizeOption(BaseModel):
114
+ """Auto-generated class for inline option 'image_size' of TargetSizeSource"""
115
+ source_type: Literal["image_size"]
116
+ size: ImageSize
117
+
118
+ class TargetSizeSourceTopicOption(BaseModel):
119
+ """Auto-generated class for inline option 'topic' of TargetSizeSource"""
120
+ source_type: Literal["topic"]
121
+ topic: str
122
+
123
+ class ThresholdSourceTopicOption(BaseModel):
124
+ """Auto-generated class for inline option 'topic' of ThresholdSource"""
125
+ source_type: Literal["topic"]
126
+ topic: str
127
+
128
+ class ThresholdSourceValueOption(BaseModel):
129
+ """Auto-generated class for inline option 'value' of ThresholdSource"""
130
+ source_type: Literal["value"]
131
+ value: float
132
+
114
133
  # --- Main Recipe Class ---
115
134
  class InferenceGraphRecipe(BaseModel):
116
- nodes: list[Node]
135
+ nodes: List[Node]
117
136
  license_id: str
118
137
  created_at: int
119
138
 
@@ -127,6 +146,14 @@ ConstTensorDataBase = Annotated[
127
146
  Field(discriminator='data_type')
128
147
  ]
129
148
 
149
+ MaxIterationsCountSource = Annotated[
150
+ Union[
151
+ MaxIterationsCountSourceTopicOption,
152
+ MaxIterationsCountSourceValueOption
153
+ ],
154
+ Field(discriminator='source_type')
155
+ ]
156
+
130
157
  ModelSourceBase = Annotated[
131
158
  Union[
132
159
  ModelSourceFromNetworkExperimentId,
@@ -137,17 +164,31 @@ ModelSourceBase = Annotated[
137
164
 
138
165
  Node = Annotated[
139
166
  Union[
140
- AddNumbersNode,
141
167
  BoundingBoxFilterNode,
168
+ ClassificationNode,
142
169
  ConstTensorNode,
143
- GenerateNumberNode,
144
- ImageClassificationNode,
145
- ImageObjectDetectionNode,
146
- ImageOcrNode,
147
170
  ImagePatchesNode,
148
171
  ImageResizeNode,
172
+ ObjectDetectionNode,
173
+ OcrNode,
149
174
  VirtualCameraNode
150
175
  ],
151
176
  Field(discriminator='node_type')
152
177
  ]
153
178
 
179
+ TargetSizeSource = Annotated[
180
+ Union[
181
+ TargetSizeSourceImageSizeOption,
182
+ TargetSizeSourceTopicOption
183
+ ],
184
+ Field(discriminator='source_type')
185
+ ]
186
+
187
+ ThresholdSource = Annotated[
188
+ Union[
189
+ ThresholdSourceTopicOption,
190
+ ThresholdSourceValueOption
191
+ ],
192
+ Field(discriminator='source_type')
193
+ ]
194
+
@@ -0,0 +1,86 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: validate.proto
5
+ # Protobuf Python Version: 5.28.1
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 5,
15
+ 28,
16
+ 1,
17
+ '',
18
+ 'validate.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+ from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2
26
+ from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2
27
+ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
28
+
29
+
30
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0evalidate.proto\x12\x08validate\x1a google/protobuf/descriptor.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\x98\x07\n\nFieldRules\x12\'\n\x07message\x18\x11 \x01(\x0b\x32\x16.validate.MessageRules\x12%\n\x05\x66loat\x18\x01 \x01(\x0b\x32\x14.validate.FloatRulesH\x00\x12\'\n\x06\x64ouble\x18\x02 \x01(\x0b\x32\x15.validate.DoubleRulesH\x00\x12%\n\x05int32\x18\x03 \x01(\x0b\x32\x14.validate.Int32RulesH\x00\x12%\n\x05int64\x18\x04 \x01(\x0b\x32\x14.validate.Int64RulesH\x00\x12\'\n\x06uint32\x18\x05 \x01(\x0b\x32\x15.validate.UInt32RulesH\x00\x12\'\n\x06uint64\x18\x06 \x01(\x0b\x32\x15.validate.UInt64RulesH\x00\x12\'\n\x06sint32\x18\x07 \x01(\x0b\x32\x15.validate.SInt32RulesH\x00\x12\'\n\x06sint64\x18\x08 \x01(\x0b\x32\x15.validate.SInt64RulesH\x00\x12)\n\x07\x66ixed32\x18\t \x01(\x0b\x32\x16.validate.Fixed32RulesH\x00\x12)\n\x07\x66ixed64\x18\n \x01(\x0b\x32\x16.validate.Fixed64RulesH\x00\x12+\n\x08sfixed32\x18\x0b \x01(\x0b\x32\x17.validate.SFixed32RulesH\x00\x12+\n\x08sfixed64\x18\x0c \x01(\x0b\x32\x17.validate.SFixed64RulesH\x00\x12#\n\x04\x62ool\x18\r \x01(\x0b\x32\x13.validate.BoolRulesH\x00\x12\'\n\x06string\x18\x0e \x01(\x0b\x32\x15.validate.StringRulesH\x00\x12%\n\x05\x62ytes\x18\x0f \x01(\x0b\x32\x14.validate.BytesRulesH\x00\x12#\n\x04\x65num\x18\x10 \x01(\x0b\x32\x13.validate.EnumRulesH\x00\x12+\n\x08repeated\x18\x12 \x01(\x0b\x32\x17.validate.RepeatedRulesH\x00\x12!\n\x03map\x18\x13 \x01(\x0b\x32\x12.validate.MapRulesH\x00\x12!\n\x03\x61ny\x18\x14 \x01(\x0b\x32\x12.validate.AnyRulesH\x00\x12+\n\x08\x64uration\x18\x15 \x01(\x0b\x32\x17.validate.DurationRulesH\x00\x12-\n\ttimestamp\x18\x16 \x01(\x0b\x32\x18.validate.TimestampRulesH\x00\x42\x06\n\x04type\"\x7f\n\nFloatRules\x12\r\n\x05\x63onst\x18\x01 \x01(\x02\x12\n\n\x02lt\x18\x02 \x01(\x02\x12\x0b\n\x03lte\x18\x03 \x01(\x02\x12\n\n\x02gt\x18\x04 \x01(\x02\x12\x0b\n\x03gte\x18\x05 \x01(\x02\x12\n\n\x02in\x18\x06 \x03(\x02\x12\x0e\n\x06not_in\x18\x07 \x03(\x02\x12\x14\n\x0cignore_empty\x18\x08 \x01(\x08\"\x80\x01\n\x0b\x44oubleRules\x12\r\n\x05\x63onst\x18\x01 \x01(\x01\x12\n\n\x02lt\x18\x02 \x01(\x01\x12\x0b\n\x03lte\x18\x03 \x01(\x01\x12\n\n\x02gt\x18\x04 \x01(\x01\x12\x0b\n\x03gte\x18\x05 \x01(\x01\x12\n\n\x02in\x18\x06 \x03(\x01\x12\x0e\n\x06not_in\x18\x07 \x03(\x01\x12\x14\n\x0cignore_empty\x18\x08 \x01(\x08\"\x7f\n\nInt32Rules\x12\r\n\x05\x63onst\x18\x01 \x01(\x05\x12\n\n\x02lt\x18\x02 \x01(\x05\x12\x0b\n\x03lte\x18\x03 \x01(\x05\x12\n\n\x02gt\x18\x04 \x01(\x05\x12\x0b\n\x03gte\x18\x05 \x01(\x05\x12\n\n\x02in\x18\x06 \x03(\x05\x12\x0e\n\x06not_in\x18\x07 \x03(\x05\x12\x14\n\x0cignore_empty\x18\x08 \x01(\x08\"\x7f\n\nInt64Rules\x12\r\n\x05\x63onst\x18\x01 \x01(\x03\x12\n\n\x02lt\x18\x02 \x01(\x03\x12\x0b\n\x03lte\x18\x03 \x01(\x03\x12\n\n\x02gt\x18\x04 \x01(\x03\x12\x0b\n\x03gte\x18\x05 \x01(\x03\x12\n\n\x02in\x18\x06 \x03(\x03\x12\x0e\n\x06not_in\x18\x07 \x03(\x03\x12\x14\n\x0cignore_empty\x18\x08 \x01(\x08\"\x80\x01\n\x0bUInt32Rules\x12\r\n\x05\x63onst\x18\x01 \x01(\r\x12\n\n\x02lt\x18\x02 \x01(\r\x12\x0b\n\x03lte\x18\x03 \x01(\r\x12\n\n\x02gt\x18\x04 \x01(\r\x12\x0b\n\x03gte\x18\x05 \x01(\r\x12\n\n\x02in\x18\x06 \x03(\r\x12\x0e\n\x06not_in\x18\x07 \x03(\r\x12\x14\n\x0cignore_empty\x18\x08 \x01(\x08\"\x80\x01\n\x0bUInt64Rules\x12\r\n\x05\x63onst\x18\x01 \x01(\x04\x12\n\n\x02lt\x18\x02 \x01(\x04\x12\x0b\n\x03lte\x18\x03 \x01(\x04\x12\n\n\x02gt\x18\x04 \x01(\x04\x12\x0b\n\x03gte\x18\x05 \x01(\x04\x12\n\n\x02in\x18\x06 \x03(\x04\x12\x0e\n\x06not_in\x18\x07 \x03(\x04\x12\x14\n\x0cignore_empty\x18\x08 \x01(\x08\"\x80\x01\n\x0bSInt32Rules\x12\r\n\x05\x63onst\x18\x01 \x01(\x11\x12\n\n\x02lt\x18\x02 \x01(\x11\x12\x0b\n\x03lte\x18\x03 \x01(\x11\x12\n\n\x02gt\x18\x04 \x01(\x11\x12\x0b\n\x03gte\x18\x05 \x01(\x11\x12\n\n\x02in\x18\x06 \x03(\x11\x12\x0e\n\x06not_in\x18\x07 \x03(\x11\x12\x14\n\x0cignore_empty\x18\x08 \x01(\x08\"\x80\x01\n\x0bSInt64Rules\x12\r\n\x05\x63onst\x18\x01 \x01(\x12\x12\n\n\x02lt\x18\x02 \x01(\x12\x12\x0b\n\x03lte\x18\x03 \x01(\x12\x12\n\n\x02gt\x18\x04 \x01(\x12\x12\x0b\n\x03gte\x18\x05 \x01(\x12\x12\n\n\x02in\x18\x06 \x03(\x12\x12\x0e\n\x06not_in\x18\x07 \x03(\x12\x12\x14\n\x0cignore_empty\x18\x08 \x01(\x08\"\x81\x01\n\x0c\x46ixed32Rules\x12\r\n\x05\x63onst\x18\x01 \x01(\x07\x12\n\n\x02lt\x18\x02 \x01(\x07\x12\x0b\n\x03lte\x18\x03 \x01(\x07\x12\n\n\x02gt\x18\x04 \x01(\x07\x12\x0b\n\x03gte\x18\x05 \x01(\x07\x12\n\n\x02in\x18\x06 \x03(\x07\x12\x0e\n\x06not_in\x18\x07 \x03(\x07\x12\x14\n\x0cignore_empty\x18\x08 \x01(\x08\"\x81\x01\n\x0c\x46ixed64Rules\x12\r\n\x05\x63onst\x18\x01 \x01(\x06\x12\n\n\x02lt\x18\x02 \x01(\x06\x12\x0b\n\x03lte\x18\x03 \x01(\x06\x12\n\n\x02gt\x18\x04 \x01(\x06\x12\x0b\n\x03gte\x18\x05 \x01(\x06\x12\n\n\x02in\x18\x06 \x03(\x06\x12\x0e\n\x06not_in\x18\x07 \x03(\x06\x12\x14\n\x0cignore_empty\x18\x08 \x01(\x08\"\x82\x01\n\rSFixed32Rules\x12\r\n\x05\x63onst\x18\x01 \x01(\x0f\x12\n\n\x02lt\x18\x02 \x01(\x0f\x12\x0b\n\x03lte\x18\x03 \x01(\x0f\x12\n\n\x02gt\x18\x04 \x01(\x0f\x12\x0b\n\x03gte\x18\x05 \x01(\x0f\x12\n\n\x02in\x18\x06 \x03(\x0f\x12\x0e\n\x06not_in\x18\x07 \x03(\x0f\x12\x14\n\x0cignore_empty\x18\x08 \x01(\x08\"\x82\x01\n\rSFixed64Rules\x12\r\n\x05\x63onst\x18\x01 \x01(\x10\x12\n\n\x02lt\x18\x02 \x01(\x10\x12\x0b\n\x03lte\x18\x03 \x01(\x10\x12\n\n\x02gt\x18\x04 \x01(\x10\x12\x0b\n\x03gte\x18\x05 \x01(\x10\x12\n\n\x02in\x18\x06 \x03(\x10\x12\x0e\n\x06not_in\x18\x07 \x03(\x10\x12\x14\n\x0cignore_empty\x18\x08 \x01(\x08\"\x1a\n\tBoolRules\x12\r\n\x05\x63onst\x18\x01 \x01(\x08\"\xfd\x03\n\x0bStringRules\x12\r\n\x05\x63onst\x18\x01 \x01(\t\x12\x0b\n\x03len\x18\x13 \x01(\x04\x12\x0f\n\x07min_len\x18\x02 \x01(\x04\x12\x0f\n\x07max_len\x18\x03 \x01(\x04\x12\x11\n\tlen_bytes\x18\x14 \x01(\x04\x12\x11\n\tmin_bytes\x18\x04 \x01(\x04\x12\x11\n\tmax_bytes\x18\x05 \x01(\x04\x12\x0f\n\x07pattern\x18\x06 \x01(\t\x12\x0e\n\x06prefix\x18\x07 \x01(\t\x12\x0e\n\x06suffix\x18\x08 \x01(\t\x12\x10\n\x08\x63ontains\x18\t \x01(\t\x12\x14\n\x0cnot_contains\x18\x17 \x01(\t\x12\n\n\x02in\x18\n \x03(\t\x12\x0e\n\x06not_in\x18\x0b \x03(\t\x12\x0f\n\x05\x65mail\x18\x0c \x01(\x08H\x00\x12\x12\n\x08hostname\x18\r \x01(\x08H\x00\x12\x0c\n\x02ip\x18\x0e \x01(\x08H\x00\x12\x0e\n\x04ipv4\x18\x0f \x01(\x08H\x00\x12\x0e\n\x04ipv6\x18\x10 \x01(\x08H\x00\x12\r\n\x03uri\x18\x11 \x01(\x08H\x00\x12\x11\n\x07uri_ref\x18\x12 \x01(\x08H\x00\x12\x11\n\x07\x61\x64\x64ress\x18\x15 \x01(\x08H\x00\x12\x0e\n\x04uuid\x18\x16 \x01(\x08H\x00\x12\x30\n\x10well_known_regex\x18\x18 \x01(\x0e\x32\x14.validate.KnownRegexH\x00\x12\x14\n\x06strict\x18\x19 \x01(\x08:\x04true\x12\x14\n\x0cignore_empty\x18\x1a \x01(\x08\x42\x0c\n\nwell_known\"\xfb\x01\n\nBytesRules\x12\r\n\x05\x63onst\x18\x01 \x01(\x0c\x12\x0b\n\x03len\x18\r \x01(\x04\x12\x0f\n\x07min_len\x18\x02 \x01(\x04\x12\x0f\n\x07max_len\x18\x03 \x01(\x04\x12\x0f\n\x07pattern\x18\x04 \x01(\t\x12\x0e\n\x06prefix\x18\x05 \x01(\x0c\x12\x0e\n\x06suffix\x18\x06 \x01(\x0c\x12\x10\n\x08\x63ontains\x18\x07 \x01(\x0c\x12\n\n\x02in\x18\x08 \x03(\x0c\x12\x0e\n\x06not_in\x18\t \x03(\x0c\x12\x0c\n\x02ip\x18\n \x01(\x08H\x00\x12\x0e\n\x04ipv4\x18\x0b \x01(\x08H\x00\x12\x0e\n\x04ipv6\x18\x0c \x01(\x08H\x00\x12\x14\n\x0cignore_empty\x18\x0e \x01(\x08\x42\x0c\n\nwell_known\"L\n\tEnumRules\x12\r\n\x05\x63onst\x18\x01 \x01(\x05\x12\x14\n\x0c\x64\x65\x66ined_only\x18\x02 \x01(\x08\x12\n\n\x02in\x18\x03 \x03(\x05\x12\x0e\n\x06not_in\x18\x04 \x03(\x05\".\n\x0cMessageRules\x12\x0c\n\x04skip\x18\x01 \x01(\x08\x12\x10\n\x08required\x18\x02 \x01(\x08\"\x80\x01\n\rRepeatedRules\x12\x11\n\tmin_items\x18\x01 \x01(\x04\x12\x11\n\tmax_items\x18\x02 \x01(\x04\x12\x0e\n\x06unique\x18\x03 \x01(\x08\x12#\n\x05items\x18\x04 \x01(\x0b\x32\x14.validate.FieldRules\x12\x14\n\x0cignore_empty\x18\x05 \x01(\x08\"\xa3\x01\n\x08MapRules\x12\x11\n\tmin_pairs\x18\x01 \x01(\x04\x12\x11\n\tmax_pairs\x18\x02 \x01(\x04\x12\x11\n\tno_sparse\x18\x03 \x01(\x08\x12\"\n\x04keys\x18\x04 \x01(\x0b\x32\x14.validate.FieldRules\x12$\n\x06values\x18\x05 \x01(\x0b\x32\x14.validate.FieldRules\x12\x14\n\x0cignore_empty\x18\x06 \x01(\x08\"8\n\x08\x41nyRules\x12\x10\n\x08required\x18\x01 \x01(\x08\x12\n\n\x02in\x18\x02 \x03(\t\x12\x0e\n\x06not_in\x18\x03 \x03(\t\"\xbb\x02\n\rDurationRules\x12\x10\n\x08required\x18\x01 \x01(\x08\x12(\n\x05\x63onst\x18\x02 \x01(\x0b\x32\x19.google.protobuf.Duration\x12%\n\x02lt\x18\x03 \x01(\x0b\x32\x19.google.protobuf.Duration\x12&\n\x03lte\x18\x04 \x01(\x0b\x32\x19.google.protobuf.Duration\x12%\n\x02gt\x18\x05 \x01(\x0b\x32\x19.google.protobuf.Duration\x12&\n\x03gte\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\x12%\n\x02in\x18\x07 \x03(\x0b\x32\x19.google.protobuf.Duration\x12)\n\x06not_in\x18\x08 \x03(\x0b\x32\x19.google.protobuf.Duration\"\xba\x02\n\x0eTimestampRules\x12\x10\n\x08required\x18\x01 \x01(\x08\x12)\n\x05\x63onst\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12&\n\x02lt\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\'\n\x03lte\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12&\n\x02gt\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\'\n\x03gte\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x0e\n\x06lt_now\x18\x07 \x01(\x08\x12\x0e\n\x06gt_now\x18\x08 \x01(\x08\x12)\n\x06within\x18\t \x01(\x0b\x32\x19.google.protobuf.Duration*F\n\nKnownRegex\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x14\n\x10HTTP_HEADER_NAME\x10\x01\x12\x15\n\x11HTTP_HEADER_VALUE\x10\x02:2\n\x08\x64isabled\x12\x1f.google.protobuf.MessageOptions\x18\xaf\x08 \x01(\x08:1\n\x07ignored\x12\x1f.google.protobuf.MessageOptions\x18\xb0\x08 \x01(\x08:0\n\x08required\x12\x1d.google.protobuf.OneofOptions\x18\xaf\x08 \x01(\x08:C\n\x05rules\x12\x1d.google.protobuf.FieldOptions\x18\xaf\x08 \x01(\x0b\x32\x14.validate.FieldRulesBP\n\x1aio.envoyproxy.pgv.validateZ2github.com/envoyproxy/protoc-gen-validate/validate')
31
+
32
+ _globals = globals()
33
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
34
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'validate_pb2', _globals)
35
+ if not _descriptor._USE_C_DESCRIPTORS:
36
+ _globals['DESCRIPTOR']._loaded_options = None
37
+ _globals['DESCRIPTOR']._serialized_options = b'\n\032io.envoyproxy.pgv.validateZ2github.com/envoyproxy/protoc-gen-validate/validate'
38
+ _globals['_KNOWNREGEX']._serialized_start=4532
39
+ _globals['_KNOWNREGEX']._serialized_end=4602
40
+ _globals['_FIELDRULES']._serialized_start=128
41
+ _globals['_FIELDRULES']._serialized_end=1048
42
+ _globals['_FLOATRULES']._serialized_start=1050
43
+ _globals['_FLOATRULES']._serialized_end=1177
44
+ _globals['_DOUBLERULES']._serialized_start=1180
45
+ _globals['_DOUBLERULES']._serialized_end=1308
46
+ _globals['_INT32RULES']._serialized_start=1310
47
+ _globals['_INT32RULES']._serialized_end=1437
48
+ _globals['_INT64RULES']._serialized_start=1439
49
+ _globals['_INT64RULES']._serialized_end=1566
50
+ _globals['_UINT32RULES']._serialized_start=1569
51
+ _globals['_UINT32RULES']._serialized_end=1697
52
+ _globals['_UINT64RULES']._serialized_start=1700
53
+ _globals['_UINT64RULES']._serialized_end=1828
54
+ _globals['_SINT32RULES']._serialized_start=1831
55
+ _globals['_SINT32RULES']._serialized_end=1959
56
+ _globals['_SINT64RULES']._serialized_start=1962
57
+ _globals['_SINT64RULES']._serialized_end=2090
58
+ _globals['_FIXED32RULES']._serialized_start=2093
59
+ _globals['_FIXED32RULES']._serialized_end=2222
60
+ _globals['_FIXED64RULES']._serialized_start=2225
61
+ _globals['_FIXED64RULES']._serialized_end=2354
62
+ _globals['_SFIXED32RULES']._serialized_start=2357
63
+ _globals['_SFIXED32RULES']._serialized_end=2487
64
+ _globals['_SFIXED64RULES']._serialized_start=2490
65
+ _globals['_SFIXED64RULES']._serialized_end=2620
66
+ _globals['_BOOLRULES']._serialized_start=2622
67
+ _globals['_BOOLRULES']._serialized_end=2648
68
+ _globals['_STRINGRULES']._serialized_start=2651
69
+ _globals['_STRINGRULES']._serialized_end=3160
70
+ _globals['_BYTESRULES']._serialized_start=3163
71
+ _globals['_BYTESRULES']._serialized_end=3414
72
+ _globals['_ENUMRULES']._serialized_start=3416
73
+ _globals['_ENUMRULES']._serialized_end=3492
74
+ _globals['_MESSAGERULES']._serialized_start=3494
75
+ _globals['_MESSAGERULES']._serialized_end=3540
76
+ _globals['_REPEATEDRULES']._serialized_start=3543
77
+ _globals['_REPEATEDRULES']._serialized_end=3671
78
+ _globals['_MAPRULES']._serialized_start=3674
79
+ _globals['_MAPRULES']._serialized_end=3837
80
+ _globals['_ANYRULES']._serialized_start=3839
81
+ _globals['_ANYRULES']._serialized_end=3895
82
+ _globals['_DURATIONRULES']._serialized_start=3898
83
+ _globals['_DURATIONRULES']._serialized_end=4213
84
+ _globals['_TIMESTAMPRULES']._serialized_start=4216
85
+ _globals['_TIMESTAMPRULES']._serialized_end=4530
86
+ # @@protoc_insertion_point(module_scope)