cribl-control-plane 0.3.0b3__py3-none-any.whl → 0.3.0b12__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.
- cribl_control_plane/_version.py +4 -4
- cribl_control_plane/groups_sdk.py +2 -2
- cribl_control_plane/lakedatasets.py +28 -0
- cribl_control_plane/models/__init__.py +124 -5
- cribl_control_plane/models/cacheconnection.py +20 -0
- cribl_control_plane/models/configgroup.py +20 -1
- cribl_control_plane/models/configgroupcloud.py +11 -1
- cribl_control_plane/models/createconfiggroupbyproductop.py +13 -2
- cribl_control_plane/models/cribllakedataset.py +15 -1
- cribl_control_plane/models/cribllakedatasetupdate.py +15 -1
- cribl_control_plane/models/datasetmetadata.py +11 -1
- cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +11 -0
- cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +20 -0
- cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +20 -0
- cribl_control_plane/models/getconfiggroupbyproductandidop.py +11 -0
- cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +11 -0
- cribl_control_plane/models/getsummaryop.py +11 -0
- cribl_control_plane/models/groupcreaterequest.py +20 -1
- cribl_control_plane/models/hbcriblinfo.py +11 -1
- cribl_control_plane/models/healthserverstatus.py +20 -1
- cribl_control_plane/models/input.py +15 -15
- cribl_control_plane/models/inputappscope.py +76 -17
- cribl_control_plane/models/inputazureblob.py +29 -1
- cribl_control_plane/models/inputcollection.py +20 -1
- cribl_control_plane/models/inputconfluentcloud.py +188 -1
- cribl_control_plane/models/inputcribl.py +20 -1
- cribl_control_plane/models/inputcriblhttp.py +58 -17
- cribl_control_plane/models/inputcribllakehttp.py +58 -17
- cribl_control_plane/models/inputcriblmetrics.py +20 -1
- cribl_control_plane/models/inputcribltcp.py +58 -17
- cribl_control_plane/models/inputcrowdstrike.py +47 -1
- cribl_control_plane/models/inputdatadogagent.py +58 -17
- cribl_control_plane/models/inputdatagen.py +20 -1
- cribl_control_plane/models/inputedgeprometheus.py +138 -37
- cribl_control_plane/models/inputelastic.py +108 -27
- cribl_control_plane/models/inputeventhub.py +176 -1
- cribl_control_plane/models/inputexec.py +29 -1
- cribl_control_plane/models/inputfile.py +40 -7
- cribl_control_plane/models/inputfirehose.py +58 -17
- cribl_control_plane/models/inputgooglepubsub.py +29 -1
- cribl_control_plane/models/inputgrafana.py +149 -32
- cribl_control_plane/models/inputhttp.py +58 -17
- cribl_control_plane/models/inputhttpraw.py +58 -17
- cribl_control_plane/models/inputjournalfiles.py +20 -1
- cribl_control_plane/models/inputkafka.py +182 -1
- cribl_control_plane/models/inputkinesis.py +65 -1
- cribl_control_plane/models/inputkubeevents.py +20 -1
- cribl_control_plane/models/inputkubelogs.py +29 -1
- cribl_control_plane/models/inputkubemetrics.py +29 -1
- cribl_control_plane/models/inputloki.py +67 -17
- cribl_control_plane/models/inputmetrics.py +58 -17
- cribl_control_plane/models/inputmodeldriventelemetry.py +58 -17
- cribl_control_plane/models/inputmsk.py +74 -1
- cribl_control_plane/models/inputnetflow.py +20 -1
- cribl_control_plane/models/inputoffice365mgmt.py +56 -1
- cribl_control_plane/models/inputoffice365msgtrace.py +56 -1
- cribl_control_plane/models/inputoffice365service.py +56 -1
- cribl_control_plane/models/inputopentelemetry.py +84 -16
- cribl_control_plane/models/inputprometheus.py +131 -37
- cribl_control_plane/models/inputprometheusrw.py +67 -17
- cribl_control_plane/models/inputrawudp.py +20 -1
- cribl_control_plane/models/inputs3.py +38 -1
- cribl_control_plane/models/inputs3inventory.py +47 -1
- cribl_control_plane/models/inputsecuritylake.py +47 -1
- cribl_control_plane/models/inputsnmp.py +29 -1
- cribl_control_plane/models/inputsplunk.py +76 -17
- cribl_control_plane/models/inputsplunkhec.py +66 -16
- cribl_control_plane/models/inputsplunksearch.py +56 -1
- cribl_control_plane/models/inputsqs.py +47 -1
- cribl_control_plane/models/inputsyslog.py +113 -32
- cribl_control_plane/models/inputsystemmetrics.py +110 -9
- cribl_control_plane/models/inputsystemstate.py +29 -1
- cribl_control_plane/models/inputtcp.py +77 -17
- cribl_control_plane/models/inputtcpjson.py +67 -17
- cribl_control_plane/models/inputwef.py +65 -1
- cribl_control_plane/models/inputwindowsmetrics.py +101 -9
- cribl_control_plane/models/inputwineventlogs.py +52 -1
- cribl_control_plane/models/inputwiz.py +38 -1
- cribl_control_plane/models/inputwizwebhook.py +58 -17
- cribl_control_plane/models/inputzscalerhec.py +66 -16
- cribl_control_plane/models/jobinfo.py +10 -4
- cribl_control_plane/models/jobstatus.py +34 -3
- cribl_control_plane/models/lakedatasetmetrics.py +17 -0
- cribl_control_plane/models/listconfiggroupbyproductop.py +11 -0
- cribl_control_plane/models/masterworkerentry.py +11 -1
- cribl_control_plane/models/nodeupgradestatus.py +38 -0
- cribl_control_plane/models/output.py +21 -21
- cribl_control_plane/models/outputazureblob.py +90 -1
- cribl_control_plane/models/outputazuredataexplorer.py +430 -93
- cribl_control_plane/models/outputazureeventhub.py +267 -22
- cribl_control_plane/models/outputazurelogs.py +105 -22
- cribl_control_plane/models/outputchronicle.py +105 -22
- cribl_control_plane/models/outputclickhouse.py +141 -22
- cribl_control_plane/models/outputcloudwatch.py +96 -22
- cribl_control_plane/models/outputconfluentcloud.py +292 -23
- cribl_control_plane/models/outputcriblhttp.py +123 -22
- cribl_control_plane/models/outputcribllake.py +76 -1
- cribl_control_plane/models/outputcribltcp.py +123 -22
- cribl_control_plane/models/outputcrowdstrikenextgensiem.py +117 -23
- cribl_control_plane/models/outputdatabricks.py +76 -5
- cribl_control_plane/models/outputdatadog.py +132 -22
- cribl_control_plane/models/outputdataset.py +123 -22
- cribl_control_plane/models/outputdiskspool.py +11 -1
- cribl_control_plane/models/outputdls3.py +117 -1
- cribl_control_plane/models/outputdynatracehttp.py +141 -22
- cribl_control_plane/models/outputdynatraceotlp.py +141 -22
- cribl_control_plane/models/outputelastic.py +148 -22
- cribl_control_plane/models/outputelasticcloud.py +130 -22
- cribl_control_plane/models/outputexabeam.py +47 -1
- cribl_control_plane/models/outputfilesystem.py +72 -1
- cribl_control_plane/models/outputgooglechronicle.py +148 -23
- cribl_control_plane/models/outputgooglecloudlogging.py +115 -23
- cribl_control_plane/models/outputgooglecloudstorage.py +108 -1
- cribl_control_plane/models/outputgooglepubsub.py +96 -22
- cribl_control_plane/models/outputgrafanacloud.py +244 -43
- cribl_control_plane/models/outputgraphite.py +96 -22
- cribl_control_plane/models/outputhoneycomb.py +105 -22
- cribl_control_plane/models/outputhumiohec.py +114 -22
- cribl_control_plane/models/outputinfluxdb.py +114 -22
- cribl_control_plane/models/outputkafka.py +283 -20
- cribl_control_plane/models/outputkinesis.py +121 -22
- cribl_control_plane/models/outputloki.py +112 -20
- cribl_control_plane/models/outputminio.py +117 -1
- cribl_control_plane/models/outputmsk.py +175 -20
- cribl_control_plane/models/outputnewrelic.py +123 -22
- cribl_control_plane/models/outputnewrelicevents.py +115 -23
- cribl_control_plane/models/outputopentelemetry.py +159 -22
- cribl_control_plane/models/outputprometheus.py +105 -22
- cribl_control_plane/models/outputring.py +29 -1
- cribl_control_plane/models/outputs3.py +117 -1
- cribl_control_plane/models/outputsecuritylake.py +85 -1
- cribl_control_plane/models/outputsentinel.py +123 -22
- cribl_control_plane/models/outputsentineloneaisiem.py +124 -23
- cribl_control_plane/models/outputservicenow.py +150 -22
- cribl_control_plane/models/outputsignalfx.py +105 -22
- cribl_control_plane/models/outputsns.py +103 -20
- cribl_control_plane/models/outputsplunk.py +141 -22
- cribl_control_plane/models/outputsplunkhec.py +198 -22
- cribl_control_plane/models/outputsplunklb.py +170 -22
- cribl_control_plane/models/outputsqs.py +112 -20
- cribl_control_plane/models/outputstatsd.py +96 -22
- cribl_control_plane/models/outputstatsdext.py +96 -22
- cribl_control_plane/models/outputsumologic.py +105 -22
- cribl_control_plane/models/outputsyslog.py +238 -99
- cribl_control_plane/models/outputtcpjson.py +132 -22
- cribl_control_plane/models/outputwavefront.py +105 -22
- cribl_control_plane/models/outputwebhook.py +141 -22
- cribl_control_plane/models/outputxsiam.py +103 -20
- cribl_control_plane/models/resourcepolicy.py +11 -0
- cribl_control_plane/models/runnablejobcollection.py +68 -9
- cribl_control_plane/models/runnablejobexecutor.py +32 -9
- cribl_control_plane/models/runnablejobscheduledsearch.py +23 -9
- cribl_control_plane/models/updateconfiggroupbyproductandidop.py +11 -0
- cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +11 -0
- cribl_control_plane/sdk.py +2 -2
- {cribl_control_plane-0.3.0b3.dist-info → cribl_control_plane-0.3.0b12.dist-info}/METADATA +25 -7
- {cribl_control_plane-0.3.0b3.dist-info → cribl_control_plane-0.3.0b12.dist-info}/RECORD +158 -157
- {cribl_control_plane-0.3.0b3.dist-info → cribl_control_plane-0.3.0b12.dist-info}/WHEEL +0 -0
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
-
from cribl_control_plane import utils
|
|
4
|
+
from cribl_control_plane import models, utils
|
|
5
5
|
from cribl_control_plane.types import BaseModel
|
|
6
6
|
from cribl_control_plane.utils import validate_open_enum
|
|
7
7
|
from enum import Enum
|
|
8
8
|
import pydantic
|
|
9
|
+
from pydantic import field_serializer
|
|
9
10
|
from pydantic.functional_validators import PlainValidator
|
|
10
11
|
from typing import List, Optional
|
|
11
12
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
@@ -111,6 +112,17 @@ class OutputSumoLogicBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMet
|
|
|
111
112
|
QUEUE = "queue"
|
|
112
113
|
|
|
113
114
|
|
|
115
|
+
class OutputSumoLogicMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
116
|
+
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."""
|
|
117
|
+
|
|
118
|
+
# Error
|
|
119
|
+
ERROR = "error"
|
|
120
|
+
# Backpressure
|
|
121
|
+
ALWAYS = "always"
|
|
122
|
+
# Always On
|
|
123
|
+
BACKPRESSURE = "backpressure"
|
|
124
|
+
|
|
125
|
+
|
|
114
126
|
class OutputSumoLogicCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
115
127
|
r"""Codec to use to compress the persisted data"""
|
|
116
128
|
|
|
@@ -129,17 +141,6 @@ class OutputSumoLogicQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
129
141
|
DROP = "drop"
|
|
130
142
|
|
|
131
143
|
|
|
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
144
|
class OutputSumoLogicPqControlsTypedDict(TypedDict):
|
|
144
145
|
pass
|
|
145
146
|
|
|
@@ -205,6 +206,16 @@ class OutputSumoLogicTypedDict(TypedDict):
|
|
|
205
206
|
total_memory_limit_kb: NotRequired[float]
|
|
206
207
|
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
208
|
description: NotRequired[str]
|
|
209
|
+
pq_strict_ordering: NotRequired[bool]
|
|
210
|
+
r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
|
|
211
|
+
pq_rate_per_sec: NotRequired[float]
|
|
212
|
+
r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
|
|
213
|
+
pq_mode: NotRequired[OutputSumoLogicMode]
|
|
214
|
+
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."""
|
|
215
|
+
pq_max_buffer_size: NotRequired[float]
|
|
216
|
+
r"""The maximum number of events to hold in memory before writing the events to disk"""
|
|
217
|
+
pq_max_backpressure_sec: NotRequired[float]
|
|
218
|
+
r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
|
|
208
219
|
pq_max_file_size: NotRequired[str]
|
|
209
220
|
r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
|
|
210
221
|
pq_max_size: NotRequired[str]
|
|
@@ -215,8 +226,6 @@ class OutputSumoLogicTypedDict(TypedDict):
|
|
|
215
226
|
r"""Codec to use to compress the persisted data"""
|
|
216
227
|
pq_on_backpressure: NotRequired[OutputSumoLogicQueueFullBehavior]
|
|
217
228
|
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
229
|
pq_controls: NotRequired[OutputSumoLogicPqControlsTypedDict]
|
|
221
230
|
|
|
222
231
|
|
|
@@ -349,6 +358,34 @@ class OutputSumoLogic(BaseModel):
|
|
|
349
358
|
|
|
350
359
|
description: Optional[str] = None
|
|
351
360
|
|
|
361
|
+
pq_strict_ordering: Annotated[
|
|
362
|
+
Optional[bool], pydantic.Field(alias="pqStrictOrdering")
|
|
363
|
+
] = True
|
|
364
|
+
r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
|
|
365
|
+
|
|
366
|
+
pq_rate_per_sec: Annotated[
|
|
367
|
+
Optional[float], pydantic.Field(alias="pqRatePerSec")
|
|
368
|
+
] = 0
|
|
369
|
+
r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
|
|
370
|
+
|
|
371
|
+
pq_mode: Annotated[
|
|
372
|
+
Annotated[
|
|
373
|
+
Optional[OutputSumoLogicMode], PlainValidator(validate_open_enum(False))
|
|
374
|
+
],
|
|
375
|
+
pydantic.Field(alias="pqMode"),
|
|
376
|
+
] = OutputSumoLogicMode.ERROR
|
|
377
|
+
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."""
|
|
378
|
+
|
|
379
|
+
pq_max_buffer_size: Annotated[
|
|
380
|
+
Optional[float], pydantic.Field(alias="pqMaxBufferSize")
|
|
381
|
+
] = 42
|
|
382
|
+
r"""The maximum number of events to hold in memory before writing the events to disk"""
|
|
383
|
+
|
|
384
|
+
pq_max_backpressure_sec: Annotated[
|
|
385
|
+
Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
|
|
386
|
+
] = 30
|
|
387
|
+
r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
|
|
388
|
+
|
|
352
389
|
pq_max_file_size: Annotated[
|
|
353
390
|
Optional[str], pydantic.Field(alias="pqMaxFileSize")
|
|
354
391
|
] = "1 MB"
|
|
@@ -380,14 +417,60 @@ class OutputSumoLogic(BaseModel):
|
|
|
380
417
|
] = OutputSumoLogicQueueFullBehavior.BLOCK
|
|
381
418
|
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
419
|
|
|
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
420
|
pq_controls: Annotated[
|
|
392
421
|
Optional[OutputSumoLogicPqControls], pydantic.Field(alias="pqControls")
|
|
393
422
|
] = None
|
|
423
|
+
|
|
424
|
+
@field_serializer("format_")
|
|
425
|
+
def serialize_format_(self, value):
|
|
426
|
+
if isinstance(value, str):
|
|
427
|
+
try:
|
|
428
|
+
return models.OutputSumoLogicDataFormat(value)
|
|
429
|
+
except ValueError:
|
|
430
|
+
return value
|
|
431
|
+
return value
|
|
432
|
+
|
|
433
|
+
@field_serializer("failed_request_logging_mode")
|
|
434
|
+
def serialize_failed_request_logging_mode(self, value):
|
|
435
|
+
if isinstance(value, str):
|
|
436
|
+
try:
|
|
437
|
+
return models.OutputSumoLogicFailedRequestLoggingMode(value)
|
|
438
|
+
except ValueError:
|
|
439
|
+
return value
|
|
440
|
+
return value
|
|
441
|
+
|
|
442
|
+
@field_serializer("on_backpressure")
|
|
443
|
+
def serialize_on_backpressure(self, value):
|
|
444
|
+
if isinstance(value, str):
|
|
445
|
+
try:
|
|
446
|
+
return models.OutputSumoLogicBackpressureBehavior(value)
|
|
447
|
+
except ValueError:
|
|
448
|
+
return value
|
|
449
|
+
return value
|
|
450
|
+
|
|
451
|
+
@field_serializer("pq_mode")
|
|
452
|
+
def serialize_pq_mode(self, value):
|
|
453
|
+
if isinstance(value, str):
|
|
454
|
+
try:
|
|
455
|
+
return models.OutputSumoLogicMode(value)
|
|
456
|
+
except ValueError:
|
|
457
|
+
return value
|
|
458
|
+
return value
|
|
459
|
+
|
|
460
|
+
@field_serializer("pq_compress")
|
|
461
|
+
def serialize_pq_compress(self, value):
|
|
462
|
+
if isinstance(value, str):
|
|
463
|
+
try:
|
|
464
|
+
return models.OutputSumoLogicCompression(value)
|
|
465
|
+
except ValueError:
|
|
466
|
+
return value
|
|
467
|
+
return value
|
|
468
|
+
|
|
469
|
+
@field_serializer("pq_on_backpressure")
|
|
470
|
+
def serialize_pq_on_backpressure(self, value):
|
|
471
|
+
if isinstance(value, str):
|
|
472
|
+
try:
|
|
473
|
+
return models.OutputSumoLogicQueueFullBehavior(value)
|
|
474
|
+
except ValueError:
|
|
475
|
+
return value
|
|
476
|
+
return value
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
-
from cribl_control_plane import utils
|
|
4
|
+
from cribl_control_plane import models, utils
|
|
5
5
|
from cribl_control_plane.types import BaseModel
|
|
6
6
|
from cribl_control_plane.utils import validate_open_enum
|
|
7
7
|
from enum import Enum
|
|
8
8
|
import pydantic
|
|
9
|
+
from pydantic import field_serializer
|
|
9
10
|
from pydantic.functional_validators import PlainValidator
|
|
10
11
|
from typing import List, Optional
|
|
11
12
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
@@ -90,6 +91,54 @@ class TimestampFormat(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
90
91
|
ISO8601 = "iso8601"
|
|
91
92
|
|
|
92
93
|
|
|
94
|
+
class OutputSyslogTLS(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
95
|
+
r"""Whether to inherit TLS configs from group setting or disable TLS"""
|
|
96
|
+
|
|
97
|
+
INHERIT = "inherit"
|
|
98
|
+
OFF = "off"
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
class OutputSyslogHostTypedDict(TypedDict):
|
|
102
|
+
host: str
|
|
103
|
+
r"""The hostname of the receiver"""
|
|
104
|
+
port: float
|
|
105
|
+
r"""The port to connect to on the provided host"""
|
|
106
|
+
tls: NotRequired[OutputSyslogTLS]
|
|
107
|
+
r"""Whether to inherit TLS configs from group setting or disable TLS"""
|
|
108
|
+
servername: NotRequired[str]
|
|
109
|
+
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."""
|
|
110
|
+
weight: NotRequired[float]
|
|
111
|
+
r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability"""
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
class OutputSyslogHost(BaseModel):
|
|
115
|
+
host: str
|
|
116
|
+
r"""The hostname of the receiver"""
|
|
117
|
+
|
|
118
|
+
port: float
|
|
119
|
+
r"""The port to connect to on the provided host"""
|
|
120
|
+
|
|
121
|
+
tls: Annotated[
|
|
122
|
+
Optional[OutputSyslogTLS], PlainValidator(validate_open_enum(False))
|
|
123
|
+
] = OutputSyslogTLS.INHERIT
|
|
124
|
+
r"""Whether to inherit TLS configs from group setting or disable TLS"""
|
|
125
|
+
|
|
126
|
+
servername: Optional[str] = None
|
|
127
|
+
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."""
|
|
128
|
+
|
|
129
|
+
weight: Optional[float] = 1
|
|
130
|
+
r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability"""
|
|
131
|
+
|
|
132
|
+
@field_serializer("tls")
|
|
133
|
+
def serialize_tls(self, value):
|
|
134
|
+
if isinstance(value, str):
|
|
135
|
+
try:
|
|
136
|
+
return models.OutputSyslogTLS(value)
|
|
137
|
+
except ValueError:
|
|
138
|
+
return value
|
|
139
|
+
return value
|
|
140
|
+
|
|
141
|
+
|
|
93
142
|
class OutputSyslogMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
94
143
|
TL_SV1 = "TLSv1"
|
|
95
144
|
TL_SV1_1 = "TLSv1.1"
|
|
@@ -172,6 +221,24 @@ class OutputSyslogTLSSettingsClientSide(BaseModel):
|
|
|
172
221
|
pydantic.Field(alias="maxVersion"),
|
|
173
222
|
] = None
|
|
174
223
|
|
|
224
|
+
@field_serializer("min_version")
|
|
225
|
+
def serialize_min_version(self, value):
|
|
226
|
+
if isinstance(value, str):
|
|
227
|
+
try:
|
|
228
|
+
return models.OutputSyslogMinimumTLSVersion(value)
|
|
229
|
+
except ValueError:
|
|
230
|
+
return value
|
|
231
|
+
return value
|
|
232
|
+
|
|
233
|
+
@field_serializer("max_version")
|
|
234
|
+
def serialize_max_version(self, value):
|
|
235
|
+
if isinstance(value, str):
|
|
236
|
+
try:
|
|
237
|
+
return models.OutputSyslogMaximumTLSVersion(value)
|
|
238
|
+
except ValueError:
|
|
239
|
+
return value
|
|
240
|
+
return value
|
|
241
|
+
|
|
175
242
|
|
|
176
243
|
class OutputSyslogBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
177
244
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
@@ -184,6 +251,17 @@ class OutputSyslogBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
184
251
|
QUEUE = "queue"
|
|
185
252
|
|
|
186
253
|
|
|
254
|
+
class OutputSyslogMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
255
|
+
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."""
|
|
256
|
+
|
|
257
|
+
# Error
|
|
258
|
+
ERROR = "error"
|
|
259
|
+
# Backpressure
|
|
260
|
+
ALWAYS = "always"
|
|
261
|
+
# Always On
|
|
262
|
+
BACKPRESSURE = "backpressure"
|
|
263
|
+
|
|
264
|
+
|
|
187
265
|
class OutputSyslogCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
188
266
|
r"""Codec to use to compress the persisted data"""
|
|
189
267
|
|
|
@@ -202,17 +280,6 @@ class OutputSyslogQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
202
280
|
DROP = "drop"
|
|
203
281
|
|
|
204
282
|
|
|
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
283
|
class OutputSyslogPqControlsTypedDict(TypedDict):
|
|
217
284
|
pass
|
|
218
285
|
|
|
@@ -221,43 +288,6 @@ class OutputSyslogPqControls(BaseModel):
|
|
|
221
288
|
pass
|
|
222
289
|
|
|
223
290
|
|
|
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
291
|
class OutputSyslogTypedDict(TypedDict):
|
|
262
292
|
type: OutputSyslogType
|
|
263
293
|
id: NotRequired[str]
|
|
@@ -291,6 +321,20 @@ class OutputSyslogTypedDict(TypedDict):
|
|
|
291
321
|
description: NotRequired[str]
|
|
292
322
|
load_balanced: NotRequired[bool]
|
|
293
323
|
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."""
|
|
324
|
+
host: NotRequired[str]
|
|
325
|
+
r"""The hostname of the receiver"""
|
|
326
|
+
port: NotRequired[float]
|
|
327
|
+
r"""The port to connect to on the provided host"""
|
|
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
|
+
dns_resolve_period_sec: NotRequired[float]
|
|
333
|
+
r"""The interval in which to re-resolve any hostnames and pick up destinations from A records"""
|
|
334
|
+
load_balance_stats_period_sec: NotRequired[float]
|
|
335
|
+
r"""How far back in time to keep traffic stats for load balancing purposes"""
|
|
336
|
+
max_concurrent_senders: NotRequired[float]
|
|
337
|
+
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
338
|
connection_timeout: NotRequired[float]
|
|
295
339
|
r"""Amount of time (milliseconds) to wait for the connection to establish before retrying"""
|
|
296
340
|
write_timeout: NotRequired[float]
|
|
@@ -298,14 +342,20 @@ class OutputSyslogTypedDict(TypedDict):
|
|
|
298
342
|
tls: NotRequired[OutputSyslogTLSSettingsClientSideTypedDict]
|
|
299
343
|
on_backpressure: NotRequired[OutputSyslogBackpressureBehavior]
|
|
300
344
|
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
345
|
max_record_size: NotRequired[float]
|
|
306
346
|
r"""Maximum size of syslog messages. Make sure this value is less than or equal to the MTU to avoid UDP packet fragmentation."""
|
|
307
347
|
udp_dns_resolve_period_sec: NotRequired[float]
|
|
308
348
|
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."""
|
|
349
|
+
pq_strict_ordering: NotRequired[bool]
|
|
350
|
+
r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
|
|
351
|
+
pq_rate_per_sec: NotRequired[float]
|
|
352
|
+
r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
|
|
353
|
+
pq_mode: NotRequired[OutputSyslogMode]
|
|
354
|
+
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."""
|
|
355
|
+
pq_max_buffer_size: NotRequired[float]
|
|
356
|
+
r"""The maximum number of events to hold in memory before writing the events to disk"""
|
|
357
|
+
pq_max_backpressure_sec: NotRequired[float]
|
|
358
|
+
r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
|
|
309
359
|
pq_max_file_size: NotRequired[str]
|
|
310
360
|
r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
|
|
311
361
|
pq_max_size: NotRequired[str]
|
|
@@ -316,19 +366,7 @@ class OutputSyslogTypedDict(TypedDict):
|
|
|
316
366
|
r"""Codec to use to compress the persisted data"""
|
|
317
367
|
pq_on_backpressure: NotRequired[OutputSyslogQueueFullBehavior]
|
|
318
368
|
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
369
|
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
370
|
|
|
333
371
|
|
|
334
372
|
class OutputSyslog(BaseModel):
|
|
@@ -406,6 +444,33 @@ class OutputSyslog(BaseModel):
|
|
|
406
444
|
)
|
|
407
445
|
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
446
|
|
|
447
|
+
host: Optional[str] = None
|
|
448
|
+
r"""The hostname of the receiver"""
|
|
449
|
+
|
|
450
|
+
port: Optional[float] = None
|
|
451
|
+
r"""The port to connect to on the provided host"""
|
|
452
|
+
|
|
453
|
+
exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = False
|
|
454
|
+
r"""Exclude all IPs of the current host from the list of any resolved hostnames"""
|
|
455
|
+
|
|
456
|
+
hosts: Optional[List[OutputSyslogHost]] = None
|
|
457
|
+
r"""Set of hosts to load-balance data to"""
|
|
458
|
+
|
|
459
|
+
dns_resolve_period_sec: Annotated[
|
|
460
|
+
Optional[float], pydantic.Field(alias="dnsResolvePeriodSec")
|
|
461
|
+
] = 600
|
|
462
|
+
r"""The interval in which to re-resolve any hostnames and pick up destinations from A records"""
|
|
463
|
+
|
|
464
|
+
load_balance_stats_period_sec: Annotated[
|
|
465
|
+
Optional[float], pydantic.Field(alias="loadBalanceStatsPeriodSec")
|
|
466
|
+
] = 300
|
|
467
|
+
r"""How far back in time to keep traffic stats for load balancing purposes"""
|
|
468
|
+
|
|
469
|
+
max_concurrent_senders: Annotated[
|
|
470
|
+
Optional[float], pydantic.Field(alias="maxConcurrentSenders")
|
|
471
|
+
] = 0
|
|
472
|
+
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."""
|
|
473
|
+
|
|
409
474
|
connection_timeout: Annotated[
|
|
410
475
|
Optional[float], pydantic.Field(alias="connectionTimeout")
|
|
411
476
|
] = 10000
|
|
@@ -427,12 +492,6 @@ class OutputSyslog(BaseModel):
|
|
|
427
492
|
] = OutputSyslogBackpressureBehavior.BLOCK
|
|
428
493
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
429
494
|
|
|
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
495
|
max_record_size: Annotated[
|
|
437
496
|
Optional[float], pydantic.Field(alias="maxRecordSize")
|
|
438
497
|
] = 1500
|
|
@@ -443,6 +502,34 @@ class OutputSyslog(BaseModel):
|
|
|
443
502
|
] = 0
|
|
444
503
|
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
504
|
|
|
505
|
+
pq_strict_ordering: Annotated[
|
|
506
|
+
Optional[bool], pydantic.Field(alias="pqStrictOrdering")
|
|
507
|
+
] = True
|
|
508
|
+
r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
|
|
509
|
+
|
|
510
|
+
pq_rate_per_sec: Annotated[
|
|
511
|
+
Optional[float], pydantic.Field(alias="pqRatePerSec")
|
|
512
|
+
] = 0
|
|
513
|
+
r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
|
|
514
|
+
|
|
515
|
+
pq_mode: Annotated[
|
|
516
|
+
Annotated[
|
|
517
|
+
Optional[OutputSyslogMode], PlainValidator(validate_open_enum(False))
|
|
518
|
+
],
|
|
519
|
+
pydantic.Field(alias="pqMode"),
|
|
520
|
+
] = OutputSyslogMode.ERROR
|
|
521
|
+
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."""
|
|
522
|
+
|
|
523
|
+
pq_max_buffer_size: Annotated[
|
|
524
|
+
Optional[float], pydantic.Field(alias="pqMaxBufferSize")
|
|
525
|
+
] = 42
|
|
526
|
+
r"""The maximum number of events to hold in memory before writing the events to disk"""
|
|
527
|
+
|
|
528
|
+
pq_max_backpressure_sec: Annotated[
|
|
529
|
+
Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
|
|
530
|
+
] = 30
|
|
531
|
+
r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
|
|
532
|
+
|
|
446
533
|
pq_max_file_size: Annotated[
|
|
447
534
|
Optional[str], pydantic.Field(alias="pqMaxFileSize")
|
|
448
535
|
] = "1 MB"
|
|
@@ -473,35 +560,87 @@ class OutputSyslog(BaseModel):
|
|
|
473
560
|
] = OutputSyslogQueueFullBehavior.BLOCK
|
|
474
561
|
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
562
|
|
|
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
563
|
pq_controls: Annotated[
|
|
485
564
|
Optional[OutputSyslogPqControls], pydantic.Field(alias="pqControls")
|
|
486
565
|
] = None
|
|
487
566
|
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
567
|
+
@field_serializer("protocol")
|
|
568
|
+
def serialize_protocol(self, value):
|
|
569
|
+
if isinstance(value, str):
|
|
570
|
+
try:
|
|
571
|
+
return models.OutputSyslogProtocol(value)
|
|
572
|
+
except ValueError:
|
|
573
|
+
return value
|
|
574
|
+
return value
|
|
575
|
+
|
|
576
|
+
@field_serializer("facility")
|
|
577
|
+
def serialize_facility(self, value):
|
|
578
|
+
if isinstance(value, str):
|
|
579
|
+
try:
|
|
580
|
+
return models.Facility(value)
|
|
581
|
+
except ValueError:
|
|
582
|
+
return value
|
|
583
|
+
return value
|
|
584
|
+
|
|
585
|
+
@field_serializer("severity")
|
|
586
|
+
def serialize_severity(self, value):
|
|
587
|
+
if isinstance(value, str):
|
|
588
|
+
try:
|
|
589
|
+
return models.OutputSyslogSeverity(value)
|
|
590
|
+
except ValueError:
|
|
591
|
+
return value
|
|
592
|
+
return value
|
|
593
|
+
|
|
594
|
+
@field_serializer("message_format")
|
|
595
|
+
def serialize_message_format(self, value):
|
|
596
|
+
if isinstance(value, str):
|
|
597
|
+
try:
|
|
598
|
+
return models.OutputSyslogMessageFormat(value)
|
|
599
|
+
except ValueError:
|
|
600
|
+
return value
|
|
601
|
+
return value
|
|
602
|
+
|
|
603
|
+
@field_serializer("timestamp_format")
|
|
604
|
+
def serialize_timestamp_format(self, value):
|
|
605
|
+
if isinstance(value, str):
|
|
606
|
+
try:
|
|
607
|
+
return models.TimestampFormat(value)
|
|
608
|
+
except ValueError:
|
|
609
|
+
return value
|
|
610
|
+
return value
|
|
611
|
+
|
|
612
|
+
@field_serializer("on_backpressure")
|
|
613
|
+
def serialize_on_backpressure(self, value):
|
|
614
|
+
if isinstance(value, str):
|
|
615
|
+
try:
|
|
616
|
+
return models.OutputSyslogBackpressureBehavior(value)
|
|
617
|
+
except ValueError:
|
|
618
|
+
return value
|
|
619
|
+
return value
|
|
620
|
+
|
|
621
|
+
@field_serializer("pq_mode")
|
|
622
|
+
def serialize_pq_mode(self, value):
|
|
623
|
+
if isinstance(value, str):
|
|
624
|
+
try:
|
|
625
|
+
return models.OutputSyslogMode(value)
|
|
626
|
+
except ValueError:
|
|
627
|
+
return value
|
|
628
|
+
return value
|
|
629
|
+
|
|
630
|
+
@field_serializer("pq_compress")
|
|
631
|
+
def serialize_pq_compress(self, value):
|
|
632
|
+
if isinstance(value, str):
|
|
633
|
+
try:
|
|
634
|
+
return models.OutputSyslogCompression(value)
|
|
635
|
+
except ValueError:
|
|
636
|
+
return value
|
|
637
|
+
return value
|
|
638
|
+
|
|
639
|
+
@field_serializer("pq_on_backpressure")
|
|
640
|
+
def serialize_pq_on_backpressure(self, value):
|
|
641
|
+
if isinstance(value, str):
|
|
642
|
+
try:
|
|
643
|
+
return models.OutputSyslogQueueFullBehavior(value)
|
|
644
|
+
except ValueError:
|
|
645
|
+
return value
|
|
646
|
+
return value
|