cribl-control-plane 0.2.1rc2__py3-none-any.whl → 0.2.1rc4__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 cribl-control-plane might be problematic. Click here for more details.

Files changed (96) hide show
  1. cribl_control_plane/_version.py +3 -3
  2. cribl_control_plane/models/__init__.py +99 -3
  3. cribl_control_plane/models/input.py +14 -14
  4. cribl_control_plane/models/inputappscope.py +20 -16
  5. cribl_control_plane/models/inputconfluentcloud.py +110 -0
  6. cribl_control_plane/models/inputcriblhttp.py +20 -16
  7. cribl_control_plane/models/inputcribllakehttp.py +20 -16
  8. cribl_control_plane/models/inputcribltcp.py +20 -16
  9. cribl_control_plane/models/inputdatadogagent.py +20 -16
  10. cribl_control_plane/models/inputedgeprometheus.py +44 -36
  11. cribl_control_plane/models/inputelastic.py +44 -27
  12. cribl_control_plane/models/inputeventhub.py +118 -0
  13. cribl_control_plane/models/inputfirehose.py +20 -16
  14. cribl_control_plane/models/inputgrafana.py +39 -31
  15. cribl_control_plane/models/inputhttp.py +20 -16
  16. cribl_control_plane/models/inputhttpraw.py +20 -16
  17. cribl_control_plane/models/inputkafka.py +108 -0
  18. cribl_control_plane/models/inputloki.py +20 -16
  19. cribl_control_plane/models/inputmetrics.py +20 -16
  20. cribl_control_plane/models/inputmodeldriventelemetry.py +20 -16
  21. cribl_control_plane/models/inputopentelemetry.py +19 -15
  22. cribl_control_plane/models/inputprometheus.py +44 -36
  23. cribl_control_plane/models/inputprometheusrw.py +20 -16
  24. cribl_control_plane/models/inputsplunk.py +20 -16
  25. cribl_control_plane/models/inputsplunkhec.py +19 -15
  26. cribl_control_plane/models/inputsyslog.py +39 -31
  27. cribl_control_plane/models/inputsystemmetrics.py +20 -10
  28. cribl_control_plane/models/inputtcp.py +30 -16
  29. cribl_control_plane/models/inputtcpjson.py +20 -16
  30. cribl_control_plane/models/inputwindowsmetrics.py +20 -10
  31. cribl_control_plane/models/inputwineventlogs.py +14 -0
  32. cribl_control_plane/models/inputwizwebhook.py +20 -16
  33. cribl_control_plane/models/inputzscalerhec.py +19 -15
  34. cribl_control_plane/models/output.py +22 -22
  35. cribl_control_plane/models/outputazureblob.py +7 -0
  36. cribl_control_plane/models/outputazuredataexplorer.py +283 -93
  37. cribl_control_plane/models/outputazureeventhub.py +169 -21
  38. cribl_control_plane/models/outputazurelogs.py +49 -21
  39. cribl_control_plane/models/outputchronicle.py +49 -21
  40. cribl_control_plane/models/outputclickhouse.py +49 -21
  41. cribl_control_plane/models/outputcloudwatch.py +49 -21
  42. cribl_control_plane/models/outputconfluentcloud.py +167 -22
  43. cribl_control_plane/models/outputcriblhttp.py +49 -21
  44. cribl_control_plane/models/outputcribltcp.py +49 -21
  45. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +50 -22
  46. cribl_control_plane/models/outputdatabricks.py +7 -0
  47. cribl_control_plane/models/outputdatadog.py +49 -21
  48. cribl_control_plane/models/outputdataset.py +49 -21
  49. cribl_control_plane/models/outputdls3.py +7 -0
  50. cribl_control_plane/models/outputdynatracehttp.py +49 -21
  51. cribl_control_plane/models/outputdynatraceotlp.py +49 -21
  52. cribl_control_plane/models/outputelastic.py +74 -21
  53. cribl_control_plane/models/outputelasticcloud.py +74 -21
  54. cribl_control_plane/models/outputfilesystem.py +7 -0
  55. cribl_control_plane/models/outputgooglechronicle.py +65 -22
  56. cribl_control_plane/models/outputgooglecloudlogging.py +50 -22
  57. cribl_control_plane/models/outputgooglecloudstorage.py +7 -0
  58. cribl_control_plane/models/outputgooglepubsub.py +49 -21
  59. cribl_control_plane/models/outputgrafanacloud.py +98 -42
  60. cribl_control_plane/models/outputgraphite.py +49 -21
  61. cribl_control_plane/models/outputhoneycomb.py +49 -21
  62. cribl_control_plane/models/outputhumiohec.py +49 -21
  63. cribl_control_plane/models/outputinfluxdb.py +49 -21
  64. cribl_control_plane/models/outputkafka.py +162 -19
  65. cribl_control_plane/models/outputkinesis.py +56 -21
  66. cribl_control_plane/models/outputloki.py +47 -19
  67. cribl_control_plane/models/outputminio.py +7 -0
  68. cribl_control_plane/models/outputmsk.py +54 -19
  69. cribl_control_plane/models/outputnewrelic.py +49 -21
  70. cribl_control_plane/models/outputnewrelicevents.py +50 -22
  71. cribl_control_plane/models/outputopentelemetry.py +49 -21
  72. cribl_control_plane/models/outputprometheus.py +49 -21
  73. cribl_control_plane/models/outputs3.py +7 -0
  74. cribl_control_plane/models/outputsentinel.py +49 -21
  75. cribl_control_plane/models/outputsentineloneaisiem.py +50 -22
  76. cribl_control_plane/models/outputservicenow.py +49 -21
  77. cribl_control_plane/models/outputsignalfx.py +49 -21
  78. cribl_control_plane/models/outputsns.py +47 -19
  79. cribl_control_plane/models/outputsplunk.py +49 -21
  80. cribl_control_plane/models/outputsplunkhec.py +49 -21
  81. cribl_control_plane/models/outputsplunklb.py +49 -21
  82. cribl_control_plane/models/outputsqs.py +47 -19
  83. cribl_control_plane/models/outputstatsd.py +49 -21
  84. cribl_control_plane/models/outputstatsdext.py +49 -21
  85. cribl_control_plane/models/outputsumologic.py +49 -21
  86. cribl_control_plane/models/outputsyslog.py +129 -99
  87. cribl_control_plane/models/outputtcpjson.py +49 -21
  88. cribl_control_plane/models/outputwavefront.py +49 -21
  89. cribl_control_plane/models/outputwebhook.py +49 -21
  90. cribl_control_plane/models/outputxsiam.py +47 -19
  91. cribl_control_plane/models/runnablejobcollection.py +12 -8
  92. cribl_control_plane/models/runnablejobexecutor.py +12 -8
  93. cribl_control_plane/models/runnablejobscheduledsearch.py +12 -8
  94. {cribl_control_plane-0.2.1rc2.dist-info → cribl_control_plane-0.2.1rc4.dist-info}/METADATA +1 -1
  95. {cribl_control_plane-0.2.1rc2.dist-info → cribl_control_plane-0.2.1rc4.dist-info}/RECORD +96 -96
  96. {cribl_control_plane-0.2.1rc2.dist-info → cribl_control_plane-0.2.1rc4.dist-info}/WHEEL +0 -0
