cribl-control-plane 0.0.15__py3-none-any.whl → 0.0.17__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 -3
- cribl_control_plane/{outputs.py → destinations.py} +69 -71
- cribl_control_plane/errors/healthstatus_error.py +2 -8
- cribl_control_plane/models/__init__.py +5347 -115
- cribl_control_plane/models/createinputop.py +18216 -2
- cribl_control_plane/models/createoutputop.py +18417 -4
- cribl_control_plane/models/createoutputtestbyidop.py +2 -2
- cribl_control_plane/models/deleteoutputbyidop.py +2 -2
- cribl_control_plane/models/deleteoutputpqbyidop.py +2 -2
- cribl_control_plane/models/getoutputbyidop.py +2 -2
- cribl_control_plane/models/getoutputpqbyidop.py +2 -2
- cribl_control_plane/models/getoutputsamplesbyidop.py +2 -2
- cribl_control_plane/models/healthstatus.py +4 -7
- cribl_control_plane/models/inputappscope.py +16 -36
- cribl_control_plane/models/inputazureblob.py +8 -19
- cribl_control_plane/models/inputcollection.py +6 -15
- cribl_control_plane/models/inputconfluentcloud.py +22 -45
- cribl_control_plane/models/inputcribl.py +6 -13
- cribl_control_plane/models/inputcriblhttp.py +12 -27
- cribl_control_plane/models/inputcribllakehttp.py +14 -26
- cribl_control_plane/models/inputcriblmetrics.py +6 -14
- cribl_control_plane/models/inputcribltcp.py +12 -27
- cribl_control_plane/models/inputcrowdstrike.py +12 -28
- cribl_control_plane/models/inputdatadogagent.py +12 -28
- cribl_control_plane/models/inputdatagen.py +6 -13
- cribl_control_plane/models/inputedgeprometheus.py +33 -64
- cribl_control_plane/models/inputelastic.py +18 -44
- cribl_control_plane/models/inputeventhub.py +10 -19
- cribl_control_plane/models/inputexec.py +8 -16
- cribl_control_plane/models/inputfile.py +8 -17
- cribl_control_plane/models/inputfirehose.py +12 -27
- cribl_control_plane/models/inputgooglepubsub.py +10 -23
- cribl_control_plane/models/inputgrafana_union.py +39 -81
- cribl_control_plane/models/inputhttp.py +12 -27
- cribl_control_plane/models/inputhttpraw.py +12 -27
- cribl_control_plane/models/inputjournalfiles.py +8 -16
- cribl_control_plane/models/inputkafka.py +18 -45
- cribl_control_plane/models/inputkinesis.py +18 -42
- cribl_control_plane/models/inputkubeevents.py +6 -13
- cribl_control_plane/models/inputkubelogs.py +10 -18
- cribl_control_plane/models/inputkubemetrics.py +10 -18
- cribl_control_plane/models/inputloki.py +14 -33
- cribl_control_plane/models/inputmetrics.py +10 -25
- cribl_control_plane/models/inputmodeldriventelemetry.py +14 -33
- cribl_control_plane/models/inputmsk.py +20 -52
- cribl_control_plane/models/inputnetflow.py +8 -15
- cribl_control_plane/models/inputoffice365mgmt.py +18 -37
- cribl_control_plane/models/inputoffice365msgtrace.py +20 -41
- cribl_control_plane/models/inputoffice365service.py +20 -41
- cribl_control_plane/models/inputopentelemetry.py +20 -42
- cribl_control_plane/models/inputprometheus.py +22 -54
- cribl_control_plane/models/inputprometheusrw.py +14 -34
- cribl_control_plane/models/inputrawudp.py +8 -15
- cribl_control_plane/models/inputs3.py +10 -23
- cribl_control_plane/models/inputs3inventory.py +12 -28
- cribl_control_plane/models/inputsecuritylake.py +12 -29
- cribl_control_plane/models/inputsnmp.py +10 -20
- cribl_control_plane/models/inputsplunk.py +16 -37
- cribl_control_plane/models/inputsplunkhec.py +14 -33
- cribl_control_plane/models/inputsplunksearch.py +18 -37
- cribl_control_plane/models/inputsqs.py +14 -31
- cribl_control_plane/models/inputsyslog_union.py +29 -53
- cribl_control_plane/models/inputsystemmetrics.py +26 -50
- cribl_control_plane/models/inputsystemstate.py +10 -18
- cribl_control_plane/models/inputtcp.py +14 -33
- cribl_control_plane/models/inputtcpjson.py +14 -33
- cribl_control_plane/models/inputwef.py +22 -45
- cribl_control_plane/models/inputwindowsmetrics.py +26 -46
- cribl_control_plane/models/inputwineventlogs.py +12 -22
- cribl_control_plane/models/inputwiz.py +12 -25
- cribl_control_plane/models/inputzscalerhec.py +14 -33
- cribl_control_plane/models/listoutputop.py +2 -2
- cribl_control_plane/models/output.py +3 -6
- cribl_control_plane/models/outputazureblob.py +20 -52
- cribl_control_plane/models/outputazuredataexplorer.py +30 -77
- cribl_control_plane/models/outputazureeventhub.py +20 -44
- cribl_control_plane/models/outputazurelogs.py +14 -37
- cribl_control_plane/models/outputclickhouse.py +22 -59
- cribl_control_plane/models/outputcloudwatch.py +12 -33
- cribl_control_plane/models/outputconfluentcloud.py +32 -75
- cribl_control_plane/models/outputcriblhttp.py +18 -46
- cribl_control_plane/models/outputcribllake.py +18 -48
- cribl_control_plane/models/outputcribltcp.py +20 -47
- cribl_control_plane/models/outputcrowdstrikenextgensiem.py +16 -54
- cribl_control_plane/models/outputdatadog.py +22 -50
- cribl_control_plane/models/outputdataset.py +20 -48
- cribl_control_plane/models/outputdefault.py +2 -5
- cribl_control_plane/models/outputdevnull.py +2 -5
- cribl_control_plane/models/outputdiskspool.py +4 -9
- cribl_control_plane/models/outputdls3.py +26 -72
- cribl_control_plane/models/outputdynatracehttp.py +22 -57
- cribl_control_plane/models/outputdynatraceotlp.py +24 -59
- cribl_control_plane/models/outputelastic.py +20 -45
- cribl_control_plane/models/outputelasticcloud.py +14 -40
- cribl_control_plane/models/outputexabeam.py +12 -33
- cribl_control_plane/models/outputfilesystem.py +16 -41
- cribl_control_plane/models/outputgooglechronicle.py +18 -54
- cribl_control_plane/models/outputgooglecloudlogging.py +16 -46
- cribl_control_plane/models/outputgooglecloudstorage.py +26 -71
- cribl_control_plane/models/outputgooglepubsub.py +16 -39
- cribl_control_plane/models/{outputgrafanacloud_union.py → outputgrafanacloud.py} +49 -110
- cribl_control_plane/models/outputgraphite.py +16 -35
- cribl_control_plane/models/outputhoneycomb.py +14 -37
- cribl_control_plane/models/outputhumiohec.py +18 -47
- cribl_control_plane/models/outputinfluxdb.py +18 -44
- cribl_control_plane/models/outputkafka.py +28 -73
- cribl_control_plane/models/outputkinesis.py +18 -44
- cribl_control_plane/models/outputloki.py +18 -43
- cribl_control_plane/models/outputminio.py +26 -69
- cribl_control_plane/models/outputmsk.py +30 -81
- cribl_control_plane/models/outputnetflow.py +2 -5
- cribl_control_plane/models/outputnewrelic.py +20 -45
- cribl_control_plane/models/outputnewrelicevents.py +16 -45
- cribl_control_plane/models/outputopentelemetry.py +28 -69
- cribl_control_plane/models/outputprometheus.py +14 -37
- cribl_control_plane/models/outputring.py +10 -21
- cribl_control_plane/models/outputrouter.py +2 -5
- cribl_control_plane/models/outputs3.py +28 -72
- cribl_control_plane/models/outputsecuritylake.py +20 -56
- cribl_control_plane/models/outputsentinel.py +20 -49
- cribl_control_plane/models/outputsentineloneaisiem.py +20 -54
- cribl_control_plane/models/outputservicenow.py +26 -64
- cribl_control_plane/models/outputsignalfx.py +16 -39
- cribl_control_plane/models/outputsnmp.py +2 -5
- cribl_control_plane/models/outputsns.py +16 -40
- cribl_control_plane/models/outputsplunk.py +26 -64
- cribl_control_plane/models/outputsplunkhec.py +14 -37
- cribl_control_plane/models/outputsplunklb.py +36 -83
- cribl_control_plane/models/outputsqs.py +18 -45
- cribl_control_plane/models/outputstatsd.py +16 -34
- cribl_control_plane/models/outputstatsdext.py +14 -33
- cribl_control_plane/models/outputsumologic.py +14 -37
- cribl_control_plane/models/outputsyslog.py +26 -60
- cribl_control_plane/models/outputtcpjson.py +22 -54
- cribl_control_plane/models/outputwavefront.py +14 -37
- cribl_control_plane/models/outputwebhook.py +24 -60
- cribl_control_plane/models/outputxsiam.py +16 -37
- cribl_control_plane/models/updateoutputbyidop.py +4 -4
- cribl_control_plane/sdk.py +3 -5
- cribl_control_plane/sources.py +8 -10
- {cribl_control_plane-0.0.15.dist-info → cribl_control_plane-0.0.17.dist-info}/METADATA +13 -13
- cribl_control_plane-0.0.17.dist-info/RECORD +215 -0
- cribl_control_plane-0.0.15.dist-info/RECORD +0 -215
- {cribl_control_plane-0.0.15.dist-info → cribl_control_plane-0.0.17.dist-info}/WHEEL +0 -0
|
@@ -1,35 +1,32 @@
|
|
|
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
|
|
5
4
|
from cribl_control_plane.types import BaseModel
|
|
6
|
-
from cribl_control_plane.utils import validate_open_enum
|
|
7
5
|
from enum import Enum
|
|
8
6
|
import pydantic
|
|
9
|
-
from pydantic.functional_validators import PlainValidator
|
|
10
7
|
from typing import List, Optional
|
|
11
8
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
9
|
|
|
13
10
|
|
|
14
|
-
class OutputCriblTCPType(str, Enum
|
|
11
|
+
class OutputCriblTCPType(str, Enum):
|
|
15
12
|
CRIBL_TCP = "cribl_tcp"
|
|
16
13
|
|
|
17
14
|
|
|
18
|
-
class OutputCriblTCPCompression(str, Enum
|
|
15
|
+
class OutputCriblTCPCompression(str, Enum):
|
|
19
16
|
r"""Codec to use to compress the data before sending"""
|
|
20
17
|
|
|
21
18
|
NONE = "none"
|
|
22
19
|
GZIP = "gzip"
|
|
23
20
|
|
|
24
21
|
|
|
25
|
-
class OutputCriblTCPMinimumTLSVersion(str, Enum
|
|
22
|
+
class OutputCriblTCPMinimumTLSVersion(str, Enum):
|
|
26
23
|
TL_SV1 = "TLSv1"
|
|
27
24
|
TL_SV1_1 = "TLSv1.1"
|
|
28
25
|
TL_SV1_2 = "TLSv1.2"
|
|
29
26
|
TL_SV1_3 = "TLSv1.3"
|
|
30
27
|
|
|
31
28
|
|
|
32
|
-
class OutputCriblTCPMaximumTLSVersion(str, Enum
|
|
29
|
+
class OutputCriblTCPMaximumTLSVersion(str, Enum):
|
|
33
30
|
TL_SV1 = "TLSv1"
|
|
34
31
|
TL_SV1_1 = "TLSv1.1"
|
|
35
32
|
TL_SV1_2 = "TLSv1.2"
|
|
@@ -89,23 +86,15 @@ class OutputCriblTCPTLSSettingsClientSide(BaseModel):
|
|
|
89
86
|
r"""Passphrase to use to decrypt private key"""
|
|
90
87
|
|
|
91
88
|
min_version: Annotated[
|
|
92
|
-
|
|
93
|
-
Optional[OutputCriblTCPMinimumTLSVersion],
|
|
94
|
-
PlainValidator(validate_open_enum(False)),
|
|
95
|
-
],
|
|
96
|
-
pydantic.Field(alias="minVersion"),
|
|
89
|
+
Optional[OutputCriblTCPMinimumTLSVersion], pydantic.Field(alias="minVersion")
|
|
97
90
|
] = None
|
|
98
91
|
|
|
99
92
|
max_version: Annotated[
|
|
100
|
-
|
|
101
|
-
Optional[OutputCriblTCPMaximumTLSVersion],
|
|
102
|
-
PlainValidator(validate_open_enum(False)),
|
|
103
|
-
],
|
|
104
|
-
pydantic.Field(alias="maxVersion"),
|
|
93
|
+
Optional[OutputCriblTCPMaximumTLSVersion], pydantic.Field(alias="maxVersion")
|
|
105
94
|
] = None
|
|
106
95
|
|
|
107
96
|
|
|
108
|
-
class OutputCriblTCPBackpressureBehavior(str, Enum
|
|
97
|
+
class OutputCriblTCPBackpressureBehavior(str, Enum):
|
|
109
98
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
110
99
|
|
|
111
100
|
BLOCK = "block"
|
|
@@ -113,7 +102,7 @@ class OutputCriblTCPBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta
|
|
|
113
102
|
QUEUE = "queue"
|
|
114
103
|
|
|
115
104
|
|
|
116
|
-
class OutputCriblTCPTLS(str, Enum
|
|
105
|
+
class OutputCriblTCPTLS(str, Enum):
|
|
117
106
|
r"""Whether to inherit TLS configs from group setting or disable TLS"""
|
|
118
107
|
|
|
119
108
|
INHERIT = "inherit"
|
|
@@ -140,9 +129,7 @@ class OutputCriblTCPHost(BaseModel):
|
|
|
140
129
|
port: Optional[float] = 10300
|
|
141
130
|
r"""The port to connect to on the provided host"""
|
|
142
131
|
|
|
143
|
-
tls:
|
|
144
|
-
Optional[OutputCriblTCPTLS], PlainValidator(validate_open_enum(False))
|
|
145
|
-
] = OutputCriblTCPTLS.INHERIT
|
|
132
|
+
tls: Optional[OutputCriblTCPTLS] = OutputCriblTCPTLS.INHERIT
|
|
146
133
|
r"""Whether to inherit TLS configs from group setting or disable TLS"""
|
|
147
134
|
|
|
148
135
|
servername: Optional[str] = None
|
|
@@ -152,21 +139,21 @@ class OutputCriblTCPHost(BaseModel):
|
|
|
152
139
|
r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability"""
|
|
153
140
|
|
|
154
141
|
|
|
155
|
-
class OutputCriblTCPPqCompressCompression(str, Enum
|
|
142
|
+
class OutputCriblTCPPqCompressCompression(str, Enum):
|
|
156
143
|
r"""Codec to use to compress the persisted data"""
|
|
157
144
|
|
|
158
145
|
NONE = "none"
|
|
159
146
|
GZIP = "gzip"
|
|
160
147
|
|
|
161
148
|
|
|
162
|
-
class OutputCriblTCPQueueFullBehavior(str, Enum
|
|
149
|
+
class OutputCriblTCPQueueFullBehavior(str, Enum):
|
|
163
150
|
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."""
|
|
164
151
|
|
|
165
152
|
BLOCK = "block"
|
|
166
153
|
DROP = "drop"
|
|
167
154
|
|
|
168
155
|
|
|
169
|
-
class OutputCriblTCPMode(str, Enum
|
|
156
|
+
class OutputCriblTCPMode(str, Enum):
|
|
170
157
|
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."""
|
|
171
158
|
|
|
172
159
|
ERROR = "error"
|
|
@@ -247,7 +234,7 @@ class OutputCriblTCP(BaseModel):
|
|
|
247
234
|
id: str
|
|
248
235
|
r"""Unique ID for this output"""
|
|
249
236
|
|
|
250
|
-
type:
|
|
237
|
+
type: OutputCriblTCPType
|
|
251
238
|
|
|
252
239
|
pipeline: Optional[str] = None
|
|
253
240
|
r"""Pipeline to process data before sending out to this output"""
|
|
@@ -268,9 +255,7 @@ class OutputCriblTCP(BaseModel):
|
|
|
268
255
|
)
|
|
269
256
|
r"""Use load-balanced destinations"""
|
|
270
257
|
|
|
271
|
-
compression:
|
|
272
|
-
Optional[OutputCriblTCPCompression], PlainValidator(validate_open_enum(False))
|
|
273
|
-
] = OutputCriblTCPCompression.GZIP
|
|
258
|
+
compression: Optional[OutputCriblTCPCompression] = OutputCriblTCPCompression.GZIP
|
|
274
259
|
r"""Codec to use to compress the data before sending"""
|
|
275
260
|
|
|
276
261
|
log_failed_requests: Annotated[
|
|
@@ -306,10 +291,7 @@ class OutputCriblTCP(BaseModel):
|
|
|
306
291
|
r"""Fields to exclude from the event. By default, all internal fields except `__output` are sent. Example: `cribl_pipe`, `c*`. Wildcards supported."""
|
|
307
292
|
|
|
308
293
|
on_backpressure: Annotated[
|
|
309
|
-
|
|
310
|
-
Optional[OutputCriblTCPBackpressureBehavior],
|
|
311
|
-
PlainValidator(validate_open_enum(False)),
|
|
312
|
-
],
|
|
294
|
+
Optional[OutputCriblTCPBackpressureBehavior],
|
|
313
295
|
pydantic.Field(alias="onBackpressure"),
|
|
314
296
|
] = OutputCriblTCPBackpressureBehavior.BLOCK
|
|
315
297
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
@@ -357,29 +339,20 @@ class OutputCriblTCP(BaseModel):
|
|
|
357
339
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
|
|
358
340
|
|
|
359
341
|
pq_compress: Annotated[
|
|
360
|
-
|
|
361
|
-
Optional[OutputCriblTCPPqCompressCompression],
|
|
362
|
-
PlainValidator(validate_open_enum(False)),
|
|
363
|
-
],
|
|
342
|
+
Optional[OutputCriblTCPPqCompressCompression],
|
|
364
343
|
pydantic.Field(alias="pqCompress"),
|
|
365
344
|
] = OutputCriblTCPPqCompressCompression.NONE
|
|
366
345
|
r"""Codec to use to compress the persisted data"""
|
|
367
346
|
|
|
368
347
|
pq_on_backpressure: Annotated[
|
|
369
|
-
|
|
370
|
-
Optional[OutputCriblTCPQueueFullBehavior],
|
|
371
|
-
PlainValidator(validate_open_enum(False)),
|
|
372
|
-
],
|
|
348
|
+
Optional[OutputCriblTCPQueueFullBehavior],
|
|
373
349
|
pydantic.Field(alias="pqOnBackpressure"),
|
|
374
350
|
] = OutputCriblTCPQueueFullBehavior.BLOCK
|
|
375
351
|
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."""
|
|
376
352
|
|
|
377
|
-
pq_mode: Annotated[
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
],
|
|
381
|
-
pydantic.Field(alias="pqMode"),
|
|
382
|
-
] = OutputCriblTCPMode.ERROR
|
|
353
|
+
pq_mode: Annotated[Optional[OutputCriblTCPMode], pydantic.Field(alias="pqMode")] = (
|
|
354
|
+
OutputCriblTCPMode.ERROR
|
|
355
|
+
)
|
|
383
356
|
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."""
|
|
384
357
|
|
|
385
358
|
pq_controls: Annotated[
|
|
@@ -1,17 +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
|
|
5
4
|
from cribl_control_plane.types import BaseModel
|
|
6
|
-
from cribl_control_plane.utils import validate_open_enum
|
|
7
5
|
from enum import Enum
|
|
8
6
|
import pydantic
|
|
9
|
-
from pydantic.functional_validators import PlainValidator
|
|
10
7
|
from typing import List, Optional
|
|
11
8
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
9
|
|
|
13
10
|
|
|
14
|
-
class OutputCrowdstrikeNextGenSiemType(str, Enum
|
|
11
|
+
class OutputCrowdstrikeNextGenSiemType(str, Enum):
|
|
15
12
|
CROWDSTRIKE_NEXT_GEN_SIEM = "crowdstrike_next_gen_siem"
|
|
16
13
|
|
|
17
14
|
|
|
@@ -26,9 +23,7 @@ class OutputCrowdstrikeNextGenSiemExtraHTTPHeader(BaseModel):
|
|
|
26
23
|
name: Optional[str] = None
|
|
27
24
|
|
|
28
25
|
|
|
29
|
-
class OutputCrowdstrikeNextGenSiemFailedRequestLoggingMode(
|
|
30
|
-
str, Enum, metaclass=utils.OpenEnumMeta
|
|
31
|
-
):
|
|
26
|
+
class OutputCrowdstrikeNextGenSiemFailedRequestLoggingMode(str, Enum):
|
|
32
27
|
r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
|
|
33
28
|
|
|
34
29
|
PAYLOAD = "payload"
|
|
@@ -36,18 +31,14 @@ class OutputCrowdstrikeNextGenSiemFailedRequestLoggingMode(
|
|
|
36
31
|
NONE = "none"
|
|
37
32
|
|
|
38
33
|
|
|
39
|
-
class OutputCrowdstrikeNextGenSiemRequestFormat(
|
|
40
|
-
str, Enum, metaclass=utils.OpenEnumMeta
|
|
41
|
-
):
|
|
34
|
+
class OutputCrowdstrikeNextGenSiemRequestFormat(str, Enum):
|
|
42
35
|
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."""
|
|
43
36
|
|
|
44
37
|
JSON = "JSON"
|
|
45
38
|
RAW = "raw"
|
|
46
39
|
|
|
47
40
|
|
|
48
|
-
class OutputCrowdstrikeNextGenSiemAuthenticationMethod(
|
|
49
|
-
str, Enum, metaclass=utils.OpenEnumMeta
|
|
50
|
-
):
|
|
41
|
+
class OutputCrowdstrikeNextGenSiemAuthenticationMethod(str, Enum):
|
|
51
42
|
r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
|
|
52
43
|
|
|
53
44
|
MANUAL = "manual"
|
|
@@ -108,9 +99,7 @@ class OutputCrowdstrikeNextGenSiemTimeoutRetrySettings(BaseModel):
|
|
|
108
99
|
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)."""
|
|
109
100
|
|
|
110
101
|
|
|
111
|
-
class OutputCrowdstrikeNextGenSiemBackpressureBehavior(
|
|
112
|
-
str, Enum, metaclass=utils.OpenEnumMeta
|
|
113
|
-
):
|
|
102
|
+
class OutputCrowdstrikeNextGenSiemBackpressureBehavior(str, Enum):
|
|
114
103
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
115
104
|
|
|
116
105
|
BLOCK = "block"
|
|
@@ -118,23 +107,21 @@ class OutputCrowdstrikeNextGenSiemBackpressureBehavior(
|
|
|
118
107
|
QUEUE = "queue"
|
|
119
108
|
|
|
120
109
|
|
|
121
|
-
class OutputCrowdstrikeNextGenSiemCompression(str, Enum
|
|
110
|
+
class OutputCrowdstrikeNextGenSiemCompression(str, Enum):
|
|
122
111
|
r"""Codec to use to compress the persisted data"""
|
|
123
112
|
|
|
124
113
|
NONE = "none"
|
|
125
114
|
GZIP = "gzip"
|
|
126
115
|
|
|
127
116
|
|
|
128
|
-
class OutputCrowdstrikeNextGenSiemQueueFullBehavior(
|
|
129
|
-
str, Enum, metaclass=utils.OpenEnumMeta
|
|
130
|
-
):
|
|
117
|
+
class OutputCrowdstrikeNextGenSiemQueueFullBehavior(str, Enum):
|
|
131
118
|
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."""
|
|
132
119
|
|
|
133
120
|
BLOCK = "block"
|
|
134
121
|
DROP = "drop"
|
|
135
122
|
|
|
136
123
|
|
|
137
|
-
class OutputCrowdstrikeNextGenSiemMode(str, Enum
|
|
124
|
+
class OutputCrowdstrikeNextGenSiemMode(str, Enum):
|
|
138
125
|
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."""
|
|
139
126
|
|
|
140
127
|
ERROR = "error"
|
|
@@ -238,10 +225,7 @@ class OutputCrowdstrikeNextGenSiem(BaseModel):
|
|
|
238
225
|
id: Optional[str] = None
|
|
239
226
|
r"""Unique ID for this output"""
|
|
240
227
|
|
|
241
|
-
type:
|
|
242
|
-
Optional[OutputCrowdstrikeNextGenSiemType],
|
|
243
|
-
PlainValidator(validate_open_enum(False)),
|
|
244
|
-
] = None
|
|
228
|
+
type: Optional[OutputCrowdstrikeNextGenSiemType] = None
|
|
245
229
|
|
|
246
230
|
pipeline: Optional[str] = None
|
|
247
231
|
r"""Pipeline to process data before sending out to this output"""
|
|
@@ -301,10 +285,7 @@ class OutputCrowdstrikeNextGenSiem(BaseModel):
|
|
|
301
285
|
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."""
|
|
302
286
|
|
|
303
287
|
failed_request_logging_mode: Annotated[
|
|
304
|
-
|
|
305
|
-
Optional[OutputCrowdstrikeNextGenSiemFailedRequestLoggingMode],
|
|
306
|
-
PlainValidator(validate_open_enum(False)),
|
|
307
|
-
],
|
|
288
|
+
Optional[OutputCrowdstrikeNextGenSiemFailedRequestLoggingMode],
|
|
308
289
|
pydantic.Field(alias="failedRequestLoggingMode"),
|
|
309
290
|
] = OutputCrowdstrikeNextGenSiemFailedRequestLoggingMode.NONE
|
|
310
291
|
r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
|
|
@@ -315,19 +296,13 @@ class OutputCrowdstrikeNextGenSiem(BaseModel):
|
|
|
315
296
|
r"""List of headers that are safe to log in plain text"""
|
|
316
297
|
|
|
317
298
|
format_: Annotated[
|
|
318
|
-
|
|
319
|
-
Optional[OutputCrowdstrikeNextGenSiemRequestFormat],
|
|
320
|
-
PlainValidator(validate_open_enum(False)),
|
|
321
|
-
],
|
|
299
|
+
Optional[OutputCrowdstrikeNextGenSiemRequestFormat],
|
|
322
300
|
pydantic.Field(alias="format"),
|
|
323
301
|
] = OutputCrowdstrikeNextGenSiemRequestFormat.RAW
|
|
324
302
|
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."""
|
|
325
303
|
|
|
326
304
|
auth_type: Annotated[
|
|
327
|
-
|
|
328
|
-
Optional[OutputCrowdstrikeNextGenSiemAuthenticationMethod],
|
|
329
|
-
PlainValidator(validate_open_enum(False)),
|
|
330
|
-
],
|
|
305
|
+
Optional[OutputCrowdstrikeNextGenSiemAuthenticationMethod],
|
|
331
306
|
pydantic.Field(alias="authType"),
|
|
332
307
|
] = OutputCrowdstrikeNextGenSiemAuthenticationMethod.MANUAL
|
|
333
308
|
r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
|
|
@@ -349,10 +324,7 @@ class OutputCrowdstrikeNextGenSiem(BaseModel):
|
|
|
349
324
|
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."""
|
|
350
325
|
|
|
351
326
|
on_backpressure: Annotated[
|
|
352
|
-
|
|
353
|
-
Optional[OutputCrowdstrikeNextGenSiemBackpressureBehavior],
|
|
354
|
-
PlainValidator(validate_open_enum(False)),
|
|
355
|
-
],
|
|
327
|
+
Optional[OutputCrowdstrikeNextGenSiemBackpressureBehavior],
|
|
356
328
|
pydantic.Field(alias="onBackpressure"),
|
|
357
329
|
] = OutputCrowdstrikeNextGenSiemBackpressureBehavior.BLOCK
|
|
358
330
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
@@ -378,29 +350,19 @@ class OutputCrowdstrikeNextGenSiem(BaseModel):
|
|
|
378
350
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
|
|
379
351
|
|
|
380
352
|
pq_compress: Annotated[
|
|
381
|
-
|
|
382
|
-
Optional[OutputCrowdstrikeNextGenSiemCompression],
|
|
383
|
-
PlainValidator(validate_open_enum(False)),
|
|
384
|
-
],
|
|
353
|
+
Optional[OutputCrowdstrikeNextGenSiemCompression],
|
|
385
354
|
pydantic.Field(alias="pqCompress"),
|
|
386
355
|
] = OutputCrowdstrikeNextGenSiemCompression.NONE
|
|
387
356
|
r"""Codec to use to compress the persisted data"""
|
|
388
357
|
|
|
389
358
|
pq_on_backpressure: Annotated[
|
|
390
|
-
|
|
391
|
-
Optional[OutputCrowdstrikeNextGenSiemQueueFullBehavior],
|
|
392
|
-
PlainValidator(validate_open_enum(False)),
|
|
393
|
-
],
|
|
359
|
+
Optional[OutputCrowdstrikeNextGenSiemQueueFullBehavior],
|
|
394
360
|
pydantic.Field(alias="pqOnBackpressure"),
|
|
395
361
|
] = OutputCrowdstrikeNextGenSiemQueueFullBehavior.BLOCK
|
|
396
362
|
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."""
|
|
397
363
|
|
|
398
364
|
pq_mode: Annotated[
|
|
399
|
-
|
|
400
|
-
Optional[OutputCrowdstrikeNextGenSiemMode],
|
|
401
|
-
PlainValidator(validate_open_enum(False)),
|
|
402
|
-
],
|
|
403
|
-
pydantic.Field(alias="pqMode"),
|
|
365
|
+
Optional[OutputCrowdstrikeNextGenSiemMode], pydantic.Field(alias="pqMode")
|
|
404
366
|
] = OutputCrowdstrikeNextGenSiemMode.ERROR
|
|
405
367
|
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."""
|
|
406
368
|
|
|
@@ -1,28 +1,25 @@
|
|
|
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
|
|
5
4
|
from cribl_control_plane.types import BaseModel
|
|
6
|
-
from cribl_control_plane.utils import validate_open_enum
|
|
7
5
|
from enum import Enum
|
|
8
6
|
import pydantic
|
|
9
|
-
from pydantic.functional_validators import PlainValidator
|
|
10
7
|
from typing import List, Optional
|
|
11
8
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
9
|
|
|
13
10
|
|
|
14
|
-
class OutputDatadogType(str, Enum
|
|
11
|
+
class OutputDatadogType(str, Enum):
|
|
15
12
|
DATADOG = "datadog"
|
|
16
13
|
|
|
17
14
|
|
|
18
|
-
class SendLogsAs(str, Enum
|
|
15
|
+
class SendLogsAs(str, Enum):
|
|
19
16
|
r"""The content type to use when sending logs"""
|
|
20
17
|
|
|
21
18
|
TEXT = "text"
|
|
22
19
|
JSON = "json"
|
|
23
20
|
|
|
24
21
|
|
|
25
|
-
class OutputDatadogSeverity(str, Enum
|
|
22
|
+
class OutputDatadogSeverity(str, Enum):
|
|
26
23
|
r"""Default value for message severity. When you send logs as JSON objects, the event's '__severity' field (if set) will override this value."""
|
|
27
24
|
|
|
28
25
|
EMERGENCY = "emergency"
|
|
@@ -35,7 +32,7 @@ class OutputDatadogSeverity(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
35
32
|
DEBUG = "debug"
|
|
36
33
|
|
|
37
34
|
|
|
38
|
-
class DatadogSite(str, Enum
|
|
35
|
+
class DatadogSite(str, Enum):
|
|
39
36
|
r"""Datadog site to which events should be sent"""
|
|
40
37
|
|
|
41
38
|
US = "us"
|
|
@@ -58,7 +55,7 @@ class OutputDatadogExtraHTTPHeader(BaseModel):
|
|
|
58
55
|
name: Optional[str] = None
|
|
59
56
|
|
|
60
57
|
|
|
61
|
-
class OutputDatadogFailedRequestLoggingMode(str, Enum
|
|
58
|
+
class OutputDatadogFailedRequestLoggingMode(str, Enum):
|
|
62
59
|
r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
|
|
63
60
|
|
|
64
61
|
PAYLOAD = "payload"
|
|
@@ -120,7 +117,7 @@ class OutputDatadogTimeoutRetrySettings(BaseModel):
|
|
|
120
117
|
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)."""
|
|
121
118
|
|
|
122
119
|
|
|
123
|
-
class OutputDatadogBackpressureBehavior(str, Enum
|
|
120
|
+
class OutputDatadogBackpressureBehavior(str, Enum):
|
|
124
121
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
125
122
|
|
|
126
123
|
BLOCK = "block"
|
|
@@ -128,28 +125,28 @@ class OutputDatadogBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta)
|
|
|
128
125
|
QUEUE = "queue"
|
|
129
126
|
|
|
130
127
|
|
|
131
|
-
class OutputDatadogAuthenticationMethod(str, Enum
|
|
128
|
+
class OutputDatadogAuthenticationMethod(str, Enum):
|
|
132
129
|
r"""Enter API key directly, or select a stored secret"""
|
|
133
130
|
|
|
134
131
|
MANUAL = "manual"
|
|
135
132
|
SECRET = "secret"
|
|
136
133
|
|
|
137
134
|
|
|
138
|
-
class OutputDatadogCompression(str, Enum
|
|
135
|
+
class OutputDatadogCompression(str, Enum):
|
|
139
136
|
r"""Codec to use to compress the persisted data"""
|
|
140
137
|
|
|
141
138
|
NONE = "none"
|
|
142
139
|
GZIP = "gzip"
|
|
143
140
|
|
|
144
141
|
|
|
145
|
-
class OutputDatadogQueueFullBehavior(str, Enum
|
|
142
|
+
class OutputDatadogQueueFullBehavior(str, Enum):
|
|
146
143
|
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."""
|
|
147
144
|
|
|
148
145
|
BLOCK = "block"
|
|
149
146
|
DROP = "drop"
|
|
150
147
|
|
|
151
148
|
|
|
152
|
-
class OutputDatadogMode(str, Enum
|
|
149
|
+
class OutputDatadogMode(str, Enum):
|
|
153
150
|
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."""
|
|
154
151
|
|
|
155
152
|
ERROR = "error"
|
|
@@ -262,7 +259,7 @@ class OutputDatadog(BaseModel):
|
|
|
262
259
|
id: str
|
|
263
260
|
r"""Unique ID for this output"""
|
|
264
261
|
|
|
265
|
-
type:
|
|
262
|
+
type: OutputDatadogType
|
|
266
263
|
|
|
267
264
|
pipeline: Optional[str] = None
|
|
268
265
|
r"""Pipeline to process data before sending out to this output"""
|
|
@@ -279,8 +276,7 @@ class OutputDatadog(BaseModel):
|
|
|
279
276
|
r"""Tags for filtering and grouping in @{product}"""
|
|
280
277
|
|
|
281
278
|
content_type: Annotated[
|
|
282
|
-
|
|
283
|
-
pydantic.Field(alias="contentType"),
|
|
279
|
+
Optional[SendLogsAs], pydantic.Field(alias="contentType")
|
|
284
280
|
] = SendLogsAs.JSON
|
|
285
281
|
r"""The content type to use when sending logs"""
|
|
286
282
|
|
|
@@ -307,14 +303,10 @@ class OutputDatadog(BaseModel):
|
|
|
307
303
|
] = False
|
|
308
304
|
r"""Allow API key to be set from the event's '__agent_api_key' field"""
|
|
309
305
|
|
|
310
|
-
severity:
|
|
311
|
-
Optional[OutputDatadogSeverity], PlainValidator(validate_open_enum(False))
|
|
312
|
-
] = None
|
|
306
|
+
severity: Optional[OutputDatadogSeverity] = None
|
|
313
307
|
r"""Default value for message severity. When you send logs as JSON objects, the event's '__severity' field (if set) will override this value."""
|
|
314
308
|
|
|
315
|
-
site:
|
|
316
|
-
Optional[DatadogSite], PlainValidator(validate_open_enum(False))
|
|
317
|
-
] = DatadogSite.US
|
|
309
|
+
site: Optional[DatadogSite] = DatadogSite.US
|
|
318
310
|
r"""Datadog site to which events should be sent"""
|
|
319
311
|
|
|
320
312
|
send_counters_as_count: Annotated[
|
|
@@ -366,10 +358,7 @@ class OutputDatadog(BaseModel):
|
|
|
366
358
|
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."""
|
|
367
359
|
|
|
368
360
|
failed_request_logging_mode: Annotated[
|
|
369
|
-
|
|
370
|
-
Optional[OutputDatadogFailedRequestLoggingMode],
|
|
371
|
-
PlainValidator(validate_open_enum(False)),
|
|
372
|
-
],
|
|
361
|
+
Optional[OutputDatadogFailedRequestLoggingMode],
|
|
373
362
|
pydantic.Field(alias="failedRequestLoggingMode"),
|
|
374
363
|
] = OutputDatadogFailedRequestLoggingMode.NONE
|
|
375
364
|
r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
|
|
@@ -396,20 +385,13 @@ class OutputDatadog(BaseModel):
|
|
|
396
385
|
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."""
|
|
397
386
|
|
|
398
387
|
on_backpressure: Annotated[
|
|
399
|
-
|
|
400
|
-
Optional[OutputDatadogBackpressureBehavior],
|
|
401
|
-
PlainValidator(validate_open_enum(False)),
|
|
402
|
-
],
|
|
388
|
+
Optional[OutputDatadogBackpressureBehavior],
|
|
403
389
|
pydantic.Field(alias="onBackpressure"),
|
|
404
390
|
] = OutputDatadogBackpressureBehavior.BLOCK
|
|
405
391
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
406
392
|
|
|
407
393
|
auth_type: Annotated[
|
|
408
|
-
|
|
409
|
-
Optional[OutputDatadogAuthenticationMethod],
|
|
410
|
-
PlainValidator(validate_open_enum(False)),
|
|
411
|
-
],
|
|
412
|
-
pydantic.Field(alias="authType"),
|
|
394
|
+
Optional[OutputDatadogAuthenticationMethod], pydantic.Field(alias="authType")
|
|
413
395
|
] = OutputDatadogAuthenticationMethod.MANUAL
|
|
414
396
|
r"""Enter API key directly, or select a stored secret"""
|
|
415
397
|
|
|
@@ -436,29 +418,19 @@ class OutputDatadog(BaseModel):
|
|
|
436
418
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
|
|
437
419
|
|
|
438
420
|
pq_compress: Annotated[
|
|
439
|
-
|
|
440
|
-
Optional[OutputDatadogCompression],
|
|
441
|
-
PlainValidator(validate_open_enum(False)),
|
|
442
|
-
],
|
|
443
|
-
pydantic.Field(alias="pqCompress"),
|
|
421
|
+
Optional[OutputDatadogCompression], pydantic.Field(alias="pqCompress")
|
|
444
422
|
] = OutputDatadogCompression.NONE
|
|
445
423
|
r"""Codec to use to compress the persisted data"""
|
|
446
424
|
|
|
447
425
|
pq_on_backpressure: Annotated[
|
|
448
|
-
|
|
449
|
-
Optional[OutputDatadogQueueFullBehavior],
|
|
450
|
-
PlainValidator(validate_open_enum(False)),
|
|
451
|
-
],
|
|
426
|
+
Optional[OutputDatadogQueueFullBehavior],
|
|
452
427
|
pydantic.Field(alias="pqOnBackpressure"),
|
|
453
428
|
] = OutputDatadogQueueFullBehavior.BLOCK
|
|
454
429
|
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."""
|
|
455
430
|
|
|
456
|
-
pq_mode: Annotated[
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
],
|
|
460
|
-
pydantic.Field(alias="pqMode"),
|
|
461
|
-
] = OutputDatadogMode.ERROR
|
|
431
|
+
pq_mode: Annotated[Optional[OutputDatadogMode], pydantic.Field(alias="pqMode")] = (
|
|
432
|
+
OutputDatadogMode.ERROR
|
|
433
|
+
)
|
|
462
434
|
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
435
|
|
|
464
436
|
pq_controls: Annotated[
|