cribl-control-plane 0.2.1rc7__py3-none-any.whl → 0.3.0a1__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/errors/__init__.py +5 -8
- cribl_control_plane/errors/{healthserverstatus_error.py → healthstatus_error.py} +9 -10
- cribl_control_plane/groups_sdk.py +28 -52
- cribl_control_plane/health.py +16 -22
- cribl_control_plane/models/__init__.py +54 -217
- cribl_control_plane/models/appmode.py +14 -0
- cribl_control_plane/models/authtoken.py +1 -5
- cribl_control_plane/models/cacheconnection.py +0 -20
- cribl_control_plane/models/configgroup.py +7 -55
- cribl_control_plane/models/configgroupcloud.py +1 -11
- cribl_control_plane/models/createconfiggroupbyproductop.py +5 -17
- cribl_control_plane/models/createroutesappendbyidop.py +2 -2
- cribl_control_plane/models/createversionundoop.py +3 -3
- cribl_control_plane/models/cribllakedataset.py +1 -11
- cribl_control_plane/models/cribllakedatasetupdate.py +1 -11
- cribl_control_plane/models/datasetmetadata.py +1 -11
- cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +0 -11
- cribl_control_plane/models/deleteoutputpqbyidop.py +2 -2
- cribl_control_plane/models/distributedsummary.py +0 -6
- cribl_control_plane/models/error.py +16 -0
- cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +0 -20
- cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +0 -20
- cribl_control_plane/models/getconfiggroupbyproductandidop.py +0 -11
- cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +0 -11
- cribl_control_plane/models/gethealthinfoop.py +17 -0
- cribl_control_plane/models/getsummaryop.py +0 -11
- cribl_control_plane/models/hbcriblinfo.py +3 -24
- cribl_control_plane/models/{healthserverstatus.py → healthstatus.py} +8 -27
- cribl_control_plane/models/heartbeatmetadata.py +0 -3
- cribl_control_plane/models/input.py +78 -80
- cribl_control_plane/models/inputappscope.py +17 -80
- cribl_control_plane/models/inputazureblob.py +1 -33
- cribl_control_plane/models/inputcollection.py +1 -24
- cribl_control_plane/models/inputconfluentcloud.py +18 -195
- cribl_control_plane/models/inputcribl.py +1 -24
- cribl_control_plane/models/inputcriblhttp.py +17 -62
- cribl_control_plane/models/inputcribllakehttp.py +17 -62
- cribl_control_plane/models/inputcriblmetrics.py +1 -24
- cribl_control_plane/models/inputcribltcp.py +17 -62
- cribl_control_plane/models/inputcrowdstrike.py +1 -54
- cribl_control_plane/models/inputdatadogagent.py +17 -62
- cribl_control_plane/models/inputdatagen.py +1 -24
- cribl_control_plane/models/inputedgeprometheus.py +34 -147
- cribl_control_plane/models/inputelastic.py +27 -119
- cribl_control_plane/models/inputeventhub.py +1 -182
- cribl_control_plane/models/inputexec.py +1 -33
- cribl_control_plane/models/inputfile.py +3 -42
- cribl_control_plane/models/inputfirehose.py +17 -62
- cribl_control_plane/models/inputgooglepubsub.py +1 -36
- cribl_control_plane/models/inputgrafana.py +32 -157
- cribl_control_plane/models/inputhttp.py +17 -62
- cribl_control_plane/models/inputhttpraw.py +17 -62
- cribl_control_plane/models/inputjournalfiles.py +1 -24
- cribl_control_plane/models/inputkafka.py +17 -189
- cribl_control_plane/models/inputkinesis.py +1 -80
- cribl_control_plane/models/inputkubeevents.py +1 -24
- cribl_control_plane/models/inputkubelogs.py +1 -33
- cribl_control_plane/models/inputkubemetrics.py +1 -33
- cribl_control_plane/models/inputloki.py +17 -71
- cribl_control_plane/models/inputmetrics.py +17 -62
- cribl_control_plane/models/inputmodeldriventelemetry.py +17 -62
- cribl_control_plane/models/inputmsk.py +18 -81
- cribl_control_plane/models/inputnetflow.py +1 -24
- cribl_control_plane/models/inputoffice365mgmt.py +1 -67
- cribl_control_plane/models/inputoffice365msgtrace.py +1 -67
- cribl_control_plane/models/inputoffice365service.py +1 -67
- cribl_control_plane/models/inputopentelemetry.py +16 -92
- cribl_control_plane/models/inputprometheus.py +34 -138
- cribl_control_plane/models/inputprometheusrw.py +17 -71
- cribl_control_plane/models/inputrawudp.py +1 -24
- cribl_control_plane/models/inputs3.py +1 -45
- cribl_control_plane/models/inputs3inventory.py +1 -54
- cribl_control_plane/models/inputsecuritylake.py +1 -54
- cribl_control_plane/models/inputsnmp.py +1 -40
- cribl_control_plane/models/inputsplunk.py +17 -85
- cribl_control_plane/models/inputsplunkhec.py +16 -70
- cribl_control_plane/models/inputsplunksearch.py +1 -63
- cribl_control_plane/models/inputsqs.py +1 -56
- cribl_control_plane/models/inputsyslog.py +32 -121
- cribl_control_plane/models/inputsystemmetrics.py +9 -142
- cribl_control_plane/models/inputsystemstate.py +1 -33
- cribl_control_plane/models/inputtcp.py +17 -81
- cribl_control_plane/models/inputtcpjson.py +17 -71
- cribl_control_plane/models/inputwef.py +1 -71
- cribl_control_plane/models/inputwindowsmetrics.py +9 -129
- cribl_control_plane/models/inputwineventlogs.py +1 -60
- cribl_control_plane/models/inputwiz.py +1 -45
- cribl_control_plane/models/inputwizwebhook.py +17 -62
- cribl_control_plane/models/inputzscalerhec.py +16 -70
- cribl_control_plane/models/jobinfo.py +1 -4
- cribl_control_plane/models/jobstatus.py +3 -34
- cribl_control_plane/models/listconfiggroupbyproductop.py +0 -11
- cribl_control_plane/models/logininfo.py +3 -3
- cribl_control_plane/models/masterworkerentry.py +1 -11
- cribl_control_plane/models/nodeprovidedinfo.py +1 -11
- cribl_control_plane/models/nodeupgradestatus.py +0 -38
- cribl_control_plane/models/output.py +88 -93
- cribl_control_plane/models/outputazureblob.py +1 -110
- cribl_control_plane/models/outputazuredataexplorer.py +87 -452
- cribl_control_plane/models/outputazureeventhub.py +19 -281
- cribl_control_plane/models/outputazurelogs.py +19 -115
- cribl_control_plane/models/outputchronicle.py +19 -115
- cribl_control_plane/models/outputclickhouse.py +19 -155
- cribl_control_plane/models/outputcloudwatch.py +19 -106
- cribl_control_plane/models/outputconfluentcloud.py +38 -311
- cribl_control_plane/models/outputcriblhttp.py +19 -135
- cribl_control_plane/models/outputcribllake.py +1 -97
- cribl_control_plane/models/outputcribltcp.py +19 -132
- cribl_control_plane/models/outputcrowdstrikenextgensiem.py +20 -129
- cribl_control_plane/models/outputdatadog.py +19 -159
- cribl_control_plane/models/outputdataset.py +19 -143
- cribl_control_plane/models/outputdiskspool.py +1 -11
- cribl_control_plane/models/outputdls3.py +1 -152
- cribl_control_plane/models/outputdynatracehttp.py +19 -160
- cribl_control_plane/models/outputdynatraceotlp.py +19 -160
- cribl_control_plane/models/outputelastic.py +19 -163
- cribl_control_plane/models/outputelasticcloud.py +19 -140
- cribl_control_plane/models/outputexabeam.py +1 -61
- cribl_control_plane/models/outputfilesystem.py +1 -87
- cribl_control_plane/models/outputgooglechronicle.py +20 -166
- cribl_control_plane/models/outputgooglecloudlogging.py +20 -131
- cribl_control_plane/models/outputgooglecloudstorage.py +1 -136
- cribl_control_plane/models/outputgooglepubsub.py +19 -106
- cribl_control_plane/models/outputgrafanacloud.py +37 -288
- cribl_control_plane/models/outputgraphite.py +19 -105
- cribl_control_plane/models/outputhoneycomb.py +19 -115
- cribl_control_plane/models/outputhumiohec.py +19 -126
- cribl_control_plane/models/outputinfluxdb.py +19 -130
- cribl_control_plane/models/outputkafka.py +34 -302
- cribl_control_plane/models/outputkinesis.py +19 -133
- cribl_control_plane/models/outputloki.py +17 -129
- cribl_control_plane/models/outputminio.py +1 -145
- cribl_control_plane/models/outputmsk.py +34 -193
- cribl_control_plane/models/outputnewrelic.py +19 -136
- cribl_control_plane/models/outputnewrelicevents.py +20 -128
- cribl_control_plane/models/outputopentelemetry.py +19 -178
- cribl_control_plane/models/outputprometheus.py +19 -115
- cribl_control_plane/models/outputring.py +1 -31
- cribl_control_plane/models/outputs3.py +1 -152
- cribl_control_plane/models/outputsecuritylake.py +1 -114
- cribl_control_plane/models/outputsentinel.py +19 -135
- cribl_control_plane/models/outputsentineloneaisiem.py +20 -134
- cribl_control_plane/models/outputservicenow.py +19 -168
- cribl_control_plane/models/outputsignalfx.py +19 -115
- cribl_control_plane/models/outputsns.py +17 -113
- cribl_control_plane/models/outputsplunk.py +19 -153
- cribl_control_plane/models/outputsplunkhec.py +19 -208
- cribl_control_plane/models/outputsplunklb.py +19 -182
- cribl_control_plane/models/outputsqs.py +17 -124
- cribl_control_plane/models/outputstatsd.py +19 -105
- cribl_control_plane/models/outputstatsdext.py +19 -105
- cribl_control_plane/models/outputsumologic.py +19 -117
- cribl_control_plane/models/outputsyslog.py +96 -259
- cribl_control_plane/models/outputtcpjson.py +19 -141
- cribl_control_plane/models/outputwavefront.py +19 -115
- cribl_control_plane/models/outputwebhook.py +19 -161
- cribl_control_plane/models/outputxsiam.py +17 -113
- cribl_control_plane/models/packinfo.py +5 -8
- cribl_control_plane/models/packinstallinfo.py +5 -8
- cribl_control_plane/models/resourcepolicy.py +0 -11
- cribl_control_plane/models/{uploadpackresponse.py → routecloneconf.py} +4 -4
- cribl_control_plane/models/routeconf.py +4 -3
- cribl_control_plane/models/runnablejobcollection.py +9 -72
- cribl_control_plane/models/runnablejobexecutor.py +9 -32
- cribl_control_plane/models/runnablejobscheduledsearch.py +9 -23
- cribl_control_plane/models/updateconfiggroupbyproductandidop.py +0 -11
- cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +0 -11
- cribl_control_plane/packs.py +7 -202
- cribl_control_plane/routes_sdk.py +6 -6
- cribl_control_plane/tokens.py +15 -23
- {cribl_control_plane-0.2.1rc7.dist-info → cribl_control_plane-0.3.0a1.dist-info}/METADATA +9 -50
- cribl_control_plane-0.3.0a1.dist-info/RECORD +330 -0
- cribl_control_plane/models/groupcreaterequest.py +0 -171
- cribl_control_plane/models/outpostnodeinfo.py +0 -16
- cribl_control_plane/models/outputdatabricks.py +0 -482
- cribl_control_plane/models/updatepacksop.py +0 -25
- cribl_control_plane-0.2.1rc7.dist-info/RECORD +0 -331
- {cribl_control_plane-0.2.1rc7.dist-info → cribl_control_plane-0.3.0a1.dist-info}/WHEEL +0 -0
|
@@ -1,12 +1,11 @@
|
|
|
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
|
|
4
|
+
from cribl_control_plane import 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
|
|
10
9
|
from pydantic.functional_validators import PlainValidator
|
|
11
10
|
from typing import List, Optional
|
|
12
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
@@ -32,11 +31,8 @@ class OutputCrowdstrikeNextGenSiemFailedRequestLoggingMode(
|
|
|
32
31
|
):
|
|
33
32
|
r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
|
|
34
33
|
|
|
35
|
-
# Payload
|
|
36
34
|
PAYLOAD = "payload"
|
|
37
|
-
# Payload + Headers
|
|
38
35
|
PAYLOAD_AND_HEADERS = "payloadAndHeaders"
|
|
39
|
-
# None
|
|
40
36
|
NONE = "none"
|
|
41
37
|
|
|
42
38
|
|
|
@@ -45,9 +41,7 @@ class OutputCrowdstrikeNextGenSiemRequestFormat(
|
|
|
45
41
|
):
|
|
46
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."""
|
|
47
43
|
|
|
48
|
-
# JSON
|
|
49
44
|
JSON = "JSON"
|
|
50
|
-
# Raw
|
|
51
45
|
RAW = "raw"
|
|
52
46
|
|
|
53
47
|
|
|
@@ -119,31 +113,15 @@ class OutputCrowdstrikeNextGenSiemBackpressureBehavior(
|
|
|
119
113
|
):
|
|
120
114
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
121
115
|
|
|
122
|
-
# Block
|
|
123
116
|
BLOCK = "block"
|
|
124
|
-
# Drop
|
|
125
117
|
DROP = "drop"
|
|
126
|
-
# Persistent Queue
|
|
127
118
|
QUEUE = "queue"
|
|
128
119
|
|
|
129
120
|
|
|
130
|
-
class OutputCrowdstrikeNextGenSiemMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
131
|
-
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."""
|
|
132
|
-
|
|
133
|
-
# Error
|
|
134
|
-
ERROR = "error"
|
|
135
|
-
# Backpressure
|
|
136
|
-
ALWAYS = "always"
|
|
137
|
-
# Always On
|
|
138
|
-
BACKPRESSURE = "backpressure"
|
|
139
|
-
|
|
140
|
-
|
|
141
121
|
class OutputCrowdstrikeNextGenSiemCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
142
122
|
r"""Codec to use to compress the persisted data"""
|
|
143
123
|
|
|
144
|
-
# None
|
|
145
124
|
NONE = "none"
|
|
146
|
-
# Gzip
|
|
147
125
|
GZIP = "gzip"
|
|
148
126
|
|
|
149
127
|
|
|
@@ -152,12 +130,18 @@ class OutputCrowdstrikeNextGenSiemQueueFullBehavior(
|
|
|
152
130
|
):
|
|
153
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."""
|
|
154
132
|
|
|
155
|
-
# Block
|
|
156
133
|
BLOCK = "block"
|
|
157
|
-
# Drop new data
|
|
158
134
|
DROP = "drop"
|
|
159
135
|
|
|
160
136
|
|
|
137
|
+
class OutputCrowdstrikeNextGenSiemMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
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."""
|
|
139
|
+
|
|
140
|
+
ERROR = "error"
|
|
141
|
+
BACKPRESSURE = "backpressure"
|
|
142
|
+
ALWAYS = "always"
|
|
143
|
+
|
|
144
|
+
|
|
161
145
|
class OutputCrowdstrikeNextGenSiemPqControlsTypedDict(TypedDict):
|
|
162
146
|
pass
|
|
163
147
|
|
|
@@ -230,16 +214,6 @@ class OutputCrowdstrikeNextGenSiemTypedDict(TypedDict):
|
|
|
230
214
|
token: NotRequired[str]
|
|
231
215
|
text_secret: NotRequired[str]
|
|
232
216
|
r"""Select or create a stored text secret"""
|
|
233
|
-
pq_strict_ordering: NotRequired[bool]
|
|
234
|
-
r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
|
|
235
|
-
pq_rate_per_sec: NotRequired[float]
|
|
236
|
-
r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
|
|
237
|
-
pq_mode: NotRequired[OutputCrowdstrikeNextGenSiemMode]
|
|
238
|
-
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."""
|
|
239
|
-
pq_max_buffer_size: NotRequired[float]
|
|
240
|
-
r"""The maximum number of events to hold in memory before writing the events to disk"""
|
|
241
|
-
pq_max_backpressure_sec: NotRequired[float]
|
|
242
|
-
r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
|
|
243
217
|
pq_max_file_size: NotRequired[str]
|
|
244
218
|
r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
|
|
245
219
|
pq_max_size: NotRequired[str]
|
|
@@ -250,6 +224,8 @@ class OutputCrowdstrikeNextGenSiemTypedDict(TypedDict):
|
|
|
250
224
|
r"""Codec to use to compress the persisted data"""
|
|
251
225
|
pq_on_backpressure: NotRequired[OutputCrowdstrikeNextGenSiemQueueFullBehavior]
|
|
252
226
|
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."""
|
|
227
|
+
pq_mode: NotRequired[OutputCrowdstrikeNextGenSiemMode]
|
|
228
|
+
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."""
|
|
253
229
|
pq_controls: NotRequired[OutputCrowdstrikeNextGenSiemPqControlsTypedDict]
|
|
254
230
|
|
|
255
231
|
|
|
@@ -385,35 +361,6 @@ class OutputCrowdstrikeNextGenSiem(BaseModel):
|
|
|
385
361
|
text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None
|
|
386
362
|
r"""Select or create a stored text secret"""
|
|
387
363
|
|
|
388
|
-
pq_strict_ordering: Annotated[
|
|
389
|
-
Optional[bool], pydantic.Field(alias="pqStrictOrdering")
|
|
390
|
-
] = True
|
|
391
|
-
r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
|
|
392
|
-
|
|
393
|
-
pq_rate_per_sec: Annotated[
|
|
394
|
-
Optional[float], pydantic.Field(alias="pqRatePerSec")
|
|
395
|
-
] = 0
|
|
396
|
-
r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
|
|
397
|
-
|
|
398
|
-
pq_mode: Annotated[
|
|
399
|
-
Annotated[
|
|
400
|
-
Optional[OutputCrowdstrikeNextGenSiemMode],
|
|
401
|
-
PlainValidator(validate_open_enum(False)),
|
|
402
|
-
],
|
|
403
|
-
pydantic.Field(alias="pqMode"),
|
|
404
|
-
] = OutputCrowdstrikeNextGenSiemMode.ERROR
|
|
405
|
-
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
|
-
|
|
407
|
-
pq_max_buffer_size: Annotated[
|
|
408
|
-
Optional[float], pydantic.Field(alias="pqMaxBufferSize")
|
|
409
|
-
] = 42
|
|
410
|
-
r"""The maximum number of events to hold in memory before writing the events to disk"""
|
|
411
|
-
|
|
412
|
-
pq_max_backpressure_sec: Annotated[
|
|
413
|
-
Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
|
|
414
|
-
] = 30
|
|
415
|
-
r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
|
|
416
|
-
|
|
417
364
|
pq_max_file_size: Annotated[
|
|
418
365
|
Optional[str], pydantic.Field(alias="pqMaxFileSize")
|
|
419
366
|
] = "1 MB"
|
|
@@ -445,72 +392,16 @@ class OutputCrowdstrikeNextGenSiem(BaseModel):
|
|
|
445
392
|
] = OutputCrowdstrikeNextGenSiemQueueFullBehavior.BLOCK
|
|
446
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."""
|
|
447
394
|
|
|
395
|
+
pq_mode: Annotated[
|
|
396
|
+
Annotated[
|
|
397
|
+
Optional[OutputCrowdstrikeNextGenSiemMode],
|
|
398
|
+
PlainValidator(validate_open_enum(False)),
|
|
399
|
+
],
|
|
400
|
+
pydantic.Field(alias="pqMode"),
|
|
401
|
+
] = OutputCrowdstrikeNextGenSiemMode.ERROR
|
|
402
|
+
r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
|
|
403
|
+
|
|
448
404
|
pq_controls: Annotated[
|
|
449
405
|
Optional[OutputCrowdstrikeNextGenSiemPqControls],
|
|
450
406
|
pydantic.Field(alias="pqControls"),
|
|
451
407
|
] = None
|
|
452
|
-
|
|
453
|
-
@field_serializer("failed_request_logging_mode")
|
|
454
|
-
def serialize_failed_request_logging_mode(self, value):
|
|
455
|
-
if isinstance(value, str):
|
|
456
|
-
try:
|
|
457
|
-
return models.OutputCrowdstrikeNextGenSiemFailedRequestLoggingMode(
|
|
458
|
-
value
|
|
459
|
-
)
|
|
460
|
-
except ValueError:
|
|
461
|
-
return value
|
|
462
|
-
return value
|
|
463
|
-
|
|
464
|
-
@field_serializer("format_")
|
|
465
|
-
def serialize_format_(self, value):
|
|
466
|
-
if isinstance(value, str):
|
|
467
|
-
try:
|
|
468
|
-
return models.OutputCrowdstrikeNextGenSiemRequestFormat(value)
|
|
469
|
-
except ValueError:
|
|
470
|
-
return value
|
|
471
|
-
return value
|
|
472
|
-
|
|
473
|
-
@field_serializer("auth_type")
|
|
474
|
-
def serialize_auth_type(self, value):
|
|
475
|
-
if isinstance(value, str):
|
|
476
|
-
try:
|
|
477
|
-
return models.OutputCrowdstrikeNextGenSiemAuthenticationMethod(value)
|
|
478
|
-
except ValueError:
|
|
479
|
-
return value
|
|
480
|
-
return value
|
|
481
|
-
|
|
482
|
-
@field_serializer("on_backpressure")
|
|
483
|
-
def serialize_on_backpressure(self, value):
|
|
484
|
-
if isinstance(value, str):
|
|
485
|
-
try:
|
|
486
|
-
return models.OutputCrowdstrikeNextGenSiemBackpressureBehavior(value)
|
|
487
|
-
except ValueError:
|
|
488
|
-
return value
|
|
489
|
-
return value
|
|
490
|
-
|
|
491
|
-
@field_serializer("pq_mode")
|
|
492
|
-
def serialize_pq_mode(self, value):
|
|
493
|
-
if isinstance(value, str):
|
|
494
|
-
try:
|
|
495
|
-
return models.OutputCrowdstrikeNextGenSiemMode(value)
|
|
496
|
-
except ValueError:
|
|
497
|
-
return value
|
|
498
|
-
return value
|
|
499
|
-
|
|
500
|
-
@field_serializer("pq_compress")
|
|
501
|
-
def serialize_pq_compress(self, value):
|
|
502
|
-
if isinstance(value, str):
|
|
503
|
-
try:
|
|
504
|
-
return models.OutputCrowdstrikeNextGenSiemCompression(value)
|
|
505
|
-
except ValueError:
|
|
506
|
-
return value
|
|
507
|
-
return value
|
|
508
|
-
|
|
509
|
-
@field_serializer("pq_on_backpressure")
|
|
510
|
-
def serialize_pq_on_backpressure(self, value):
|
|
511
|
-
if isinstance(value, str):
|
|
512
|
-
try:
|
|
513
|
-
return models.OutputCrowdstrikeNextGenSiemQueueFullBehavior(value)
|
|
514
|
-
except ValueError:
|
|
515
|
-
return value
|
|
516
|
-
return value
|
|
@@ -1,12 +1,11 @@
|
|
|
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
|
|
4
|
+
from cribl_control_plane import 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
|
|
10
9
|
from pydantic.functional_validators import PlainValidator
|
|
11
10
|
from typing import List, Optional
|
|
12
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
@@ -19,49 +18,32 @@ class OutputDatadogType(str, Enum):
|
|
|
19
18
|
class SendLogsAs(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
20
19
|
r"""The content type to use when sending logs"""
|
|
21
20
|
|
|
22
|
-
# text/plain
|
|
23
21
|
TEXT = "text"
|
|
24
|
-
# application/json
|
|
25
22
|
JSON = "json"
|
|
26
23
|
|
|
27
24
|
|
|
28
25
|
class OutputDatadogSeverity(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
29
26
|
r"""Default value for message severity. When you send logs as JSON objects, the event's '__severity' field (if set) will override this value."""
|
|
30
27
|
|
|
31
|
-
# emergency
|
|
32
28
|
EMERGENCY = "emergency"
|
|
33
|
-
# alert
|
|
34
29
|
ALERT = "alert"
|
|
35
|
-
# critical
|
|
36
30
|
CRITICAL = "critical"
|
|
37
|
-
# error
|
|
38
31
|
ERROR = "error"
|
|
39
|
-
# warning
|
|
40
32
|
WARNING = "warning"
|
|
41
|
-
# notice
|
|
42
33
|
NOTICE = "notice"
|
|
43
|
-
# info
|
|
44
34
|
INFO = "info"
|
|
45
|
-
# debug
|
|
46
35
|
DEBUG = "debug"
|
|
47
36
|
|
|
48
37
|
|
|
49
38
|
class DatadogSite(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
50
39
|
r"""Datadog site to which events should be sent"""
|
|
51
40
|
|
|
52
|
-
# US
|
|
53
41
|
US = "us"
|
|
54
|
-
# US3
|
|
55
42
|
US3 = "us3"
|
|
56
|
-
# US5
|
|
57
43
|
US5 = "us5"
|
|
58
|
-
# Europe
|
|
59
44
|
EU = "eu"
|
|
60
|
-
# US1-FED
|
|
61
45
|
FED1 = "fed1"
|
|
62
|
-
# AP1
|
|
63
46
|
AP1 = "ap1"
|
|
64
|
-
# Custom
|
|
65
47
|
CUSTOM = "custom"
|
|
66
48
|
|
|
67
49
|
|
|
@@ -79,11 +61,8 @@ class OutputDatadogExtraHTTPHeader(BaseModel):
|
|
|
79
61
|
class OutputDatadogFailedRequestLoggingMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
80
62
|
r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
|
|
81
63
|
|
|
82
|
-
# Payload
|
|
83
64
|
PAYLOAD = "payload"
|
|
84
|
-
# Payload + Headers
|
|
85
65
|
PAYLOAD_AND_HEADERS = "payloadAndHeaders"
|
|
86
|
-
# None
|
|
87
66
|
NONE = "none"
|
|
88
67
|
|
|
89
68
|
|
|
@@ -144,11 +123,8 @@ class OutputDatadogTimeoutRetrySettings(BaseModel):
|
|
|
144
123
|
class OutputDatadogBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
145
124
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
146
125
|
|
|
147
|
-
# Block
|
|
148
126
|
BLOCK = "block"
|
|
149
|
-
# Drop
|
|
150
127
|
DROP = "drop"
|
|
151
|
-
# Persistent Queue
|
|
152
128
|
QUEUE = "queue"
|
|
153
129
|
|
|
154
130
|
|
|
@@ -159,35 +135,28 @@ class OutputDatadogAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta)
|
|
|
159
135
|
SECRET = "secret"
|
|
160
136
|
|
|
161
137
|
|
|
162
|
-
class OutputDatadogMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
163
|
-
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."""
|
|
164
|
-
|
|
165
|
-
# Error
|
|
166
|
-
ERROR = "error"
|
|
167
|
-
# Backpressure
|
|
168
|
-
ALWAYS = "always"
|
|
169
|
-
# Always On
|
|
170
|
-
BACKPRESSURE = "backpressure"
|
|
171
|
-
|
|
172
|
-
|
|
173
138
|
class OutputDatadogCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
174
139
|
r"""Codec to use to compress the persisted data"""
|
|
175
140
|
|
|
176
|
-
# None
|
|
177
141
|
NONE = "none"
|
|
178
|
-
# Gzip
|
|
179
142
|
GZIP = "gzip"
|
|
180
143
|
|
|
181
144
|
|
|
182
145
|
class OutputDatadogQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
183
146
|
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."""
|
|
184
147
|
|
|
185
|
-
# Block
|
|
186
148
|
BLOCK = "block"
|
|
187
|
-
# Drop new data
|
|
188
149
|
DROP = "drop"
|
|
189
150
|
|
|
190
151
|
|
|
152
|
+
class OutputDatadogMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
153
|
+
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
|
+
|
|
155
|
+
ERROR = "error"
|
|
156
|
+
BACKPRESSURE = "backpressure"
|
|
157
|
+
ALWAYS = "always"
|
|
158
|
+
|
|
159
|
+
|
|
191
160
|
class OutputDatadogPqControlsTypedDict(TypedDict):
|
|
192
161
|
pass
|
|
193
162
|
|
|
@@ -270,16 +239,6 @@ class OutputDatadogTypedDict(TypedDict):
|
|
|
270
239
|
r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced."""
|
|
271
240
|
description: NotRequired[str]
|
|
272
241
|
custom_url: NotRequired[str]
|
|
273
|
-
pq_strict_ordering: NotRequired[bool]
|
|
274
|
-
r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
|
|
275
|
-
pq_rate_per_sec: NotRequired[float]
|
|
276
|
-
r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
|
|
277
|
-
pq_mode: NotRequired[OutputDatadogMode]
|
|
278
|
-
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."""
|
|
279
|
-
pq_max_buffer_size: NotRequired[float]
|
|
280
|
-
r"""The maximum number of events to hold in memory before writing the events to disk"""
|
|
281
|
-
pq_max_backpressure_sec: NotRequired[float]
|
|
282
|
-
r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
|
|
283
242
|
pq_max_file_size: NotRequired[str]
|
|
284
243
|
r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
|
|
285
244
|
pq_max_size: NotRequired[str]
|
|
@@ -290,6 +249,8 @@ class OutputDatadogTypedDict(TypedDict):
|
|
|
290
249
|
r"""Codec to use to compress the persisted data"""
|
|
291
250
|
pq_on_backpressure: NotRequired[OutputDatadogQueueFullBehavior]
|
|
292
251
|
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."""
|
|
252
|
+
pq_mode: NotRequired[OutputDatadogMode]
|
|
253
|
+
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."""
|
|
293
254
|
pq_controls: NotRequired[OutputDatadogPqControlsTypedDict]
|
|
294
255
|
api_key: NotRequired[str]
|
|
295
256
|
r"""Organization's API key in Datadog"""
|
|
@@ -461,34 +422,6 @@ class OutputDatadog(BaseModel):
|
|
|
461
422
|
|
|
462
423
|
custom_url: Annotated[Optional[str], pydantic.Field(alias="customUrl")] = None
|
|
463
424
|
|
|
464
|
-
pq_strict_ordering: Annotated[
|
|
465
|
-
Optional[bool], pydantic.Field(alias="pqStrictOrdering")
|
|
466
|
-
] = True
|
|
467
|
-
r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
|
|
468
|
-
|
|
469
|
-
pq_rate_per_sec: Annotated[
|
|
470
|
-
Optional[float], pydantic.Field(alias="pqRatePerSec")
|
|
471
|
-
] = 0
|
|
472
|
-
r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
|
|
473
|
-
|
|
474
|
-
pq_mode: Annotated[
|
|
475
|
-
Annotated[
|
|
476
|
-
Optional[OutputDatadogMode], PlainValidator(validate_open_enum(False))
|
|
477
|
-
],
|
|
478
|
-
pydantic.Field(alias="pqMode"),
|
|
479
|
-
] = OutputDatadogMode.ERROR
|
|
480
|
-
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."""
|
|
481
|
-
|
|
482
|
-
pq_max_buffer_size: Annotated[
|
|
483
|
-
Optional[float], pydantic.Field(alias="pqMaxBufferSize")
|
|
484
|
-
] = 42
|
|
485
|
-
r"""The maximum number of events to hold in memory before writing the events to disk"""
|
|
486
|
-
|
|
487
|
-
pq_max_backpressure_sec: Annotated[
|
|
488
|
-
Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
|
|
489
|
-
] = 30
|
|
490
|
-
r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
|
|
491
|
-
|
|
492
425
|
pq_max_file_size: Annotated[
|
|
493
426
|
Optional[str], pydantic.Field(alias="pqMaxFileSize")
|
|
494
427
|
] = "1 MB"
|
|
@@ -520,6 +453,14 @@ class OutputDatadog(BaseModel):
|
|
|
520
453
|
] = OutputDatadogQueueFullBehavior.BLOCK
|
|
521
454
|
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."""
|
|
522
455
|
|
|
456
|
+
pq_mode: Annotated[
|
|
457
|
+
Annotated[
|
|
458
|
+
Optional[OutputDatadogMode], PlainValidator(validate_open_enum(False))
|
|
459
|
+
],
|
|
460
|
+
pydantic.Field(alias="pqMode"),
|
|
461
|
+
] = OutputDatadogMode.ERROR
|
|
462
|
+
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
|
+
|
|
523
464
|
pq_controls: Annotated[
|
|
524
465
|
Optional[OutputDatadogPqControls], pydantic.Field(alias="pqControls")
|
|
525
466
|
] = None
|
|
@@ -529,84 +470,3 @@ class OutputDatadog(BaseModel):
|
|
|
529
470
|
|
|
530
471
|
text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None
|
|
531
472
|
r"""Select or create a stored text secret"""
|
|
532
|
-
|
|
533
|
-
@field_serializer("content_type")
|
|
534
|
-
def serialize_content_type(self, value):
|
|
535
|
-
if isinstance(value, str):
|
|
536
|
-
try:
|
|
537
|
-
return models.SendLogsAs(value)
|
|
538
|
-
except ValueError:
|
|
539
|
-
return value
|
|
540
|
-
return value
|
|
541
|
-
|
|
542
|
-
@field_serializer("severity")
|
|
543
|
-
def serialize_severity(self, value):
|
|
544
|
-
if isinstance(value, str):
|
|
545
|
-
try:
|
|
546
|
-
return models.OutputDatadogSeverity(value)
|
|
547
|
-
except ValueError:
|
|
548
|
-
return value
|
|
549
|
-
return value
|
|
550
|
-
|
|
551
|
-
@field_serializer("site")
|
|
552
|
-
def serialize_site(self, value):
|
|
553
|
-
if isinstance(value, str):
|
|
554
|
-
try:
|
|
555
|
-
return models.DatadogSite(value)
|
|
556
|
-
except ValueError:
|
|
557
|
-
return value
|
|
558
|
-
return value
|
|
559
|
-
|
|
560
|
-
@field_serializer("failed_request_logging_mode")
|
|
561
|
-
def serialize_failed_request_logging_mode(self, value):
|
|
562
|
-
if isinstance(value, str):
|
|
563
|
-
try:
|
|
564
|
-
return models.OutputDatadogFailedRequestLoggingMode(value)
|
|
565
|
-
except ValueError:
|
|
566
|
-
return value
|
|
567
|
-
return value
|
|
568
|
-
|
|
569
|
-
@field_serializer("on_backpressure")
|
|
570
|
-
def serialize_on_backpressure(self, value):
|
|
571
|
-
if isinstance(value, str):
|
|
572
|
-
try:
|
|
573
|
-
return models.OutputDatadogBackpressureBehavior(value)
|
|
574
|
-
except ValueError:
|
|
575
|
-
return value
|
|
576
|
-
return value
|
|
577
|
-
|
|
578
|
-
@field_serializer("auth_type")
|
|
579
|
-
def serialize_auth_type(self, value):
|
|
580
|
-
if isinstance(value, str):
|
|
581
|
-
try:
|
|
582
|
-
return models.OutputDatadogAuthenticationMethod(value)
|
|
583
|
-
except ValueError:
|
|
584
|
-
return value
|
|
585
|
-
return value
|
|
586
|
-
|
|
587
|
-
@field_serializer("pq_mode")
|
|
588
|
-
def serialize_pq_mode(self, value):
|
|
589
|
-
if isinstance(value, str):
|
|
590
|
-
try:
|
|
591
|
-
return models.OutputDatadogMode(value)
|
|
592
|
-
except ValueError:
|
|
593
|
-
return value
|
|
594
|
-
return value
|
|
595
|
-
|
|
596
|
-
@field_serializer("pq_compress")
|
|
597
|
-
def serialize_pq_compress(self, value):
|
|
598
|
-
if isinstance(value, str):
|
|
599
|
-
try:
|
|
600
|
-
return models.OutputDatadogCompression(value)
|
|
601
|
-
except ValueError:
|
|
602
|
-
return value
|
|
603
|
-
return value
|
|
604
|
-
|
|
605
|
-
@field_serializer("pq_on_backpressure")
|
|
606
|
-
def serialize_pq_on_backpressure(self, value):
|
|
607
|
-
if isinstance(value, str):
|
|
608
|
-
try:
|
|
609
|
-
return models.OutputDatadogQueueFullBehavior(value)
|
|
610
|
-
except ValueError:
|
|
611
|
-
return value
|
|
612
|
-
return value
|