@@ -35,6 +35,17 @@ class OutputStatsdExtBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMet
35
35
  QUEUE = "queue"
36
36
 
37
37
 
38
+ class OutputStatsdExtMode(str, Enum, metaclass=utils.OpenEnumMeta):
39
+ r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
40
+
41
+ # Error
42
+ ERROR = "error"
43
+ # Backpressure
44
+ ALWAYS = "always"
45
+ # Always On
46
+ BACKPRESSURE = "backpressure"
47
+
48
+
38
49
  class OutputStatsdExtCompression(str, Enum, metaclass=utils.OpenEnumMeta):
39
50
  r"""Codec to use to compress the persisted data"""
40
51
 
@@ -53,17 +64,6 @@ class OutputStatsdExtQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
53
64
  DROP = "drop"
54
65
 
55
66
 
56
- class OutputStatsdExtMode(str, Enum, metaclass=utils.OpenEnumMeta):
57
- r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
58
-
59
- # Error
60
- ERROR = "error"
61
- # Backpressure
62
- BACKPRESSURE = "backpressure"
63
- # Always On
64
- ALWAYS = "always"
65
-
66
-
67
67
  class OutputStatsdExtPqControlsTypedDict(TypedDict):
68
68
  pass
69
69
 
@@ -105,6 +105,16 @@ class OutputStatsdExtTypedDict(TypedDict):
105
105
  r"""Amount of time (milliseconds) to wait for a write to complete before assuming connection is dead"""
