cribl-control-plane 0.3.0b3__py3-none-any.whl → 0.3.0b5__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/models/__init__.py +111 -3
- 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 +11 -0
- cribl_control_plane/models/cribllakedataset.py +11 -1
- cribl_control_plane/models/cribllakedatasetupdate.py +11 -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 +36 -3
- 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/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 +290 -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 +72 -1
- 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 +281 -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 +173 -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-0.3.0b3.dist-info → cribl_control_plane-0.3.0b5.dist-info}/METADATA +1 -1
- {cribl_control_plane-0.3.0b3.dist-info → cribl_control_plane-0.3.0b5.dist-info}/RECORD +152 -152
- {cribl_control_plane-0.3.0b3.dist-info → cribl_control_plane-0.3.0b5.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
|
|
@@ -107,6 +108,24 @@ class InputSystemMetricsPq(BaseModel):
|
|
|
107
108
|
Optional[InputSystemMetricsPqControls], pydantic.Field(alias="pqControls")
|
|
108
109
|
] = None
|
|
109
110
|
|
|
111
|
+
@field_serializer("mode")
|
|
112
|
+
def serialize_mode(self, value):
|
|
113
|
+
if isinstance(value, str):
|
|
114
|
+
try:
|
|
115
|
+
return models.InputSystemMetricsPqMode(value)
|
|
116
|
+
except ValueError:
|
|
117
|
+
return value
|
|
118
|
+
return value
|
|
119
|
+
|
|
120
|
+
@field_serializer("compress")
|
|
121
|
+
def serialize_compress(self, value):
|
|
122
|
+
if isinstance(value, str):
|
|
123
|
+
try:
|
|
124
|
+
return models.InputSystemMetricsCompression(value)
|
|
125
|
+
except ValueError:
|
|
126
|
+
return value
|
|
127
|
+
return value
|
|
128
|
+
|
|
110
129
|
|
|
111
130
|
class InputSystemMetricsHostMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
112
131
|
r"""Select level of detail for host metrics"""
|
|
@@ -151,6 +170,15 @@ class InputSystemMetricsSystem(BaseModel):
|
|
|
151
170
|
processes: Optional[bool] = False
|
|
152
171
|
r"""Generate metrics for the numbers of processes in various states"""
|
|
153
172
|
|
|
173
|
+
@field_serializer("mode")
|
|
174
|
+
def serialize_mode(self, value):
|
|
175
|
+
if isinstance(value, str):
|
|
176
|
+
try:
|
|
177
|
+
return models.InputSystemMetricsSystemMode(value)
|
|
178
|
+
except ValueError:
|
|
179
|
+
return value
|
|
180
|
+
return value
|
|
181
|
+
|
|
154
182
|
|
|
155
183
|
class InputSystemMetricsCPUMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
156
184
|
r"""Select the level of detail for CPU metrics"""
|
|
@@ -191,6 +219,15 @@ class InputSystemMetricsCPU(BaseModel):
|
|
|
191
219
|
time: Optional[bool] = False
|
|
192
220
|
r"""Generate raw, monotonic CPU time counters"""
|
|
193
221
|
|
|
222
|
+
@field_serializer("mode")
|
|
223
|
+
def serialize_mode(self, value):
|
|
224
|
+
if isinstance(value, str):
|
|
225
|
+
try:
|
|
226
|
+
return models.InputSystemMetricsCPUMode(value)
|
|
227
|
+
except ValueError:
|
|
228
|
+
return value
|
|
229
|
+
return value
|
|
230
|
+
|
|
194
231
|
|
|
195
232
|
class InputSystemMetricsMemoryMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
196
233
|
r"""Select the level of detail for memory metrics"""
|
|
@@ -222,6 +259,15 @@ class InputSystemMetricsMemory(BaseModel):
|
|
|
222
259
|
detail: Optional[bool] = False
|
|
223
260
|
r"""Generate metrics for all memory states"""
|
|
224
261
|
|
|
262
|
+
@field_serializer("mode")
|
|
263
|
+
def serialize_mode(self, value):
|
|
264
|
+
if isinstance(value, str):
|
|
265
|
+
try:
|
|
266
|
+
return models.InputSystemMetricsMemoryMode(value)
|
|
267
|
+
except ValueError:
|
|
268
|
+
return value
|
|
269
|
+
return value
|
|
270
|
+
|
|
225
271
|
|
|
226
272
|
class InputSystemMetricsNetworkMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
227
273
|
r"""Select the level of detail for network metrics"""
|
|
@@ -239,12 +285,14 @@ class InputSystemMetricsNetworkMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
239
285
|
class InputSystemMetricsNetworkTypedDict(TypedDict):
|
|
240
286
|
mode: NotRequired[InputSystemMetricsNetworkMode]
|
|
241
287
|
r"""Select the level of detail for network metrics"""
|
|
288
|
+
detail: NotRequired[bool]
|
|
289
|
+
r"""Generate full network metrics"""
|
|
290
|
+
protocols: NotRequired[bool]
|
|
291
|
+
r"""Generate protocol metrics for ICMP, ICMPMsg, IP, TCP, UDP and UDPLite"""
|
|
242
292
|
devices: NotRequired[List[str]]
|
|
243
293
|
r"""Network interfaces to include/exclude. Examples: eth0, !lo. All interfaces are included if this list is empty."""
|
|
244
294
|
per_interface: NotRequired[bool]
|
|
245
295
|
r"""Generate separate metrics for each interface"""
|
|
246
|
-
detail: NotRequired[bool]
|
|
247
|
-
r"""Generate full network metrics"""
|
|
248
296
|
|
|
249
297
|
|
|
250
298
|
class InputSystemMetricsNetwork(BaseModel):
|
|
@@ -254,6 +302,12 @@ class InputSystemMetricsNetwork(BaseModel):
|
|
|
254
302
|
] = InputSystemMetricsNetworkMode.BASIC
|
|
255
303
|
r"""Select the level of detail for network metrics"""
|
|
256
304
|
|
|
305
|
+
detail: Optional[bool] = False
|
|
306
|
+
r"""Generate full network metrics"""
|
|
307
|
+
|
|
308
|
+
protocols: Optional[bool] = False
|
|
309
|
+
r"""Generate protocol metrics for ICMP, ICMPMsg, IP, TCP, UDP and UDPLite"""
|
|
310
|
+
|
|
257
311
|
devices: Optional[List[str]] = None
|
|
258
312
|
r"""Network interfaces to include/exclude. Examples: eth0, !lo. All interfaces are included if this list is empty."""
|
|
259
313
|
|
|
@@ -262,8 +316,14 @@ class InputSystemMetricsNetwork(BaseModel):
|
|
|
262
316
|
)
|
|
263
317
|
r"""Generate separate metrics for each interface"""
|
|
264
318
|
|
|
265
|
-
|
|
266
|
-
|
|
319
|
+
@field_serializer("mode")
|
|
320
|
+
def serialize_mode(self, value):
|
|
321
|
+
if isinstance(value, str):
|
|
322
|
+
try:
|
|
323
|
+
return models.InputSystemMetricsNetworkMode(value)
|
|
324
|
+
except ValueError:
|
|
325
|
+
return value
|
|
326
|
+
return value
|
|
267
327
|
|
|
268
328
|
|
|
269
329
|
class InputSystemMetricsDiskMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
@@ -282,6 +342,10 @@ class InputSystemMetricsDiskMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
282
342
|
class InputSystemMetricsDiskTypedDict(TypedDict):
|
|
283
343
|
mode: NotRequired[InputSystemMetricsDiskMode]
|
|
284
344
|
r"""Select the level of detail for disk metrics"""
|
|
345
|
+
detail: NotRequired[bool]
|
|
346
|
+
r"""Generate full disk metrics"""
|
|
347
|
+
inodes: NotRequired[bool]
|
|
348
|
+
r"""Generate filesystem inode metrics"""
|
|
285
349
|
devices: NotRequired[List[str]]
|
|
286
350
|
r"""Block devices to include/exclude. Examples: sda*, !loop*. Wildcards and ! (not) operators are supported. All devices are included if this list is empty."""
|
|
287
351
|
mountpoints: NotRequired[List[str]]
|
|
@@ -290,8 +354,6 @@ class InputSystemMetricsDiskTypedDict(TypedDict):
|
|
|
290
354
|
r"""Filesystem types to include/exclude. Examples: ext4, !*tmpfs, !squashfs. Wildcards and ! (not) operators are supported. All types are included if this list is empty."""
|
|
291
355
|
per_device: NotRequired[bool]
|
|
292
356
|
r"""Generate separate metrics for each device"""
|
|
293
|
-
detail: NotRequired[bool]
|
|
294
|
-
r"""Generate full disk metrics"""
|
|
295
357
|
|
|
296
358
|
|
|
297
359
|
class InputSystemMetricsDisk(BaseModel):
|
|
@@ -300,6 +362,12 @@ class InputSystemMetricsDisk(BaseModel):
|
|
|
300
362
|
] = InputSystemMetricsDiskMode.BASIC
|
|
301
363
|
r"""Select the level of detail for disk metrics"""
|
|
302
364
|
|
|
365
|
+
detail: Optional[bool] = False
|
|
366
|
+
r"""Generate full disk metrics"""
|
|
367
|
+
|
|
368
|
+
inodes: Optional[bool] = False
|
|
369
|
+
r"""Generate filesystem inode metrics"""
|
|
370
|
+
|
|
303
371
|
devices: Optional[List[str]] = None
|
|
304
372
|
r"""Block devices to include/exclude. Examples: sda*, !loop*. Wildcards and ! (not) operators are supported. All devices are included if this list is empty."""
|
|
305
373
|
|
|
@@ -312,8 +380,14 @@ class InputSystemMetricsDisk(BaseModel):
|
|
|
312
380
|
per_device: Annotated[Optional[bool], pydantic.Field(alias="perDevice")] = False
|
|
313
381
|
r"""Generate separate metrics for each device"""
|
|
314
382
|
|
|
315
|
-
|
|
316
|
-
|
|
383
|
+
@field_serializer("mode")
|
|
384
|
+
def serialize_mode(self, value):
|
|
385
|
+
if isinstance(value, str):
|
|
386
|
+
try:
|
|
387
|
+
return models.InputSystemMetricsDiskMode(value)
|
|
388
|
+
except ValueError:
|
|
389
|
+
return value
|
|
390
|
+
return value
|
|
317
391
|
|
|
318
392
|
|
|
319
393
|
class InputSystemMetricsCustomTypedDict(TypedDict):
|
|
@@ -350,6 +424,15 @@ class InputSystemMetricsHost(BaseModel):
|
|
|
350
424
|
|
|
351
425
|
custom: Optional[InputSystemMetricsCustom] = None
|
|
352
426
|
|
|
427
|
+
@field_serializer("mode")
|
|
428
|
+
def serialize_mode(self, value):
|
|
429
|
+
if isinstance(value, str):
|
|
430
|
+
try:
|
|
431
|
+
return models.InputSystemMetricsHostMode(value)
|
|
432
|
+
except ValueError:
|
|
433
|
+
return value
|
|
434
|
+
return value
|
|
435
|
+
|
|
353
436
|
|
|
354
437
|
class InputSystemMetricsSetTypedDict(TypedDict):
|
|
355
438
|
name: str
|
|
@@ -445,6 +528,15 @@ class Container(BaseModel):
|
|
|
445
528
|
detail: Optional[bool] = False
|
|
446
529
|
r"""Generate full container metrics"""
|
|
447
530
|
|
|
531
|
+
@field_serializer("mode")
|
|
532
|
+
def serialize_mode(self, value):
|
|
533
|
+
if isinstance(value, str):
|
|
534
|
+
try:
|
|
535
|
+
return models.ContainerMode(value)
|
|
536
|
+
except ValueError:
|
|
537
|
+
return value
|
|
538
|
+
return value
|
|
539
|
+
|
|
448
540
|
|
|
449
541
|
class InputSystemMetricsMetadatumTypedDict(TypedDict):
|
|
450
542
|
name: str
|
|
@@ -501,6 +593,15 @@ class InputSystemMetricsPersistence(BaseModel):
|
|
|
501
593
|
)
|
|
502
594
|
r"""Path to use to write metrics. Defaults to $CRIBL_HOME/state/system_metrics"""
|
|
503
595
|
|
|
596
|
+
@field_serializer("compress")
|
|
597
|
+
def serialize_compress(self, value):
|
|
598
|
+
if isinstance(value, str):
|
|
599
|
+
try:
|
|
600
|
+
return models.InputSystemMetricsDataCompressionFormat(value)
|
|
601
|
+
except ValueError:
|
|
602
|
+
return value
|
|
603
|
+
return value
|
|
604
|
+
|
|
504
605
|
|
|
505
606
|
class InputSystemMetricsTypedDict(TypedDict):
|
|
506
607
|
type: InputSystemMetricsType
|
|
@@ -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
|
|
@@ -106,6 +107,24 @@ class InputSystemStatePq(BaseModel):
|
|
|
106
107
|
Optional[InputSystemStatePqControls], pydantic.Field(alias="pqControls")
|
|
107
108
|
] = None
|
|
108
109
|
|
|
110
|
+
@field_serializer("mode")
|
|
111
|
+
def serialize_mode(self, value):
|
|
112
|
+
if isinstance(value, str):
|
|
113
|
+
try:
|
|
114
|
+
return models.InputSystemStateMode(value)
|
|
115
|
+
except ValueError:
|
|
116
|
+
return value
|
|
117
|
+
return value
|
|
118
|
+
|
|
119
|
+
@field_serializer("compress")
|
|
120
|
+
def serialize_compress(self, value):
|
|
121
|
+
if isinstance(value, str):
|
|
122
|
+
try:
|
|
123
|
+
return models.InputSystemStateCompression(value)
|
|
124
|
+
except ValueError:
|
|
125
|
+
return value
|
|
126
|
+
return value
|
|
127
|
+
|
|
109
128
|
|
|
110
129
|
class InputSystemStateMetadatumTypedDict(TypedDict):
|
|
111
130
|
name: str
|
|
@@ -356,6 +375,15 @@ class InputSystemStatePersistence(BaseModel):
|
|
|
356
375
|
)
|
|
357
376
|
r"""Path to use to write metrics. Defaults to $CRIBL_HOME/state/system_state"""
|
|
358
377
|
|
|
378
|
+
@field_serializer("compress")
|
|
379
|
+
def serialize_compress(self, value):
|
|
380
|
+
if isinstance(value, str):
|
|
381
|
+
try:
|
|
382
|
+
return models.InputSystemStateDataCompressionFormat(value)
|
|
383
|
+
except ValueError:
|
|
384
|
+
return value
|
|
385
|
+
return value
|
|
386
|
+
|
|
359
387
|
|
|
360
388
|
class InputSystemStateTypedDict(TypedDict):
|
|
361
389
|
type: InputSystemStateType
|
|
@@ -1,13 +1,14 @@
|
|
|
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
|
-
from typing import
|
|
11
|
+
from typing import List, Optional
|
|
11
12
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
13
|
|
|
13
14
|
|
|
@@ -106,6 +107,24 @@ class InputTCPPq(BaseModel):
|
|
|
106
107
|
Optional[InputTCPPqControls], pydantic.Field(alias="pqControls")
|
|
107
108
|
] = None
|
|
108
109
|
|
|
110
|
+
@field_serializer("mode")
|
|
111
|
+
def serialize_mode(self, value):
|
|
112
|
+
if isinstance(value, str):
|
|
113
|
+
try:
|
|
114
|
+
return models.InputTCPMode(value)
|
|
115
|
+
except ValueError:
|
|
116
|
+
return value
|
|
117
|
+
return value
|
|
118
|
+
|
|
119
|
+
@field_serializer("compress")
|
|
120
|
+
def serialize_compress(self, value):
|
|
121
|
+
if isinstance(value, str):
|
|
122
|
+
try:
|
|
123
|
+
return models.InputTCPCompression(value)
|
|
124
|
+
except ValueError:
|
|
125
|
+
return value
|
|
126
|
+
return value
|
|
127
|
+
|
|
109
128
|
|
|
110
129
|
class InputTCPMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
111
130
|
TL_SV1 = "TLSv1"
|
|
@@ -123,6 +142,12 @@ class InputTCPMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
123
142
|
|
|
124
143
|
class InputTCPTLSSettingsServerSideTypedDict(TypedDict):
|
|
125
144
|
disabled: NotRequired[bool]
|
|
145
|
+
request_cert: NotRequired[bool]
|
|
146
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
147
|
+
reject_unauthorized: NotRequired[bool]
|
|
148
|
+
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
149
|
+
common_name_regex: NotRequired[str]
|
|
150
|
+
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
126
151
|
certificate_name: NotRequired[str]
|
|
127
152
|
r"""The name of the predefined certificate"""
|
|
128
153
|
priv_key_path: NotRequired[str]
|
|
@@ -133,10 +158,6 @@ class InputTCPTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
133
158
|
r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
134
159
|
ca_path: NotRequired[str]
|
|
135
160
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
136
|
-
request_cert: NotRequired[bool]
|
|
137
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
138
|
-
reject_unauthorized: NotRequired[Any]
|
|
139
|
-
common_name_regex: NotRequired[Any]
|
|
140
161
|
min_version: NotRequired[InputTCPMinimumTLSVersion]
|
|
141
162
|
max_version: NotRequired[InputTCPMaximumTLSVersion]
|
|
142
163
|
|
|
@@ -144,6 +165,19 @@ class InputTCPTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
144
165
|
class InputTCPTLSSettingsServerSide(BaseModel):
|
|
145
166
|
disabled: Optional[bool] = True
|
|
146
167
|
|
|
168
|
+
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
169
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
170
|
+
|
|
171
|
+
reject_unauthorized: Annotated[
|
|
172
|
+
Optional[bool], pydantic.Field(alias="rejectUnauthorized")
|
|
173
|
+
] = True
|
|
174
|
+
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
175
|
+
|
|
176
|
+
common_name_regex: Annotated[
|
|
177
|
+
Optional[str], pydantic.Field(alias="commonNameRegex")
|
|
178
|
+
] = "/.*/"
|
|
179
|
+
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
180
|
+
|
|
147
181
|
certificate_name: Annotated[
|
|
148
182
|
Optional[str], pydantic.Field(alias="certificateName")
|
|
149
183
|
] = None
|
|
@@ -161,17 +195,6 @@ class InputTCPTLSSettingsServerSide(BaseModel):
|
|
|
161
195
|
ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
|
|
162
196
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
163
197
|
|
|
164
|
-
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
165
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
166
|
-
|
|
167
|
-
reject_unauthorized: Annotated[
|
|
168
|
-
Optional[Any], pydantic.Field(alias="rejectUnauthorized")
|
|
169
|
-
] = None
|
|
170
|
-
|
|
171
|
-
common_name_regex: Annotated[
|
|
172
|
-
Optional[Any], pydantic.Field(alias="commonNameRegex")
|
|
173
|
-
] = None
|
|
174
|
-
|
|
175
198
|
min_version: Annotated[
|
|
176
199
|
Annotated[
|
|
177
200
|
Optional[InputTCPMinimumTLSVersion],
|
|
@@ -188,6 +211,24 @@ class InputTCPTLSSettingsServerSide(BaseModel):
|
|
|
188
211
|
pydantic.Field(alias="maxVersion"),
|
|
189
212
|
] = None
|
|
190
213
|
|
|
214
|
+
@field_serializer("min_version")
|
|
215
|
+
def serialize_min_version(self, value):
|
|
216
|
+
if isinstance(value, str):
|
|
217
|
+
try:
|
|
218
|
+
return models.InputTCPMinimumTLSVersion(value)
|
|
219
|
+
except ValueError:
|
|
220
|
+
return value
|
|
221
|
+
return value
|
|
222
|
+
|
|
223
|
+
@field_serializer("max_version")
|
|
224
|
+
def serialize_max_version(self, value):
|
|
225
|
+
if isinstance(value, str):
|
|
226
|
+
try:
|
|
227
|
+
return models.InputTCPMaximumTLSVersion(value)
|
|
228
|
+
except ValueError:
|
|
229
|
+
return value
|
|
230
|
+
return value
|
|
231
|
+
|
|
191
232
|
|
|
192
233
|
class InputTCPMetadatumTypedDict(TypedDict):
|
|
193
234
|
name: str
|
|
@@ -272,8 +313,12 @@ class InputTCPTypedDict(TypedDict):
|
|
|
272
313
|
r"""Client will pass the header record with every new connection. The header can contain an authToken, and an object with a list of fields and values to add to every event. These fields can be used to simplify Event Breaker selection, routing, etc. Header has this format, and must be followed by a newline: { \"authToken\" : \"myToken\", \"fields\": { \"field1\": \"value1\", \"field2\": \"value2\" } }"""
|
|
273
314
|
preprocess: NotRequired[InputTCPPreprocessTypedDict]
|
|
274
315
|
description: NotRequired[str]
|
|
316
|
+
auth_token: NotRequired[str]
|
|
317
|
+
r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted."""
|
|
275
318
|
auth_type: NotRequired[InputTCPAuthenticationMethod]
|
|
276
319
|
r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
|
|
320
|
+
text_secret: NotRequired[str]
|
|
321
|
+
r"""Select or create a stored text secret"""
|
|
277
322
|
|
|
278
323
|
|
|
279
324
|
class InputTCP(BaseModel):
|
|
@@ -366,6 +411,9 @@ class InputTCP(BaseModel):
|
|
|
366
411
|
|
|
367
412
|
description: Optional[str] = None
|
|
368
413
|
|
|
414
|
+
auth_token: Annotated[Optional[str], pydantic.Field(alias="authToken")] = ""
|
|
415
|
+
r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted."""
|
|
416
|
+
|
|
369
417
|
auth_type: Annotated[
|
|
370
418
|
Annotated[
|
|
371
419
|
Optional[InputTCPAuthenticationMethod],
|
|
@@ -374,3 +422,15 @@ class InputTCP(BaseModel):
|
|
|
374
422
|
pydantic.Field(alias="authType"),
|
|
375
423
|
] = InputTCPAuthenticationMethod.MANUAL
|
|
376
424
|
r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
|
|
425
|
+
|
|
426
|
+
text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None
|
|
427
|
+
r"""Select or create a stored text secret"""
|
|
428
|
+
|
|
429
|
+
@field_serializer("auth_type")
|
|
430
|
+
def serialize_auth_type(self, value):
|
|
431
|
+
if isinstance(value, str):
|
|
432
|
+
try:
|
|
433
|
+
return models.InputTCPAuthenticationMethod(value)
|
|
434
|
+
except ValueError:
|
|
435
|
+
return value
|
|
436
|
+
return value
|
|
@@ -1,13 +1,14 @@
|
|
|
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
|
-
from typing import
|
|
11
|
+
from typing import List, Optional
|
|
11
12
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
13
|
|
|
13
14
|
|
|
@@ -106,6 +107,24 @@ class InputTcpjsonPq(BaseModel):
|
|
|
106
107
|
Optional[InputTcpjsonPqControls], pydantic.Field(alias="pqControls")
|
|
107
108
|
] = None
|
|
108
109
|
|
|
110
|
+
@field_serializer("mode")
|
|
111
|
+
def serialize_mode(self, value):
|
|
112
|
+
if isinstance(value, str):
|
|
113
|
+
try:
|
|
114
|
+
return models.InputTcpjsonMode(value)
|
|
115
|
+
except ValueError:
|
|
116
|
+
return value
|
|
117
|
+
return value
|
|
118
|
+
|
|
119
|
+
@field_serializer("compress")
|
|
120
|
+
def serialize_compress(self, value):
|
|
121
|
+
if isinstance(value, str):
|
|
122
|
+
try:
|
|
123
|
+
return models.InputTcpjsonCompression(value)
|
|
124
|
+
except ValueError:
|
|
125
|
+
return value
|
|
126
|
+
return value
|
|
127
|
+
|
|
109
128
|
|
|
110
129
|
class InputTcpjsonMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
111
130
|
TL_SV1 = "TLSv1"
|
|
@@ -123,6 +142,12 @@ class InputTcpjsonMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
123
142
|
|
|
124
143
|
class InputTcpjsonTLSSettingsServerSideTypedDict(TypedDict):
|
|
125
144
|
disabled: NotRequired[bool]
|
|
145
|
+
request_cert: NotRequired[bool]
|
|
146
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
147
|
+
reject_unauthorized: NotRequired[bool]
|
|
148
|
+
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
149
|
+
common_name_regex: NotRequired[str]
|
|
150
|
+
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
126
151
|
certificate_name: NotRequired[str]
|
|
127
152
|
r"""The name of the predefined certificate"""
|
|
128
153
|
priv_key_path: NotRequired[str]
|
|
@@ -133,10 +158,6 @@ class InputTcpjsonTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
133
158
|
r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
134
159
|
ca_path: NotRequired[str]
|
|
135
160
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
136
|
-
request_cert: NotRequired[bool]
|
|
137
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
138
|
-
reject_unauthorized: NotRequired[Any]
|
|
139
|
-
common_name_regex: NotRequired[Any]
|
|
140
161
|
min_version: NotRequired[InputTcpjsonMinimumTLSVersion]
|
|
141
162
|
max_version: NotRequired[InputTcpjsonMaximumTLSVersion]
|
|
142
163
|
|
|
@@ -144,6 +165,19 @@ class InputTcpjsonTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
144
165
|
class InputTcpjsonTLSSettingsServerSide(BaseModel):
|
|
145
166
|
disabled: Optional[bool] = True
|
|
146
167
|
|
|
168
|
+
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
169
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
170
|
+
|
|
171
|
+
reject_unauthorized: Annotated[
|
|
172
|
+
Optional[bool], pydantic.Field(alias="rejectUnauthorized")
|
|
173
|
+
] = True
|
|
174
|
+
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
175
|
+
|
|
176
|
+
common_name_regex: Annotated[
|
|
177
|
+
Optional[str], pydantic.Field(alias="commonNameRegex")
|
|
178
|
+
] = "/.*/"
|
|
179
|
+
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
180
|
+
|
|
147
181
|
certificate_name: Annotated[
|
|
148
182
|
Optional[str], pydantic.Field(alias="certificateName")
|
|
149
183
|
] = None
|
|
@@ -161,17 +195,6 @@ class InputTcpjsonTLSSettingsServerSide(BaseModel):
|
|
|
161
195
|
ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
|
|
162
196
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
163
197
|
|
|
164
|
-
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
165
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
166
|
-
|
|
167
|
-
reject_unauthorized: Annotated[
|
|
168
|
-
Optional[Any], pydantic.Field(alias="rejectUnauthorized")
|
|
169
|
-
] = None
|
|
170
|
-
|
|
171
|
-
common_name_regex: Annotated[
|
|
172
|
-
Optional[Any], pydantic.Field(alias="commonNameRegex")
|
|
173
|
-
] = None
|
|
174
|
-
|
|
175
198
|
min_version: Annotated[
|
|
176
199
|
Annotated[
|
|
177
200
|
Optional[InputTcpjsonMinimumTLSVersion],
|
|
@@ -188,6 +211,24 @@ class InputTcpjsonTLSSettingsServerSide(BaseModel):
|
|
|
188
211
|
pydantic.Field(alias="maxVersion"),
|
|
189
212
|
] = None
|
|
190
213
|
|
|
214
|
+
@field_serializer("min_version")
|
|
215
|
+
def serialize_min_version(self, value):
|
|
216
|
+
if isinstance(value, str):
|
|
217
|
+
try:
|
|
218
|
+
return models.InputTcpjsonMinimumTLSVersion(value)
|
|
219
|
+
except ValueError:
|
|
220
|
+
return value
|
|
221
|
+
return value
|
|
222
|
+
|
|
223
|
+
@field_serializer("max_version")
|
|
224
|
+
def serialize_max_version(self, value):
|
|
225
|
+
if isinstance(value, str):
|
|
226
|
+
try:
|
|
227
|
+
return models.InputTcpjsonMaximumTLSVersion(value)
|
|
228
|
+
except ValueError:
|
|
229
|
+
return value
|
|
230
|
+
return value
|
|
231
|
+
|
|
191
232
|
|
|
192
233
|
class InputTcpjsonMetadatumTypedDict(TypedDict):
|
|
193
234
|
name: str
|
|
@@ -349,3 +390,12 @@ class InputTcpjson(BaseModel):
|
|
|
349
390
|
|
|
350
391
|
text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None
|
|
351
392
|
r"""Select or create a stored text secret"""
|
|
393
|
+
|
|
394
|
+
@field_serializer("auth_type")
|
|
395
|
+
def serialize_auth_type(self, value):
|
|
396
|
+
if isinstance(value, str):
|
|
397
|
+
try:
|
|
398
|
+
return models.InputTcpjsonAuthenticationMethod(value)
|
|
399
|
+
except ValueError:
|
|
400
|
+
return value
|
|
401
|
+
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 Any, List, Optional
|
|
11
12
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
@@ -106,6 +107,24 @@ class InputWefPq(BaseModel):
|
|
|
106
107
|
Optional[InputWefPqControls], pydantic.Field(alias="pqControls")
|
|
107
108
|
] = None
|
|
108
109
|
|
|
110
|
+
@field_serializer("mode")
|
|
111
|
+
def serialize_mode(self, value):
|
|
112
|
+
if isinstance(value, str):
|
|
113
|
+
try:
|
|
114
|
+
return models.InputWefMode(value)
|
|
115
|
+
except ValueError:
|
|
116
|
+
return value
|
|
117
|
+
return value
|
|
118
|
+
|
|
119
|
+
@field_serializer("compress")
|
|
120
|
+
def serialize_compress(self, value):
|
|
121
|
+
if isinstance(value, str):
|
|
122
|
+
try:
|
|
123
|
+
return models.InputWefCompression(value)
|
|
124
|
+
except ValueError:
|
|
125
|
+
return value
|
|
126
|
+
return value
|
|
127
|
+
|
|
109
128
|
|
|
110
129
|
class InputWefAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
111
130
|
r"""How to authenticate incoming client connections"""
|
|
@@ -221,6 +240,24 @@ class MTLSSettings(BaseModel):
|
|
|
221
240
|
] = False
|
|
222
241
|
r"""If enabled, checks will fail on any OCSP error. Otherwise, checks will fail only when a certificate is revoked, ignoring other errors."""
|
|
223
242
|
|
|
243
|
+
@field_serializer("min_version")
|
|
244
|
+
def serialize_min_version(self, value):
|
|
245
|
+
if isinstance(value, str):
|
|
246
|
+
try:
|
|
247
|
+
return models.InputWefMinimumTLSVersion(value)
|
|
248
|
+
except ValueError:
|
|
249
|
+
return value
|
|
250
|
+
return value
|
|
251
|
+
|
|
252
|
+
@field_serializer("max_version")
|
|
253
|
+
def serialize_max_version(self, value):
|
|
254
|
+
if isinstance(value, str):
|
|
255
|
+
try:
|
|
256
|
+
return models.InputWefMaximumTLSVersion(value)
|
|
257
|
+
except ValueError:
|
|
258
|
+
return value
|
|
259
|
+
return value
|
|
260
|
+
|
|
224
261
|
|
|
225
262
|
class InputWefFormat(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
226
263
|
r"""Content format in which the endpoint should deliver events"""
|
|
@@ -321,6 +358,24 @@ class Subscription(BaseModel):
|
|
|
321
358
|
metadata: Optional[List[SubscriptionMetadatum]] = None
|
|
322
359
|
r"""Fields to add to events ingested under this subscription"""
|
|
323
360
|
|
|
361
|
+
@field_serializer("content_format")
|
|
362
|
+
def serialize_content_format(self, value):
|
|
363
|
+
if isinstance(value, str):
|
|
364
|
+
try:
|
|
365
|
+
return models.InputWefFormat(value)
|
|
366
|
+
except ValueError:
|
|
367
|
+
return value
|
|
368
|
+
return value
|
|
369
|
+
|
|
370
|
+
@field_serializer("query_selector")
|
|
371
|
+
def serialize_query_selector(self, value):
|
|
372
|
+
if isinstance(value, str):
|
|
373
|
+
try:
|
|
374
|
+
return models.QueryBuilderMode(value)
|
|
375
|
+
except ValueError:
|
|
376
|
+
return value
|
|
377
|
+
return value
|
|
378
|
+
|
|
324
379
|
|
|
325
380
|
class InputWefMetadatumTypedDict(TypedDict):
|
|
326
381
|
name: str
|
|
@@ -515,3 +570,12 @@ class InputWef(BaseModel):
|
|
|
515
570
|
Optional[bool], pydantic.Field(alias="logFingerprintMismatch")
|
|
516
571
|
] = False
|
|
517
572
|
r"""Log a warning if the client certificate authority (CA) fingerprint does not match the expected value. A mismatch prevents Cribl from receiving events from the Windows Event Forwarder."""
|
|
573
|
+
|
|
574
|
+
@field_serializer("auth_method")
|
|
575
|
+
def serialize_auth_method(self, value):
|
|
576
|
+
if isinstance(value, str):
|
|
577
|
+
try:
|
|
578
|
+
return models.InputWefAuthenticationMethod(value)
|
|
579
|
+
except ValueError:
|
|
580
|
+
return value
|
|
581
|
+
return value
|