cribl-control-plane 0.0.47__py3-none-any.whl → 0.0.48a1__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 +3 -5
- cribl_control_plane/errors/healthstatus_error.py +8 -2
- cribl_control_plane/models/__init__.py +12 -12
- cribl_control_plane/models/cacheconnection.py +10 -2
- cribl_control_plane/models/cacheconnectionbackfillstatus.py +2 -1
- cribl_control_plane/models/cloudprovider.py +2 -1
- cribl_control_plane/models/configgroup.py +7 -2
- cribl_control_plane/models/configgroupcloud.py +6 -2
- cribl_control_plane/models/createconfiggroupbyproductop.py +8 -2
- cribl_control_plane/models/cribllakedataset.py +8 -2
- cribl_control_plane/models/datasetmetadata.py +8 -2
- cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +7 -2
- cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +4 -2
- cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +4 -2
- cribl_control_plane/models/getconfiggroupbyproductandidop.py +3 -1
- cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +7 -2
- cribl_control_plane/models/getsummaryop.py +7 -2
- cribl_control_plane/models/hbcriblinfo.py +19 -3
- cribl_control_plane/models/healthstatus.py +7 -4
- cribl_control_plane/models/heartbeatmetadata.py +3 -0
- cribl_control_plane/models/inputappscope.py +34 -14
- cribl_control_plane/models/inputazureblob.py +17 -6
- cribl_control_plane/models/inputcollection.py +11 -4
- cribl_control_plane/models/inputconfluentcloud.py +47 -20
- cribl_control_plane/models/inputcribl.py +11 -4
- cribl_control_plane/models/inputcriblhttp.py +23 -8
- cribl_control_plane/models/inputcribllakehttp.py +22 -10
- cribl_control_plane/models/inputcriblmetrics.py +12 -4
- cribl_control_plane/models/inputcribltcp.py +23 -8
- cribl_control_plane/models/inputcrowdstrike.py +26 -10
- cribl_control_plane/models/inputdatadogagent.py +24 -8
- cribl_control_plane/models/inputdatagen.py +11 -4
- cribl_control_plane/models/inputedgeprometheus.py +58 -24
- cribl_control_plane/models/inputelastic.py +40 -14
- cribl_control_plane/models/inputeventhub.py +15 -6
- cribl_control_plane/models/inputexec.py +14 -6
- cribl_control_plane/models/inputfile.py +15 -6
- cribl_control_plane/models/inputfirehose.py +23 -8
- cribl_control_plane/models/inputgooglepubsub.py +19 -6
- cribl_control_plane/models/inputgrafana.py +67 -24
- cribl_control_plane/models/inputhttp.py +23 -8
- cribl_control_plane/models/inputhttpraw.py +23 -8
- cribl_control_plane/models/inputjournalfiles.py +12 -4
- cribl_control_plane/models/inputkafka.py +46 -16
- cribl_control_plane/models/inputkinesis.py +38 -14
- cribl_control_plane/models/inputkubeevents.py +11 -4
- cribl_control_plane/models/inputkubelogs.py +16 -8
- cribl_control_plane/models/inputkubemetrics.py +16 -8
- cribl_control_plane/models/inputloki.py +29 -10
- cribl_control_plane/models/inputmetrics.py +23 -8
- cribl_control_plane/models/inputmodeldriventelemetry.py +32 -10
- cribl_control_plane/models/inputmsk.py +53 -18
- cribl_control_plane/models/inputnetflow.py +11 -4
- cribl_control_plane/models/inputoffice365mgmt.py +33 -14
- cribl_control_plane/models/inputoffice365msgtrace.py +35 -16
- cribl_control_plane/models/inputoffice365service.py +35 -16
- cribl_control_plane/models/inputopentelemetry.py +38 -16
- cribl_control_plane/models/inputprometheus.py +50 -18
- cribl_control_plane/models/inputprometheusrw.py +30 -10
- cribl_control_plane/models/inputrawudp.py +11 -4
- cribl_control_plane/models/inputs3.py +21 -8
- cribl_control_plane/models/inputs3inventory.py +26 -10
- cribl_control_plane/models/inputsecuritylake.py +27 -10
- cribl_control_plane/models/inputsnmp.py +16 -6
- cribl_control_plane/models/inputsplunk.py +33 -12
- cribl_control_plane/models/inputsplunkhec.py +29 -10
- cribl_control_plane/models/inputsplunksearch.py +33 -14
- cribl_control_plane/models/inputsqs.py +27 -10
- cribl_control_plane/models/inputsyslog.py +43 -16
- cribl_control_plane/models/inputsystemmetrics.py +48 -24
- cribl_control_plane/models/inputsystemstate.py +16 -8
- cribl_control_plane/models/inputtcp.py +29 -10
- cribl_control_plane/models/inputtcpjson.py +29 -10
- cribl_control_plane/models/inputwef.py +37 -14
- cribl_control_plane/models/inputwindowsmetrics.py +44 -24
- cribl_control_plane/models/inputwineventlogs.py +20 -10
- cribl_control_plane/models/inputwiz.py +21 -8
- cribl_control_plane/models/inputwizwebhook.py +23 -8
- cribl_control_plane/models/inputzscalerhec.py +29 -10
- cribl_control_plane/models/lakehouseconnectiontype.py +2 -1
- cribl_control_plane/models/listconfiggroupbyproductop.py +3 -1
- cribl_control_plane/models/masterworkerentry.py +7 -2
- cribl_control_plane/models/nodeactiveupgradestatus.py +2 -1
- cribl_control_plane/models/nodefailedupgradestatus.py +2 -1
- cribl_control_plane/models/nodeprovidedinfo.py +3 -0
- cribl_control_plane/models/nodeskippedupgradestatus.py +2 -1
- cribl_control_plane/models/nodeupgradestate.py +2 -1
- cribl_control_plane/models/nodeupgradestatus.py +13 -5
- cribl_control_plane/models/outputazureblob.py +48 -18
- cribl_control_plane/models/outputazuredataexplorer.py +73 -28
- cribl_control_plane/models/outputazureeventhub.py +40 -18
- cribl_control_plane/models/outputazurelogs.py +35 -12
- cribl_control_plane/models/outputclickhouse.py +55 -20
- cribl_control_plane/models/outputcloudwatch.py +29 -10
- cribl_control_plane/models/outputconfluentcloud.py +77 -32
- cribl_control_plane/models/outputcriblhttp.py +44 -16
- cribl_control_plane/models/outputcribllake.py +46 -16
- cribl_control_plane/models/outputcribltcp.py +45 -18
- cribl_control_plane/models/outputcrowdstrikenextgensiem.py +49 -14
- cribl_control_plane/models/outputdatadog.py +48 -20
- cribl_control_plane/models/outputdataset.py +46 -18
- cribl_control_plane/models/outputdiskspool.py +7 -2
- cribl_control_plane/models/outputdls3.py +68 -24
- cribl_control_plane/models/outputdynatracehttp.py +53 -20
- cribl_control_plane/models/outputdynatraceotlp.py +55 -22
- cribl_control_plane/models/outputelastic.py +43 -18
- cribl_control_plane/models/outputelasticcloud.py +36 -12
- cribl_control_plane/models/outputexabeam.py +29 -10
- cribl_control_plane/models/outputfilesystem.py +39 -14
- cribl_control_plane/models/outputgooglechronicle.py +50 -16
- cribl_control_plane/models/outputgooglecloudlogging.py +41 -14
- cribl_control_plane/models/outputgooglecloudstorage.py +66 -24
- cribl_control_plane/models/outputgooglepubsub.py +31 -10
- cribl_control_plane/models/outputgrafanacloud.py +97 -32
- cribl_control_plane/models/outputgraphite.py +31 -14
- cribl_control_plane/models/outputhoneycomb.py +35 -12
- cribl_control_plane/models/outputhumiohec.py +43 -16
- cribl_control_plane/models/outputinfluxdb.py +42 -16
- cribl_control_plane/models/outputkafka.py +74 -28
- cribl_control_plane/models/outputkinesis.py +40 -16
- cribl_control_plane/models/outputloki.py +41 -16
- cribl_control_plane/models/outputminio.py +65 -24
- cribl_control_plane/models/outputmsk.py +82 -30
- cribl_control_plane/models/outputnewrelic.py +43 -18
- cribl_control_plane/models/outputnewrelicevents.py +41 -14
- cribl_control_plane/models/outputopentelemetry.py +67 -26
- cribl_control_plane/models/outputprometheus.py +35 -12
- cribl_control_plane/models/outputring.py +19 -8
- cribl_control_plane/models/outputs3.py +68 -26
- cribl_control_plane/models/outputsecuritylake.py +52 -18
- cribl_control_plane/models/outputsentinel.py +45 -18
- cribl_control_plane/models/outputsentineloneaisiem.py +50 -18
- cribl_control_plane/models/outputservicenow.py +60 -24
- cribl_control_plane/models/outputsignalfx.py +37 -14
- cribl_control_plane/models/outputsns.py +36 -14
- cribl_control_plane/models/outputsplunk.py +60 -24
- cribl_control_plane/models/outputsplunkhec.py +35 -12
- cribl_control_plane/models/outputsplunklb.py +77 -30
- cribl_control_plane/models/outputsqs.py +41 -16
- cribl_control_plane/models/outputstatsd.py +30 -14
- cribl_control_plane/models/outputstatsdext.py +29 -12
- cribl_control_plane/models/outputsumologic.py +35 -12
- cribl_control_plane/models/outputsyslog.py +58 -24
- cribl_control_plane/models/outputtcpjson.py +52 -20
- cribl_control_plane/models/outputwavefront.py +35 -12
- cribl_control_plane/models/outputwebhook.py +58 -22
- cribl_control_plane/models/outputxsiam.py +35 -14
- cribl_control_plane/models/productscore.py +2 -1
- cribl_control_plane/models/rbacresource.py +2 -1
- cribl_control_plane/models/resourcepolicy.py +4 -2
- cribl_control_plane/models/routeconf.py +3 -4
- cribl_control_plane/models/runnablejobcollection.py +30 -13
- cribl_control_plane/models/runnablejobexecutor.py +13 -4
- cribl_control_plane/models/runnablejobscheduledsearch.py +7 -2
- cribl_control_plane/models/updateconfiggroupbyproductandidop.py +8 -2
- cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +8 -2
- cribl_control_plane/models/workertypes.py +2 -1
- {cribl_control_plane-0.0.47.dist-info → cribl_control_plane-0.0.48a1.dist-info}/METADATA +1 -1
- {cribl_control_plane-0.0.47.dist-info → cribl_control_plane-0.0.48a1.dist-info}/RECORD +160 -162
- {cribl_control_plane-0.0.47.dist-info → cribl_control_plane-0.0.48a1.dist-info}/WHEEL +1 -1
- cribl_control_plane/models/appmode.py +0 -13
- cribl_control_plane/models/routecloneconf.py +0 -13
|
@@ -1,9 +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
5
|
from cribl_control_plane.types import BaseModel
|
|
6
|
+
from cribl_control_plane.utils import validate_open_enum
|
|
5
7
|
from enum import Enum
|
|
6
8
|
import pydantic
|
|
9
|
+
from pydantic.functional_validators import PlainValidator
|
|
7
10
|
from typing import List, Optional
|
|
8
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
12
|
|
|
@@ -12,14 +15,14 @@ class OutputCriblHTTPType(str, Enum):
|
|
|
12
15
|
CRIBL_HTTP = "cribl_http"
|
|
13
16
|
|
|
14
17
|
|
|
15
|
-
class OutputCriblHTTPMinimumTLSVersion(str, Enum):
|
|
18
|
+
class OutputCriblHTTPMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
16
19
|
TL_SV1 = "TLSv1"
|
|
17
20
|
TL_SV1_1 = "TLSv1.1"
|
|
18
21
|
TL_SV1_2 = "TLSv1.2"
|
|
19
22
|
TL_SV1_3 = "TLSv1.3"
|
|
20
23
|
|
|
21
24
|
|
|
22
|
-
class OutputCriblHTTPMaximumTLSVersion(str, Enum):
|
|
25
|
+
class OutputCriblHTTPMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
23
26
|
TL_SV1 = "TLSv1"
|
|
24
27
|
TL_SV1_1 = "TLSv1.1"
|
|
25
28
|
TL_SV1_2 = "TLSv1.2"
|
|
@@ -79,15 +82,23 @@ class OutputCriblHTTPTLSSettingsClientSide(BaseModel):
|
|
|
79
82
|
r"""Passphrase to use to decrypt private key"""
|
|
80
83
|
|
|
81
84
|
min_version: Annotated[
|
|
82
|
-
|
|
85
|
+
Annotated[
|
|
86
|
+
Optional[OutputCriblHTTPMinimumTLSVersion],
|
|
87
|
+
PlainValidator(validate_open_enum(False)),
|
|
88
|
+
],
|
|
89
|
+
pydantic.Field(alias="minVersion"),
|
|
83
90
|
] = None
|
|
84
91
|
|
|
85
92
|
max_version: Annotated[
|
|
86
|
-
|
|
93
|
+
Annotated[
|
|
94
|
+
Optional[OutputCriblHTTPMaximumTLSVersion],
|
|
95
|
+
PlainValidator(validate_open_enum(False)),
|
|
96
|
+
],
|
|
97
|
+
pydantic.Field(alias="maxVersion"),
|
|
87
98
|
] = None
|
|
88
99
|
|
|
89
100
|
|
|
90
|
-
class OutputCriblHTTPCompression(str, Enum):
|
|
101
|
+
class OutputCriblHTTPCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
91
102
|
r"""Codec to use to compress the data before sending"""
|
|
92
103
|
|
|
93
104
|
NONE = "none"
|
|
@@ -105,7 +116,7 @@ class OutputCriblHTTPExtraHTTPHeader(BaseModel):
|
|
|
105
116
|
name: Optional[str] = None
|
|
106
117
|
|
|
107
118
|
|
|
108
|
-
class OutputCriblHTTPFailedRequestLoggingMode(str, Enum):
|
|
119
|
+
class OutputCriblHTTPFailedRequestLoggingMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
109
120
|
r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
|
|
110
121
|
|
|
111
122
|
PAYLOAD = "payload"
|
|
@@ -167,7 +178,7 @@ class OutputCriblHTTPTimeoutRetrySettings(BaseModel):
|
|
|
167
178
|
r"""The maximum backoff interval, in milliseconds, Cribl Stream should apply. Default (and minimum) is 10,000 ms (10 seconds); maximum is 180,000 ms (180 seconds)."""
|
|
168
179
|
|
|
169
180
|
|
|
170
|
-
class OutputCriblHTTPBackpressureBehavior(str, Enum):
|
|
181
|
+
class OutputCriblHTTPBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
171
182
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
172
183
|
|
|
173
184
|
BLOCK = "block"
|
|
@@ -190,21 +201,21 @@ class OutputCriblHTTPURL(BaseModel):
|
|
|
190
201
|
r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability"""
|
|
191
202
|
|
|
192
203
|
|
|
193
|
-
class OutputCriblHTTPPqCompressCompression(str, Enum):
|
|
204
|
+
class OutputCriblHTTPPqCompressCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
194
205
|
r"""Codec to use to compress the persisted data"""
|
|
195
206
|
|
|
196
207
|
NONE = "none"
|
|
197
208
|
GZIP = "gzip"
|
|
198
209
|
|
|
199
210
|
|
|
200
|
-
class OutputCriblHTTPQueueFullBehavior(str, Enum):
|
|
211
|
+
class OutputCriblHTTPQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
201
212
|
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."""
|
|
202
213
|
|
|
203
214
|
BLOCK = "block"
|
|
204
215
|
DROP = "drop"
|
|
205
216
|
|
|
206
217
|
|
|
207
|
-
class OutputCriblHTTPMode(str, Enum):
|
|
218
|
+
class OutputCriblHTTPMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
208
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."""
|
|
209
220
|
|
|
210
221
|
ERROR = "error"
|
|
@@ -335,7 +346,9 @@ class OutputCriblHTTP(BaseModel):
|
|
|
335
346
|
] = None
|
|
336
347
|
r"""Fields to exclude from the event. By default, all internal fields except `__output` are sent. Example: `cribl_pipe`, `c*`. Wildcards supported."""
|
|
337
348
|
|
|
338
|
-
compression:
|
|
349
|
+
compression: Annotated[
|
|
350
|
+
Optional[OutputCriblHTTPCompression], PlainValidator(validate_open_enum(False))
|
|
351
|
+
] = OutputCriblHTTPCompression.GZIP
|
|
339
352
|
r"""Codec to use to compress the data before sending"""
|
|
340
353
|
|
|
341
354
|
concurrency: Optional[float] = 5
|
|
@@ -374,7 +387,10 @@ class OutputCriblHTTP(BaseModel):
|
|
|
374
387
|
r"""Headers to add to all events"""
|
|
375
388
|
|
|
376
389
|
failed_request_logging_mode: Annotated[
|
|
377
|
-
|
|
390
|
+
Annotated[
|
|
391
|
+
Optional[OutputCriblHTTPFailedRequestLoggingMode],
|
|
392
|
+
PlainValidator(validate_open_enum(False)),
|
|
393
|
+
],
|
|
378
394
|
pydantic.Field(alias="failedRequestLoggingMode"),
|
|
379
395
|
] = OutputCriblHTTPFailedRequestLoggingMode.NONE
|
|
380
396
|
r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
|
|
@@ -401,7 +417,10 @@ class OutputCriblHTTP(BaseModel):
|
|
|
401
417
|
r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored."""
|
|
402
418
|
|
|
403
419
|
on_backpressure: Annotated[
|
|
404
|
-
|
|
420
|
+
Annotated[
|
|
421
|
+
Optional[OutputCriblHTTPBackpressureBehavior],
|
|
422
|
+
PlainValidator(validate_open_enum(False)),
|
|
423
|
+
],
|
|
405
424
|
pydantic.Field(alias="onBackpressure"),
|
|
406
425
|
] = OutputCriblHTTPBackpressureBehavior.BLOCK
|
|
407
426
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
@@ -445,19 +464,28 @@ class OutputCriblHTTP(BaseModel):
|
|
|
445
464
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
|
|
446
465
|
|
|
447
466
|
pq_compress: Annotated[
|
|
448
|
-
|
|
467
|
+
Annotated[
|
|
468
|
+
Optional[OutputCriblHTTPPqCompressCompression],
|
|
469
|
+
PlainValidator(validate_open_enum(False)),
|
|
470
|
+
],
|
|
449
471
|
pydantic.Field(alias="pqCompress"),
|
|
450
472
|
] = OutputCriblHTTPPqCompressCompression.NONE
|
|
451
473
|
r"""Codec to use to compress the persisted data"""
|
|
452
474
|
|
|
453
475
|
pq_on_backpressure: Annotated[
|
|
454
|
-
|
|
476
|
+
Annotated[
|
|
477
|
+
Optional[OutputCriblHTTPQueueFullBehavior],
|
|
478
|
+
PlainValidator(validate_open_enum(False)),
|
|
479
|
+
],
|
|
455
480
|
pydantic.Field(alias="pqOnBackpressure"),
|
|
456
481
|
] = OutputCriblHTTPQueueFullBehavior.BLOCK
|
|
457
482
|
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."""
|
|
458
483
|
|
|
459
484
|
pq_mode: Annotated[
|
|
460
|
-
|
|
485
|
+
Annotated[
|
|
486
|
+
Optional[OutputCriblHTTPMode], PlainValidator(validate_open_enum(False))
|
|
487
|
+
],
|
|
488
|
+
pydantic.Field(alias="pqMode"),
|
|
461
489
|
] = OutputCriblHTTPMode.ERROR
|
|
462
490
|
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."""
|
|
463
491
|
|
|
@@ -1,9 +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
5
|
from cribl_control_plane.types import BaseModel
|
|
6
|
+
from cribl_control_plane.utils import validate_open_enum
|
|
5
7
|
from enum import Enum
|
|
6
8
|
import pydantic
|
|
9
|
+
from pydantic.functional_validators import PlainValidator
|
|
7
10
|
from typing import List, Optional
|
|
8
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
12
|
|
|
@@ -12,14 +15,14 @@ class OutputCriblLakeType(str, Enum):
|
|
|
12
15
|
CRIBL_LAKE = "cribl_lake"
|
|
13
16
|
|
|
14
17
|
|
|
15
|
-
class OutputCriblLakeSignatureVersion(str, Enum):
|
|
18
|
+
class OutputCriblLakeSignatureVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
16
19
|
r"""Signature version to use for signing S3 requests"""
|
|
17
20
|
|
|
18
21
|
V2 = "v2"
|
|
19
22
|
V4 = "v4"
|
|
20
23
|
|
|
21
24
|
|
|
22
|
-
class OutputCriblLakeObjectACL(str, Enum):
|
|
25
|
+
class OutputCriblLakeObjectACL(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
23
26
|
r"""Object ACL to assign to uploaded objects"""
|
|
24
27
|
|
|
25
28
|
PRIVATE = "private"
|
|
@@ -31,7 +34,7 @@ class OutputCriblLakeObjectACL(str, Enum):
|
|
|
31
34
|
BUCKET_OWNER_FULL_CONTROL = "bucket-owner-full-control"
|
|
32
35
|
|
|
33
36
|
|
|
34
|
-
class OutputCriblLakeStorageClass(str, Enum):
|
|
37
|
+
class OutputCriblLakeStorageClass(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
35
38
|
r"""Storage class to select for uploaded objects"""
|
|
36
39
|
|
|
37
40
|
STANDARD = "STANDARD"
|
|
@@ -44,32 +47,34 @@ class OutputCriblLakeStorageClass(str, Enum):
|
|
|
44
47
|
DEEP_ARCHIVE = "DEEP_ARCHIVE"
|
|
45
48
|
|
|
46
49
|
|
|
47
|
-
class OutputCriblLakeServerSideEncryptionForUploadedObjects(
|
|
50
|
+
class OutputCriblLakeServerSideEncryptionForUploadedObjects(
|
|
51
|
+
str, Enum, metaclass=utils.OpenEnumMeta
|
|
52
|
+
):
|
|
48
53
|
AES256 = "AES256"
|
|
49
54
|
AWS_KMS = "aws:kms"
|
|
50
55
|
|
|
51
56
|
|
|
52
|
-
class OutputCriblLakeBackpressureBehavior(str, Enum):
|
|
57
|
+
class OutputCriblLakeBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
53
58
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
54
59
|
|
|
55
60
|
BLOCK = "block"
|
|
56
61
|
DROP = "drop"
|
|
57
62
|
|
|
58
63
|
|
|
59
|
-
class OutputCriblLakeDiskSpaceProtection(str, Enum):
|
|
64
|
+
class OutputCriblLakeDiskSpaceProtection(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
60
65
|
r"""How to handle events when disk space is below the global 'Min free disk space' limit"""
|
|
61
66
|
|
|
62
67
|
BLOCK = "block"
|
|
63
68
|
DROP = "drop"
|
|
64
69
|
|
|
65
70
|
|
|
66
|
-
class AwsAuthenticationMethod(str, Enum):
|
|
71
|
+
class AwsAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
67
72
|
AUTO = "auto"
|
|
68
73
|
AUTO_RPC = "auto_rpc"
|
|
69
74
|
MANUAL = "manual"
|
|
70
75
|
|
|
71
76
|
|
|
72
|
-
class OutputCriblLakeFormat(str, Enum):
|
|
77
|
+
class OutputCriblLakeFormat(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
73
78
|
JSON = "json"
|
|
74
79
|
PARQUET = "parquet"
|
|
75
80
|
DDSS = "ddss"
|
|
@@ -200,7 +205,10 @@ class OutputCriblLake(BaseModel):
|
|
|
200
205
|
r"""S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint."""
|
|
201
206
|
|
|
202
207
|
signature_version: Annotated[
|
|
203
|
-
|
|
208
|
+
Annotated[
|
|
209
|
+
Optional[OutputCriblLakeSignatureVersion],
|
|
210
|
+
PlainValidator(validate_open_enum(False)),
|
|
211
|
+
],
|
|
204
212
|
pydantic.Field(alias="signatureVersion"),
|
|
205
213
|
] = OutputCriblLakeSignatureVersion.V4
|
|
206
214
|
r"""Signature version to use for signing S3 requests"""
|
|
@@ -249,17 +257,28 @@ class OutputCriblLake(BaseModel):
|
|
|
249
257
|
r"""Lake dataset to send the data to."""
|
|
250
258
|
|
|
251
259
|
object_acl: Annotated[
|
|
252
|
-
|
|
260
|
+
Annotated[
|
|
261
|
+
Optional[OutputCriblLakeObjectACL],
|
|
262
|
+
PlainValidator(validate_open_enum(False)),
|
|
263
|
+
],
|
|
264
|
+
pydantic.Field(alias="objectACL"),
|
|
253
265
|
] = OutputCriblLakeObjectACL.PRIVATE
|
|
254
266
|
r"""Object ACL to assign to uploaded objects"""
|
|
255
267
|
|
|
256
268
|
storage_class: Annotated[
|
|
257
|
-
|
|
269
|
+
Annotated[
|
|
270
|
+
Optional[OutputCriblLakeStorageClass],
|
|
271
|
+
PlainValidator(validate_open_enum(False)),
|
|
272
|
+
],
|
|
273
|
+
pydantic.Field(alias="storageClass"),
|
|
258
274
|
] = None
|
|
259
275
|
r"""Storage class to select for uploaded objects"""
|
|
260
276
|
|
|
261
277
|
server_side_encryption: Annotated[
|
|
262
|
-
|
|
278
|
+
Annotated[
|
|
279
|
+
Optional[OutputCriblLakeServerSideEncryptionForUploadedObjects],
|
|
280
|
+
PlainValidator(validate_open_enum(False)),
|
|
281
|
+
],
|
|
263
282
|
pydantic.Field(alias="serverSideEncryption"),
|
|
264
283
|
] = None
|
|
265
284
|
|
|
@@ -300,7 +319,10 @@ class OutputCriblLake(BaseModel):
|
|
|
300
319
|
r"""Buffer size used to write to a file"""
|
|
301
320
|
|
|
302
321
|
on_backpressure: Annotated[
|
|
303
|
-
|
|
322
|
+
Annotated[
|
|
323
|
+
Optional[OutputCriblLakeBackpressureBehavior],
|
|
324
|
+
PlainValidator(validate_open_enum(False)),
|
|
325
|
+
],
|
|
304
326
|
pydantic.Field(alias="onBackpressure"),
|
|
305
327
|
] = OutputCriblLakeBackpressureBehavior.BLOCK
|
|
306
328
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
@@ -311,7 +333,10 @@ class OutputCriblLake(BaseModel):
|
|
|
311
333
|
r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors"""
|
|
312
334
|
|
|
313
335
|
on_disk_full_backpressure: Annotated[
|
|
314
|
-
|
|
336
|
+
Annotated[
|
|
337
|
+
Optional[OutputCriblLakeDiskSpaceProtection],
|
|
338
|
+
PlainValidator(validate_open_enum(False)),
|
|
339
|
+
],
|
|
315
340
|
pydantic.Field(alias="onDiskFullBackpressure"),
|
|
316
341
|
] = OutputCriblLakeDiskSpaceProtection.BLOCK
|
|
317
342
|
r"""How to handle events when disk space is below the global 'Min free disk space' limit"""
|
|
@@ -337,12 +362,17 @@ class OutputCriblLake(BaseModel):
|
|
|
337
362
|
r"""Maximum number of files that can be waiting for upload before backpressure is applied"""
|
|
338
363
|
|
|
339
364
|
aws_authentication_method: Annotated[
|
|
340
|
-
|
|
365
|
+
Annotated[
|
|
366
|
+
Optional[AwsAuthenticationMethod], PlainValidator(validate_open_enum(False))
|
|
367
|
+
],
|
|
341
368
|
pydantic.Field(alias="awsAuthenticationMethod"),
|
|
342
369
|
] = AwsAuthenticationMethod.AUTO
|
|
343
370
|
|
|
344
371
|
format_: Annotated[
|
|
345
|
-
|
|
372
|
+
Annotated[
|
|
373
|
+
Optional[OutputCriblLakeFormat], PlainValidator(validate_open_enum(False))
|
|
374
|
+
],
|
|
375
|
+
pydantic.Field(alias="format"),
|
|
346
376
|
] = None
|
|
347
377
|
|
|
348
378
|
max_concurrent_file_parts: Annotated[
|
|
@@ -1,9 +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
5
|
from cribl_control_plane.types import BaseModel
|
|
6
|
+
from cribl_control_plane.utils import validate_open_enum
|
|
5
7
|
from enum import Enum
|
|
6
8
|
import pydantic
|
|
9
|
+
from pydantic.functional_validators import PlainValidator
|
|
7
10
|
from typing import List, Optional
|
|
8
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
12
|
|
|
@@ -12,21 +15,21 @@ class OutputCriblTCPType(str, Enum):
|
|
|
12
15
|
CRIBL_TCP = "cribl_tcp"
|
|
13
16
|
|
|
14
17
|
|
|
15
|
-
class OutputCriblTCPCompression(str, Enum):
|
|
18
|
+
class OutputCriblTCPCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
16
19
|
r"""Codec to use to compress the data before sending"""
|
|
17
20
|
|
|
18
21
|
NONE = "none"
|
|
19
22
|
GZIP = "gzip"
|
|
20
23
|
|
|
21
24
|
|
|
22
|
-
class OutputCriblTCPMinimumTLSVersion(str, Enum):
|
|
25
|
+
class OutputCriblTCPMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
23
26
|
TL_SV1 = "TLSv1"
|
|
24
27
|
TL_SV1_1 = "TLSv1.1"
|
|
25
28
|
TL_SV1_2 = "TLSv1.2"
|
|
26
29
|
TL_SV1_3 = "TLSv1.3"
|
|
27
30
|
|
|
28
31
|
|
|
29
|
-
class OutputCriblTCPMaximumTLSVersion(str, Enum):
|
|
32
|
+
class OutputCriblTCPMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
30
33
|
TL_SV1 = "TLSv1"
|
|
31
34
|
TL_SV1_1 = "TLSv1.1"
|
|
32
35
|
TL_SV1_2 = "TLSv1.2"
|
|
@@ -86,15 +89,23 @@ class OutputCriblTCPTLSSettingsClientSide(BaseModel):
|
|
|
86
89
|
r"""Passphrase to use to decrypt private key"""
|
|
87
90
|
|
|
88
91
|
min_version: Annotated[
|
|
89
|
-
|
|
92
|
+
Annotated[
|
|
93
|
+
Optional[OutputCriblTCPMinimumTLSVersion],
|
|
94
|
+
PlainValidator(validate_open_enum(False)),
|
|
95
|
+
],
|
|
96
|
+
pydantic.Field(alias="minVersion"),
|
|
90
97
|
] = None
|
|
91
98
|
|
|
92
99
|
max_version: Annotated[
|
|
93
|
-
|
|
100
|
+
Annotated[
|
|
101
|
+
Optional[OutputCriblTCPMaximumTLSVersion],
|
|
102
|
+
PlainValidator(validate_open_enum(False)),
|
|
103
|
+
],
|
|
104
|
+
pydantic.Field(alias="maxVersion"),
|
|
94
105
|
] = None
|
|
95
106
|
|
|
96
107
|
|
|
97
|
-
class OutputCriblTCPBackpressureBehavior(str, Enum):
|
|
108
|
+
class OutputCriblTCPBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
98
109
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
99
110
|
|
|
100
111
|
BLOCK = "block"
|
|
@@ -102,7 +113,7 @@ class OutputCriblTCPBackpressureBehavior(str, Enum):
|
|
|
102
113
|
QUEUE = "queue"
|
|
103
114
|
|
|
104
115
|
|
|
105
|
-
class OutputCriblTCPTLS(str, Enum):
|
|
116
|
+
class OutputCriblTCPTLS(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
106
117
|
r"""Whether to inherit TLS configs from group setting or disable TLS"""
|
|
107
118
|
|
|
108
119
|
INHERIT = "inherit"
|
|
@@ -129,7 +140,9 @@ class OutputCriblTCPHost(BaseModel):
|
|
|
129
140
|
port: Optional[float] = 10300
|
|
130
141
|
r"""The port to connect to on the provided host"""
|
|
131
142
|
|
|
132
|
-
tls:
|
|
143
|
+
tls: Annotated[
|
|
144
|
+
Optional[OutputCriblTCPTLS], PlainValidator(validate_open_enum(False))
|
|
145
|
+
] = OutputCriblTCPTLS.INHERIT
|
|
133
146
|
r"""Whether to inherit TLS configs from group setting or disable TLS"""
|
|
134
147
|
|
|
135
148
|
servername: Optional[str] = None
|
|
@@ -139,21 +152,21 @@ class OutputCriblTCPHost(BaseModel):
|
|
|
139
152
|
r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability"""
|
|
140
153
|
|
|
141
154
|
|
|
142
|
-
class OutputCriblTCPPqCompressCompression(str, Enum):
|
|
155
|
+
class OutputCriblTCPPqCompressCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
143
156
|
r"""Codec to use to compress the persisted data"""
|
|
144
157
|
|
|
145
158
|
NONE = "none"
|
|
146
159
|
GZIP = "gzip"
|
|
147
160
|
|
|
148
161
|
|
|
149
|
-
class OutputCriblTCPQueueFullBehavior(str, Enum):
|
|
162
|
+
class OutputCriblTCPQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
150
163
|
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."""
|
|
151
164
|
|
|
152
165
|
BLOCK = "block"
|
|
153
166
|
DROP = "drop"
|
|
154
167
|
|
|
155
168
|
|
|
156
|
-
class OutputCriblTCPMode(str, Enum):
|
|
169
|
+
class OutputCriblTCPMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
157
170
|
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."""
|
|
158
171
|
|
|
159
172
|
ERROR = "error"
|
|
@@ -255,7 +268,9 @@ class OutputCriblTCP(BaseModel):
|
|
|
255
268
|
)
|
|
256
269
|
r"""Use load-balanced destinations"""
|
|
257
270
|
|
|
258
|
-
compression:
|
|
271
|
+
compression: Annotated[
|
|
272
|
+
Optional[OutputCriblTCPCompression], PlainValidator(validate_open_enum(False))
|
|
273
|
+
] = OutputCriblTCPCompression.GZIP
|
|
259
274
|
r"""Codec to use to compress the data before sending"""
|
|
260
275
|
|
|
261
276
|
log_failed_requests: Annotated[
|
|
@@ -291,7 +306,10 @@ class OutputCriblTCP(BaseModel):
|
|
|
291
306
|
r"""Fields to exclude from the event. By default, all internal fields except `__output` are sent. Example: `cribl_pipe`, `c*`. Wildcards supported."""
|
|
292
307
|
|
|
293
308
|
on_backpressure: Annotated[
|
|
294
|
-
|
|
309
|
+
Annotated[
|
|
310
|
+
Optional[OutputCriblTCPBackpressureBehavior],
|
|
311
|
+
PlainValidator(validate_open_enum(False)),
|
|
312
|
+
],
|
|
295
313
|
pydantic.Field(alias="onBackpressure"),
|
|
296
314
|
] = OutputCriblTCPBackpressureBehavior.BLOCK
|
|
297
315
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
@@ -339,20 +357,29 @@ class OutputCriblTCP(BaseModel):
|
|
|
339
357
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
|
|
340
358
|
|
|
341
359
|
pq_compress: Annotated[
|
|
342
|
-
|
|
360
|
+
Annotated[
|
|
361
|
+
Optional[OutputCriblTCPPqCompressCompression],
|
|
362
|
+
PlainValidator(validate_open_enum(False)),
|
|
363
|
+
],
|
|
343
364
|
pydantic.Field(alias="pqCompress"),
|
|
344
365
|
] = OutputCriblTCPPqCompressCompression.NONE
|
|
345
366
|
r"""Codec to use to compress the persisted data"""
|
|
346
367
|
|
|
347
368
|
pq_on_backpressure: Annotated[
|
|
348
|
-
|
|
369
|
+
Annotated[
|
|
370
|
+
Optional[OutputCriblTCPQueueFullBehavior],
|
|
371
|
+
PlainValidator(validate_open_enum(False)),
|
|
372
|
+
],
|
|
349
373
|
pydantic.Field(alias="pqOnBackpressure"),
|
|
350
374
|
] = OutputCriblTCPQueueFullBehavior.BLOCK
|
|
351
375
|
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."""
|
|
352
376
|
|
|
353
|
-
pq_mode: Annotated[
|
|
354
|
-
|
|
355
|
-
|
|
377
|
+
pq_mode: Annotated[
|
|
378
|
+
Annotated[
|
|
379
|
+
Optional[OutputCriblTCPMode], PlainValidator(validate_open_enum(False))
|
|
380
|
+
],
|
|
381
|
+
pydantic.Field(alias="pqMode"),
|
|
382
|
+
] = OutputCriblTCPMode.ERROR
|
|
356
383
|
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."""
|
|
357
384
|
|
|
358
385
|
pq_controls: Annotated[
|
|
@@ -1,9 +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
5
|
from cribl_control_plane.types import BaseModel
|
|
6
|
+
from cribl_control_plane.utils import validate_open_enum
|
|
5
7
|
from enum import Enum
|
|
6
8
|
import pydantic
|
|
9
|
+
from pydantic.functional_validators import PlainValidator
|
|
7
10
|
from typing import List, Optional
|
|
8
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
12
|
|
|
@@ -23,7 +26,9 @@ class OutputCrowdstrikeNextGenSiemExtraHTTPHeader(BaseModel):
|
|
|
23
26
|
name: Optional[str] = None
|
|
24
27
|
|
|
25
28
|
|
|
26
|
-
class OutputCrowdstrikeNextGenSiemFailedRequestLoggingMode(
|
|
29
|
+
class OutputCrowdstrikeNextGenSiemFailedRequestLoggingMode(
|
|
30
|
+
str, Enum, metaclass=utils.OpenEnumMeta
|
|
31
|
+
):
|
|
27
32
|
r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
|
|
28
33
|
|
|
29
34
|
PAYLOAD = "payload"
|
|
@@ -31,14 +36,18 @@ class OutputCrowdstrikeNextGenSiemFailedRequestLoggingMode(str, Enum):
|
|
|
31
36
|
NONE = "none"
|
|
32
37
|
|
|
33
38
|
|
|
34
|
-
class OutputCrowdstrikeNextGenSiemRequestFormat(
|
|
39
|
+
class OutputCrowdstrikeNextGenSiemRequestFormat(
|
|
40
|
+
str, Enum, metaclass=utils.OpenEnumMeta
|
|
41
|
+
):
|
|
35
42
|
r"""When set to JSON, the event is automatically formatted with required fields before sending. When set to Raw, only the event's `_raw` value is sent."""
|
|
36
43
|
|
|
37
44
|
JSON = "JSON"
|
|
38
45
|
RAW = "raw"
|
|
39
46
|
|
|
40
47
|
|
|
41
|
-
class OutputCrowdstrikeNextGenSiemAuthenticationMethod(
|
|
48
|
+
class OutputCrowdstrikeNextGenSiemAuthenticationMethod(
|
|
49
|
+
str, Enum, metaclass=utils.OpenEnumMeta
|
|
50
|
+
):
|
|
42
51
|
r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
|
|
43
52
|
|
|
44
53
|
MANUAL = "manual"
|
|
@@ -99,7 +108,9 @@ class OutputCrowdstrikeNextGenSiemTimeoutRetrySettings(BaseModel):
|
|
|
99
108
|
r"""The maximum backoff interval, in milliseconds, Cribl Stream should apply. Default (and minimum) is 10,000 ms (10 seconds); maximum is 180,000 ms (180 seconds)."""
|
|
100
109
|
|
|
101
110
|
|
|
102
|
-
class OutputCrowdstrikeNextGenSiemBackpressureBehavior(
|
|
111
|
+
class OutputCrowdstrikeNextGenSiemBackpressureBehavior(
|
|
112
|
+
str, Enum, metaclass=utils.OpenEnumMeta
|
|
113
|
+
):
|
|
103
114
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
104
115
|
|
|
105
116
|
BLOCK = "block"
|
|
@@ -107,21 +118,23 @@ class OutputCrowdstrikeNextGenSiemBackpressureBehavior(str, Enum):
|
|
|
107
118
|
QUEUE = "queue"
|
|
108
119
|
|
|
109
120
|
|
|
110
|
-
class OutputCrowdstrikeNextGenSiemCompression(str, Enum):
|
|
121
|
+
class OutputCrowdstrikeNextGenSiemCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
111
122
|
r"""Codec to use to compress the persisted data"""
|
|
112
123
|
|
|
113
124
|
NONE = "none"
|
|
114
125
|
GZIP = "gzip"
|
|
115
126
|
|
|
116
127
|
|
|
117
|
-
class OutputCrowdstrikeNextGenSiemQueueFullBehavior(
|
|
128
|
+
class OutputCrowdstrikeNextGenSiemQueueFullBehavior(
|
|
129
|
+
str, Enum, metaclass=utils.OpenEnumMeta
|
|
130
|
+
):
|
|
118
131
|
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."""
|
|
119
132
|
|
|
120
133
|
BLOCK = "block"
|
|
121
134
|
DROP = "drop"
|
|
122
135
|
|
|
123
136
|
|
|
124
|
-
class OutputCrowdstrikeNextGenSiemMode(str, Enum):
|
|
137
|
+
class OutputCrowdstrikeNextGenSiemMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
125
138
|
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."""
|
|
126
139
|
|
|
127
140
|
ERROR = "error"
|
|
@@ -285,7 +298,10 @@ class OutputCrowdstrikeNextGenSiem(BaseModel):
|
|
|
285
298
|
r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations."""
|
|
286
299
|
|
|
287
300
|
failed_request_logging_mode: Annotated[
|
|
288
|
-
|
|
301
|
+
Annotated[
|
|
302
|
+
Optional[OutputCrowdstrikeNextGenSiemFailedRequestLoggingMode],
|
|
303
|
+
PlainValidator(validate_open_enum(False)),
|
|
304
|
+
],
|
|
289
305
|
pydantic.Field(alias="failedRequestLoggingMode"),
|
|
290
306
|
] = OutputCrowdstrikeNextGenSiemFailedRequestLoggingMode.NONE
|
|
291
307
|
r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
|
|
@@ -296,13 +312,19 @@ class OutputCrowdstrikeNextGenSiem(BaseModel):
|
|
|
296
312
|
r"""List of headers that are safe to log in plain text"""
|
|
297
313
|
|
|
298
314
|
format_: Annotated[
|
|
299
|
-
|
|
315
|
+
Annotated[
|
|
316
|
+
Optional[OutputCrowdstrikeNextGenSiemRequestFormat],
|
|
317
|
+
PlainValidator(validate_open_enum(False)),
|
|
318
|
+
],
|
|
300
319
|
pydantic.Field(alias="format"),
|
|
301
320
|
] = OutputCrowdstrikeNextGenSiemRequestFormat.JSON
|
|
302
321
|
r"""When set to JSON, the event is automatically formatted with required fields before sending. When set to Raw, only the event's `_raw` value is sent."""
|
|
303
322
|
|
|
304
323
|
auth_type: Annotated[
|
|
305
|
-
|
|
324
|
+
Annotated[
|
|
325
|
+
Optional[OutputCrowdstrikeNextGenSiemAuthenticationMethod],
|
|
326
|
+
PlainValidator(validate_open_enum(False)),
|
|
327
|
+
],
|
|
306
328
|
pydantic.Field(alias="authType"),
|
|
307
329
|
] = OutputCrowdstrikeNextGenSiemAuthenticationMethod.MANUAL
|
|
308
330
|
r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
|
|
@@ -324,7 +346,10 @@ class OutputCrowdstrikeNextGenSiem(BaseModel):
|
|
|
324
346
|
r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored."""
|
|
325
347
|
|
|
326
348
|
on_backpressure: Annotated[
|
|
327
|
-
|
|
349
|
+
Annotated[
|
|
350
|
+
Optional[OutputCrowdstrikeNextGenSiemBackpressureBehavior],
|
|
351
|
+
PlainValidator(validate_open_enum(False)),
|
|
352
|
+
],
|
|
328
353
|
pydantic.Field(alias="onBackpressure"),
|
|
329
354
|
] = OutputCrowdstrikeNextGenSiemBackpressureBehavior.BLOCK
|
|
330
355
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
@@ -350,19 +375,29 @@ class OutputCrowdstrikeNextGenSiem(BaseModel):
|
|
|
350
375
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
|
|
351
376
|
|
|
352
377
|
pq_compress: Annotated[
|
|
353
|
-
|
|
378
|
+
Annotated[
|
|
379
|
+
Optional[OutputCrowdstrikeNextGenSiemCompression],
|
|
380
|
+
PlainValidator(validate_open_enum(False)),
|
|
381
|
+
],
|
|
354
382
|
pydantic.Field(alias="pqCompress"),
|
|
355
383
|
] = OutputCrowdstrikeNextGenSiemCompression.NONE
|
|
356
384
|
r"""Codec to use to compress the persisted data"""
|
|
357
385
|
|
|
358
386
|
pq_on_backpressure: Annotated[
|
|
359
|
-
|
|
387
|
+
Annotated[
|
|
388
|
+
Optional[OutputCrowdstrikeNextGenSiemQueueFullBehavior],
|
|
389
|
+
PlainValidator(validate_open_enum(False)),
|
|
390
|
+
],
|
|
360
391
|
pydantic.Field(alias="pqOnBackpressure"),
|
|
361
392
|
] = OutputCrowdstrikeNextGenSiemQueueFullBehavior.BLOCK
|
|
362
393
|
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."""
|
|
363
394
|
|
|
364
395
|
pq_mode: Annotated[
|
|
365
|
-
|
|
396
|
+
Annotated[
|
|
397
|
+
Optional[OutputCrowdstrikeNextGenSiemMode],
|
|
398
|
+
PlainValidator(validate_open_enum(False)),
|
|
399
|
+
],
|
|
400
|
+
pydantic.Field(alias="pqMode"),
|
|
366
401
|
] = OutputCrowdstrikeNextGenSiemMode.ERROR
|
|
367
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."""
|
|
368
403
|
|