106
106
  on_backpressure: NotRequired[OutputStatsdExtBackpressureBehavior]
107
107
  r"""How to handle events when all receivers are exerting backpressure"""
108
+ pq_strict_ordering: NotRequired[bool]
109
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
110
+ pq_rate_per_sec: NotRequired[float]
111
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
112
+ pq_mode: NotRequired[OutputStatsdExtMode]
113
+ r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
114
+ pq_max_buffer_size: NotRequired[float]
115
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
116
+ pq_max_backpressure_sec: NotRequired[float]
117
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
108
118
  pq_max_file_size: NotRequired[str]
109
119
  r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
110
120
  pq_max_size: NotRequired[str]
@@ -115,8 +125,6 @@ class OutputStatsdExtTypedDict(TypedDict):
115
125
  r"""Codec to use to compress the persisted data"""
116
126
  pq_on_backpressure: NotRequired[OutputStatsdExtQueueFullBehavior]
117
127
  r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
118
- pq_mode: NotRequired[OutputStatsdExtMode]
119
- r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
120
128
  pq_controls: NotRequired[OutputStatsdExtPqControlsTypedDict]
121
129
 
122
130
 
@@ -191,6 +199,34 @@ class OutputStatsdExt(BaseModel):
191
199
  ] = OutputStatsdExtBackpressureBehavior.BLOCK
192
200
  r"""How to handle events when all receivers are exerting backpressure"""
193
201
 
202
+ pq_strict_ordering: Annotated[
203
+ Optional[bool], pydantic.Field(alias="pqStrictOrdering")
204
+ ] = True
205
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
206
+
207
+ pq_rate_per_sec: Annotated[
208
+ Optional[float], pydantic.Field(alias="pqRatePerSec")
209
+ ] = 0
210
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
211
+
212
+ pq_mode: Annotated[
213
+ Annotated[
214
+ Optional[OutputStatsdExtMode], PlainValidator(validate_open_enum(False))
215
+ ],
216
+ pydantic.Field(alias="pqMode"),
217
+ ] = OutputStatsdExtMode.ERROR
218
+ r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
219
+
220
+ pq_max_buffer_size: Annotated[
221
+ Optional[float], pydantic.Field(alias="pqMaxBufferSize")
222
+ ] = 42
223
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
224
+
225
+ pq_max_backpressure_sec: Annotated[
226
+ Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
227
+ ] = 30
228
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
229
+
194
230
  pq_max_file_size: Annotated[
195
231
  Optional[str], pydantic.Field(alias="pqMaxFileSize")
196
232
  ] = "1 MB"
@@ -222,14 +258,6 @@ class OutputStatsdExt(BaseModel):
222
258
  ] = OutputStatsdExtQueueFullBehavior.BLOCK
223
259
  r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
224
260
 
225
- pq_mode: Annotated[
226
- Annotated[
227
- Optional[OutputStatsdExtMode], PlainValidator(validate_open_enum(False))
228
- ],
229
- pydantic.Field(alias="pqMode"),
230
- ] = OutputStatsdExtMode.ERROR
231
- r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
232
-
233
261
  pq_controls: Annotated[
234
262
  Optional[OutputStatsdExtPqControls], pydantic.Field(alias="pqControls")
235
263
  ] = None
@@ -111,6 +111,17 @@ class OutputSumoLogicBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMet
111
111
  QUEUE = "queue"
112
112
 
113
113
 
114
+ class OutputSumoLogicMode(str, Enum, metaclass=utils.OpenEnumMeta):
115
+ r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
116
+
117
+ # Error
118
+ ERROR = "error"
119
+ # Backpressure
120
+ ALWAYS = "always"
121
+ # Always On
122
+ BACKPRESSURE = "backpressure"
123
+
124
+
114
125
  class OutputSumoLogicCompression(str, Enum, metaclass=utils.OpenEnumMeta):
115
126
  r"""Codec to use to compress the persisted data"""
116
127
 
@@ -129,17 +140,6 @@ class OutputSumoLogicQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
129
140
  DROP = "drop"
130
141
 
131
142
 
132
- class OutputSumoLogicMode(str, Enum, metaclass=utils.OpenEnumMeta):
133
- r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
134
-
135
- # Error
136
- ERROR = "error"
137
- # Backpressure
138
- BACKPRESSURE = "backpressure"
139
- # Always On
140
- ALWAYS = "always"
141
-
142
-
143
143
  class OutputSumoLogicPqControlsTypedDict(TypedDict):
144
144
  pass
145
145
 
@@ -205,6 +205,16 @@ class OutputSumoLogicTypedDict(TypedDict):
205
205
  total_memory_limit_kb: NotRequired[float]
206
206
  r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced."""
207
207
  description: NotRequired[str]
208
+ pq_strict_ordering: NotRequired[bool]
209
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
210
+ pq_rate_per_sec: NotRequired[float]
211
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
212
+ pq_mode: NotRequired[OutputSumoLogicMode]
213
+ r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
214
+ pq_max_buffer_size: NotRequired[float]
215
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
216
+ pq_max_backpressure_sec: NotRequired[float]
217
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
208
218
  pq_max_file_size: NotRequired[str]
209
219
  r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
210
220
  pq_max_size: NotRequired[str]
@@ -215,8 +225,6 @@ class OutputSumoLogicTypedDict(TypedDict):
215
225
  r"""Codec to use to compress the persisted data"""
216
226
  pq_on_backpressure: NotRequired[OutputSumoLogicQueueFullBehavior]
217
227
  r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
218
- pq_mode: NotRequired[OutputSumoLogicMode]
219
- r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
220
228
  pq_controls: NotRequired[OutputSumoLogicPqControlsTypedDict]
221
229
 
222
230
 
@@ -349,6 +357,34 @@ class OutputSumoLogic(BaseModel):
349
357
 
350
358
  description: Optional[str] = None
351
359
 
360
+ pq_strict_ordering: Annotated[
361
+ Optional[bool], pydantic.Field(alias="pqStrictOrdering")
362
+ ] = True
363
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
364
+
365
+ pq_rate_per_sec: Annotated[
366
+ Optional[float], pydantic.Field(alias="pqRatePerSec")
367
+ ] = 0
368
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
369
+
370
+ pq_mode: Annotated[
371
+ Annotated[
372
+ Optional[OutputSumoLogicMode], PlainValidator(validate_open_enum(False))
373
+ ],
374
+ pydantic.Field(alias="pqMode"),
375
+ ] = OutputSumoLogicMode.ERROR
376
+ r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
377
+
378
+ pq_max_buffer_size: Annotated[
379
+ Optional[float], pydantic.Field(alias="pqMaxBufferSize")
380
+ ] = 42
381
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
382
+
383
+ pq_max_backpressure_sec: Annotated[
384
+ Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
385
+ ] = 30
386
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
387
+
352
388
  pq_max_file_size: Annotated[
353
389
  Optional[str], pydantic.Field(alias="pqMaxFileSize")
354
390
  ] = "1 MB"
@@ -380,14 +416,6 @@ class OutputSumoLogic(BaseModel):
380
416
  ] = OutputSumoLogicQueueFullBehavior.BLOCK
381
417
  r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
382
418
 
383
- pq_mode: Annotated[
384
- Annotated[
385
- Optional[OutputSumoLogicMode], PlainValidator(validate_open_enum(False))
386
- ],
387
- pydantic.Field(alias="pqMode"),
388
- ] = OutputSumoLogicMode.ERROR
389
- r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
390
-
391
419
  pq_controls: Annotated[
392
420
  Optional[OutputSumoLogicPqControls], pydantic.Field(alias="pqControls")
393
421
  ] = None
@@ -90,6 +90,45 @@ class TimestampFormat(str, Enum, metaclass=utils.OpenEnumMeta):
90
90
  ISO8601 = "iso8601"
91
91
 
92
92
 
93
+ class OutputSyslogTLS(str, Enum, metaclass=utils.OpenEnumMeta):
94
+ r"""Whether to inherit TLS configs from group setting or disable TLS"""
95
+
96
+ INHERIT = "inherit"
97
+ OFF = "off"
98
+
99
+
100
+ class OutputSyslogHostTypedDict(TypedDict):
101
+ host: str
102
+ r"""The hostname of the receiver"""
103
+ port: float
104
+ r"""The port to connect to on the provided host"""
105
+ tls: NotRequired[OutputSyslogTLS]
106
+ r"""Whether to inherit TLS configs from group setting or disable TLS"""
107
+ servername: NotRequired[str]
108
+ r"""Servername to use if establishing a TLS connection. If not specified, defaults to connection host (if not an IP); otherwise, uses the global TLS settings."""
109
+ weight: NotRequired[float]
110
+ r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability"""
111
+
112
+
113
+ class OutputSyslogHost(BaseModel):
114
+ host: str
115
+ r"""The hostname of the receiver"""
116
+
117
+ port: float
118
+ r"""The port to connect to on the provided host"""
119
+
120
+ tls: Annotated[
121
+ Optional[OutputSyslogTLS], PlainValidator(validate_open_enum(False))
122
+ ] = OutputSyslogTLS.INHERIT
123
+ r"""Whether to inherit TLS configs from group setting or disable TLS"""
124
+
125
+ servername: Optional[str] = None
126
+ r"""Servername to use if establishing a TLS connection. If not specified, defaults to connection host (if not an IP); otherwise, uses the global TLS settings."""
127
+
128
+ weight: Optional[float] = 1
129
+ r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability"""
130
+
131
+
93
132
  class OutputSyslogMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
94
133
  TL_SV1 = "TLSv1"
95
134
  TL_SV1_1 = "TLSv1.1"
@@ -184,6 +223,17 @@ class OutputSyslogBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
184
223
  QUEUE = "queue"
185
224
 
186
225
 
226
+ class OutputSyslogMode(str, Enum, metaclass=utils.OpenEnumMeta):
227
+ r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
228
+
229
+ # Error
230
+ ERROR = "error"
231
+ # Backpressure
232
+ ALWAYS = "always"
233
+ # Always On
234
+ BACKPRESSURE = "backpressure"
235
+
236
+
187
237
  class OutputSyslogCompression(str, Enum, metaclass=utils.OpenEnumMeta):
188
238
  r"""Codec to use to compress the persisted data"""
189
239
 
@@ -202,17 +252,6 @@ class OutputSyslogQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
202
252
  DROP = "drop"
203
253
 
204
254
 
205
- class OutputSyslogMode(str, Enum, metaclass=utils.OpenEnumMeta):
206
- r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
207
-
208
- # Error
209
- ERROR = "error"
210
- # Backpressure
211
- BACKPRESSURE = "backpressure"
212
- # Always On
213
- ALWAYS = "always"
214
-
215
-
216
255
  class OutputSyslogPqControlsTypedDict(TypedDict):
217
256
  pass
218
257
 
@@ -221,43 +260,6 @@ class OutputSyslogPqControls(BaseModel):
221
260
  pass
222
261
 
223
262
 
224
- class OutputSyslogTLS(str, Enum):
225
- r"""Whether to inherit TLS configs from group setting or disable TLS"""
226
-
227
- INHERIT = "inherit"
228
- OFF = "off"
229
-
230
-
231
- class OutputSyslogHostTypedDict(TypedDict):
232
- host: str
233
- r"""The hostname of the receiver"""
234
- port: NotRequired[float]
235
- r"""The port to connect to on the provided host"""
236
- tls: NotRequired[OutputSyslogTLS]
237
- r"""Whether to inherit TLS configs from group setting or disable TLS"""
238
- servername: NotRequired[str]
239
- r"""Servername to use if establishing a TLS connection. If not specified, defaults to connection host (if not an IP); otherwise, uses the global TLS settings."""
240
- weight: NotRequired[float]
241
- r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability"""
242
-
243
-
244
- class OutputSyslogHost(BaseModel):
245
- host: str
246
- r"""The hostname of the receiver"""
247
-
248
- port: Optional[float] = 9997
249
- r"""The port to connect to on the provided host"""
250
-
251
- tls: Optional[OutputSyslogTLS] = OutputSyslogTLS.INHERIT
252
- r"""Whether to inherit TLS configs from group setting or disable TLS"""
253
-
254
- servername: Optional[str] = None
255
- r"""Servername to use if establishing a TLS connection. If not specified, defaults to connection host (if not an IP); otherwise, uses the global TLS settings."""
256
-
257
- weight: Optional[float] = 1
258
- r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability"""
259
-
260
-
261
263
  class OutputSyslogTypedDict(TypedDict):
262
264
  type: OutputSyslogType
263
265
  id: NotRequired[str]
@@ -291,6 +293,20 @@ class OutputSyslogTypedDict(TypedDict):
291
293
  description: NotRequired[str]
292
294
  load_balanced: NotRequired[bool]
293
295
  r"""For optimal performance, enable load balancing even if you have one hostname, as it can expand to multiple IPs. If this setting is disabled, consider enabling round-robin DNS."""
296
+ host: NotRequired[str]
297
+ r"""The hostname of the receiver"""
298
+ port: NotRequired[float]
299
+ r"""The port to connect to on the provided host"""
300
+ exclude_self: NotRequired[bool]
301
+ r"""Exclude all IPs of the current host from the list of any resolved hostnames"""
302
+ hosts: NotRequired[List[OutputSyslogHostTypedDict]]
303
+ r"""Set of hosts to load-balance data to"""
304
+ dns_resolve_period_sec: NotRequired[float]
305
+ r"""The interval in which to re-resolve any hostnames and pick up destinations from A records"""
306
+ load_balance_stats_period_sec: NotRequired[float]
307
+ r"""How far back in time to keep traffic stats for load balancing purposes"""
308
+ max_concurrent_senders: NotRequired[float]
309
+ r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited."""
294
310
  connection_timeout: NotRequired[float]
295
311
  r"""Amount of time (milliseconds) to wait for the connection to establish before retrying"""
296
312
  write_timeout: NotRequired[float]
@@ -298,14 +314,20 @@ class OutputSyslogTypedDict(TypedDict):
298
314
  tls: NotRequired[OutputSyslogTLSSettingsClientSideTypedDict]
299
315
  on_backpressure: NotRequired[OutputSyslogBackpressureBehavior]
300
316
  r"""How to handle events when all receivers are exerting backpressure"""
301
- host: NotRequired[str]
302
- r"""The hostname of the receiver"""
303
- port: NotRequired[float]
304
- r"""The port to connect to on the provided host"""
305
317
  max_record_size: NotRequired[float]
306
318
  r"""Maximum size of syslog messages. Make sure this value is less than or equal to the MTU to avoid UDP packet fragmentation."""
307
319
  udp_dns_resolve_period_sec: NotRequired[float]
308
320
  r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every message sent will incur a DNS lookup."""
321
+ pq_strict_ordering: NotRequired[bool]
322
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
323
+ pq_rate_per_sec: NotRequired[float]
324
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
325
+ pq_mode: NotRequired[OutputSyslogMode]
326
+ r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
327
+ pq_max_buffer_size: NotRequired[float]
328
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
329
+ pq_max_backpressure_sec: NotRequired[float]
330
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
309
331
  pq_max_file_size: NotRequired[str]
310
332
  r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
311
333
  pq_max_size: NotRequired[str]
@@ -316,19 +338,7 @@ class OutputSyslogTypedDict(TypedDict):
316
338
  r"""Codec to use to compress the persisted data"""
317
339
  pq_on_backpressure: NotRequired[OutputSyslogQueueFullBehavior]
318
340
  r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
319
- pq_mode: NotRequired[OutputSyslogMode]
320
- r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
321
341
  pq_controls: NotRequired[OutputSyslogPqControlsTypedDict]
322
- dns_resolve_period_sec: NotRequired[float]
323
- r"""The interval in which to re-resolve any hostnames and pick up destinations from A records"""
324
- load_balance_stats_period_sec: NotRequired[float]
325
- r"""How far back in time to keep traffic stats for load balancing purposes"""
326
- max_concurrent_senders: NotRequired[float]
327
- r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited."""
328
- exclude_self: NotRequired[bool]
329
- r"""Exclude all IPs of the current host from the list of any resolved hostnames"""
330
- hosts: NotRequired[List[OutputSyslogHostTypedDict]]
331
- r"""Set of hosts to load-balance data to."""
332
342
 
333
343
 
334
344
  class OutputSyslog(BaseModel):
@@ -406,6 +416,33 @@ class OutputSyslog(BaseModel):
406
416
  )
407
417
  r"""For optimal performance, enable load balancing even if you have one hostname, as it can expand to multiple IPs. If this setting is disabled, consider enabling round-robin DNS."""
408
418
 
419
+ host: Optional[str] = None
420
+ r"""The hostname of the receiver"""
421
+
422
+ port: Optional[float] = None
423
+ r"""The port to connect to on the provided host"""
424
+
425
+ exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = False
426
+ r"""Exclude all IPs of the current host from the list of any resolved hostnames"""
427
+
428
+ hosts: Optional[List[OutputSyslogHost]] = None
429
+ r"""Set of hosts to load-balance data to"""
430
+
431
+ dns_resolve_period_sec: Annotated[
432
+ Optional[float], pydantic.Field(alias="dnsResolvePeriodSec")
433
+ ] = 600
434
+ r"""The interval in which to re-resolve any hostnames and pick up destinations from A records"""
435
+
436
+ load_balance_stats_period_sec: Annotated[
437
+ Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec")
438
+ ] = 300
439
+ r"""How far back in time to keep traffic stats for load balancing purposes"""
440
+
441
+ max_concurrent_senders: Annotated[
442
+ Optional[float], pydantic.Field(alias="maxConcurrentSenders")
443
+ ] = 0
444
+ r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited."""
445
+
409
446
  connection_timeout: Annotated[
410
447
  Optional[float], pydantic.Field(alias="connectionTimeout")
411
448
  ] = 10000
@@ -427,12 +464,6 @@ class OutputSyslog(BaseModel):
427
464
  ] = OutputSyslogBackpressureBehavior.BLOCK
428
465
  r"""How to handle events when all receivers are exerting backpressure"""
429
466
 
430
- host: Optional[str] = None
431
- r"""The hostname of the receiver"""
432
-
433
- port: Optional[float] = None
434
- r"""The port to connect to on the provided host"""
435
-
436
467
  max_record_size: Annotated[
437
468
  Optional[float], pydantic.Field(alias="maxRecordSize")
438
469
  ] = 1500
@@ -443,6 +474,34 @@ class OutputSyslog(BaseModel):
443
474
  ] = 0
444
475
  r"""How often to resolve the destination hostname to an IP address. Ignored if the destination is an IP address. A value of 0 means every message sent will incur a DNS lookup."""
445
476
 
477
+ pq_strict_ordering: Annotated[
478
+ Optional[bool], pydantic.Field(alias="pqStrictOrdering")
479
+ ] = True
480
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
481
+
482
+ pq_rate_per_sec: Annotated[
483
+ Optional[float], pydantic.Field(alias="pqRatePerSec")
484
+ ] = 0
485
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
486
+
487
+ pq_mode: Annotated[
488
+ Annotated[
489
+ Optional[OutputSyslogMode], PlainValidator(validate_open_enum(False))
490
+ ],
491
+ pydantic.Field(alias="pqMode"),
492
+ ] = OutputSyslogMode.ERROR
493
+ r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
494
+
495
+ pq_max_buffer_size: Annotated[
496
+ Optional[float], pydantic.Field(alias="pqMaxBufferSize")
497
+ ] = 42
498
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
499
+
500
+ pq_max_backpressure_sec: Annotated[
501
+ Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
502
+ ] = 30
503
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
504
+
446
505
  pq_max_file_size: Annotated[
447
506
  Optional[str], pydantic.Field(alias="pqMaxFileSize")
448
507
  ] = "1 MB"
@@ -473,35 +532,6 @@ class OutputSyslog(BaseModel):
473
532
  ] = OutputSyslogQueueFullBehavior.BLOCK
474
533
  r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
475
534
 
476
- pq_mode: Annotated[
477
- Annotated[
478
- Optional[OutputSyslogMode], PlainValidator(validate_open_enum(False))
479
- ],
480
- pydantic.Field(alias="pqMode"),
481
- ] = OutputSyslogMode.ERROR
482
- r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
483
-
484
535
  pq_controls: Annotated[
485
536
  Optional[OutputSyslogPqControls], pydantic.Field(alias="pqControls")
486
537
  ] = None
487
-
488
- dns_resolve_period_sec: Annotated[
489
- Optional[float], pydantic.Field(alias="dnsResolvePeriodSec")
490
- ] = 600
491
- r"""The interval in which to re-resolve any hostnames and pick up destinations from A records"""
492
-
493
- load_balance_stats_period_sec: Annotated[
494
- Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec")
495
- ] = 300
496
- r"""How far back in time to keep traffic stats for load balancing purposes"""
497
-
498
- max_concurrent_senders: Annotated[
499
- Optional[float], pydantic.Field(alias="maxConcurrentSenders")
500
- ] = 0
501
- r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited."""
502
-
503
- exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = False
504
- r"""Exclude all IPs of the current host from the list of any resolved hostnames"""
505
-
506
- hosts: Optional[List[OutputSyslogHost]] = None
507
- r"""Set of hosts to load-balance data to."""
@@ -164,6 +164,17 @@ class OutputTcpjsonHost(BaseModel):
164
164
  r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability"""
165
165
 
166
166
 
167
+ class OutputTcpjsonMode(str, Enum, metaclass=utils.OpenEnumMeta):
168
+ r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
169
+
170
+ # Error
171
+ ERROR = "error"
172
+ # Backpressure
173
+ ALWAYS = "always"
174
+ # Always On
175
+ BACKPRESSURE = "backpressure"
176
+
177
+
167
178
  class OutputTcpjsonPqCompressCompression(str, Enum, metaclass=utils.OpenEnumMeta):
168
179
  r"""Codec to use to compress the persisted data"""
169
180
 
@@ -182,17 +193,6 @@ class OutputTcpjsonQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
182
193
  DROP = "drop"
183
194
 
184
195
 
185
- class OutputTcpjsonMode(str, Enum, metaclass=utils.OpenEnumMeta):
186
- r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
187
-
188
- # Error
189
- ERROR = "error"
190
- # Backpressure
191
- BACKPRESSURE = "backpressure"
192
- # Always On
193
- ALWAYS = "always"
194
-
195
-
196
196
  class OutputTcpjsonPqControlsTypedDict(TypedDict):
197
197
  pass
198
198
 
@@ -249,6 +249,16 @@ class OutputTcpjsonTypedDict(TypedDict):
249
249
  r"""How far back in time to keep traffic stats for load balancing purposes"""
250
250
  max_concurrent_senders: NotRequired[float]
251
251
  r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited."""
252
+ pq_strict_ordering: NotRequired[bool]
253
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
254
+ pq_rate_per_sec: NotRequired[float]
255
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
256
+ pq_mode: NotRequired[OutputTcpjsonMode]
257
+ r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
258
+ pq_max_buffer_size: NotRequired[float]
259
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
260
+ pq_max_backpressure_sec: NotRequired[float]
261
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
252
262
  pq_max_file_size: NotRequired[str]
253
263
  r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
254
264
  pq_max_size: NotRequired[str]
@@ -259,8 +269,6 @@ class OutputTcpjsonTypedDict(TypedDict):
259
269
  r"""Codec to use to compress the persisted data"""
260
270
  pq_on_backpressure: NotRequired[OutputTcpjsonQueueFullBehavior]
261
271
  r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
262
- pq_mode: NotRequired[OutputTcpjsonMode]
263
- r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
264
272
  pq_controls: NotRequired[OutputTcpjsonPqControlsTypedDict]
265
273
  auth_token: NotRequired[str]
266
274
  r"""Optional authentication token to include as part of the connection header"""
@@ -375,6 +383,34 @@ class OutputTcpjson(BaseModel):
375
383
  ] = 0
376
384
  r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited."""
377
385
 
386
+ pq_strict_ordering: Annotated[
387
+ Optional[bool], pydantic.Field(alias="pqStrictOrdering")
388
+ ] = True
389
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
390
+
391
+ pq_rate_per_sec: Annotated[
392
+ Optional[float], pydantic.Field(alias="pqRatePerSec")
393
+ ] = 0
394
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
395
+
396
+ pq_mode: Annotated[
397
+ Annotated[
398
+ Optional[OutputTcpjsonMode], PlainValidator(validate_open_enum(False))
399
+ ],
400
+ pydantic.Field(alias="pqMode"),
401
+ ] = OutputTcpjsonMode.ERROR
402
+ r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
403
+
404
+ pq_max_buffer_size: Annotated[
405
+ Optional[float], pydantic.Field(alias="pqMaxBufferSize")
406
+ ] = 42
407
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
408
+
409
+ pq_max_backpressure_sec: Annotated[
410
+ Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
411
+ ] = 30
412
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
413
+
378
414
  pq_max_file_size: Annotated[
379
415
  Optional[str], pydantic.Field(alias="pqMaxFileSize")
380
416
  ] = "1 MB"
@@ -406,14 +442,6 @@ class OutputTcpjson(BaseModel):
406
442
  ] = OutputTcpjsonQueueFullBehavior.BLOCK
407
443
  r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
408
444
 
409
- pq_mode: Annotated[
410
- Annotated[
411
- Optional[OutputTcpjsonMode], PlainValidator(validate_open_enum(False))
412
- ],
413
- pydantic.Field(alias="pqMode"),
414
- ] = OutputTcpjsonMode.ERROR
415
- r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
416
-
417
445
  pq_controls: Annotated[
418
446
  Optional[OutputTcpjsonPqControls], pydantic.Field(alias="pqControls")
419
447
  ] = None