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
|
|
@@ -30,11 +29,8 @@ class OutputSentinelExtraHTTPHeader(BaseModel):
|
|
|
30
29
|
class OutputSentinelFailedRequestLoggingMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
31
30
|
r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
|
|
32
31
|
|
|
33
|
-
# Payload
|
|
34
32
|
PAYLOAD = "payload"
|
|
35
|
-
# Payload + Headers
|
|
36
33
|
PAYLOAD_AND_HEADERS = "payloadAndHeaders"
|
|
37
|
-
# None
|
|
38
34
|
NONE = "none"
|
|
39
35
|
|
|
40
36
|
|
|
@@ -95,11 +91,8 @@ class OutputSentinelTimeoutRetrySettings(BaseModel):
|
|
|
95
91
|
class OutputSentinelBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
96
92
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
97
93
|
|
|
98
|
-
# Block
|
|
99
94
|
BLOCK = "block"
|
|
100
|
-
# Drop
|
|
101
95
|
DROP = "drop"
|
|
102
|
-
# Persistent Queue
|
|
103
96
|
QUEUE = "queue"
|
|
104
97
|
|
|
105
98
|
|
|
@@ -110,9 +103,7 @@ class AuthType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
110
103
|
class EndpointConfiguration(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
111
104
|
r"""Enter the data collection endpoint URL or the individual ID"""
|
|
112
105
|
|
|
113
|
-
# URL
|
|
114
106
|
URL = "url"
|
|
115
|
-
# ID
|
|
116
107
|
ID = "ID"
|
|
117
108
|
|
|
118
109
|
|
|
@@ -123,35 +114,28 @@ class OutputSentinelFormat(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
123
114
|
ADVANCED = "advanced"
|
|
124
115
|
|
|
125
116
|
|
|
126
|
-
class OutputSentinelMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
127
|
-
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."""
|
|
128
|
-
|
|
129
|
-
# Error
|
|
130
|
-
ERROR = "error"
|
|
131
|
-
# Backpressure
|
|
132
|
-
ALWAYS = "always"
|
|
133
|
-
# Always On
|
|
134
|
-
BACKPRESSURE = "backpressure"
|
|
135
|
-
|
|
136
|
-
|
|
137
117
|
class OutputSentinelCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
138
118
|
r"""Codec to use to compress the persisted data"""
|
|
139
119
|
|
|
140
|
-
# None
|
|
141
120
|
NONE = "none"
|
|
142
|
-
# Gzip
|
|
143
121
|
GZIP = "gzip"
|
|
144
122
|
|
|
145
123
|
|
|
146
124
|
class OutputSentinelQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
147
125
|
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."""
|
|
148
126
|
|
|
149
|
-
# Block
|
|
150
127
|
BLOCK = "block"
|
|
151
|
-
# Drop new data
|
|
152
128
|
DROP = "drop"
|
|
153
129
|
|
|
154
130
|
|
|
131
|
+
class OutputSentinelMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
132
|
+
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."""
|
|
133
|
+
|
|
134
|
+
ERROR = "error"
|
|
135
|
+
BACKPRESSURE = "backpressure"
|
|
136
|
+
ALWAYS = "always"
|
|
137
|
+
|
|
138
|
+
|
|
155
139
|
class OutputSentinelPqControlsTypedDict(TypedDict):
|
|
156
140
|
pass
|
|
157
141
|
|
|
@@ -239,16 +223,6 @@ class OutputSentinelTypedDict(TypedDict):
|
|
|
239
223
|
r"""Custom JavaScript code to format incoming event data accessible through the __e variable. The formatted content is added to (__e['__eventOut']) if available. Otherwise, the original event is serialized as JSON. Caution: This function is evaluated in an unprotected context, allowing you to execute almost any JavaScript code."""
|
|
240
224
|
format_payload_code: NotRequired[str]
|
|
241
225
|
r"""Optional JavaScript code to format the payload sent to the Destination. The payload, containing a batch of formatted events, is accessible through the __e['payload'] variable. The formatted payload is returned in the __e['__payloadOut'] variable. Caution: This function is evaluated in an unprotected context, allowing you to execute almost any JavaScript code."""
|
|
242
|
-
pq_strict_ordering: NotRequired[bool]
|
|
243
|
-
r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
|
|
244
|
-
pq_rate_per_sec: NotRequired[float]
|
|
245
|
-
r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
|
|
246
|
-
pq_mode: NotRequired[OutputSentinelMode]
|
|
247
|
-
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."""
|
|
248
|
-
pq_max_buffer_size: NotRequired[float]
|
|
249
|
-
r"""The maximum number of events to hold in memory before writing the events to disk"""
|
|
250
|
-
pq_max_backpressure_sec: NotRequired[float]
|
|
251
|
-
r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
|
|
252
226
|
pq_max_file_size: NotRequired[str]
|
|
253
227
|
r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
|
|
254
228
|
pq_max_size: NotRequired[str]
|
|
@@ -259,6 +233,8 @@ class OutputSentinelTypedDict(TypedDict):
|
|
|
259
233
|
r"""Codec to use to compress the persisted data"""
|
|
260
234
|
pq_on_backpressure: NotRequired[OutputSentinelQueueFullBehavior]
|
|
261
235
|
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."""
|
|
236
|
+
pq_mode: NotRequired[OutputSentinelMode]
|
|
237
|
+
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."""
|
|
262
238
|
pq_controls: NotRequired[OutputSentinelPqControlsTypedDict]
|
|
263
239
|
url: NotRequired[str]
|
|
264
240
|
r"""URL to send events to. Can be overwritten by an event's __url field."""
|
|
@@ -454,34 +430,6 @@ class OutputSentinel(BaseModel):
|
|
|
454
430
|
] = None
|
|
455
431
|
r"""Optional JavaScript code to format the payload sent to the Destination. The payload, containing a batch of formatted events, is accessible through the __e['payload'] variable. The formatted payload is returned in the __e['__payloadOut'] variable. Caution: This function is evaluated in an unprotected context, allowing you to execute almost any JavaScript code."""
|
|
456
432
|
|
|
457
|
-
pq_strict_ordering: Annotated[
|
|
458
|
-
Optional[bool], pydantic.Field(alias="pqStrictOrdering")
|
|
459
|
-
] = True
|
|
460
|
-
r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
|
|
461
|
-
|
|
462
|
-
pq_rate_per_sec: Annotated[
|
|
463
|
-
Optional[float], pydantic.Field(alias="pqRatePerSec")
|
|
464
|
-
] = 0
|
|
465
|
-
r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
|
|
466
|
-
|
|
467
|
-
pq_mode: Annotated[
|
|
468
|
-
Annotated[
|
|
469
|
-
Optional[OutputSentinelMode], PlainValidator(validate_open_enum(False))
|
|
470
|
-
],
|
|
471
|
-
pydantic.Field(alias="pqMode"),
|
|
472
|
-
] = OutputSentinelMode.ERROR
|
|
473
|
-
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."""
|
|
474
|
-
|
|
475
|
-
pq_max_buffer_size: Annotated[
|
|
476
|
-
Optional[float], pydantic.Field(alias="pqMaxBufferSize")
|
|
477
|
-
] = 42
|
|
478
|
-
r"""The maximum number of events to hold in memory before writing the events to disk"""
|
|
479
|
-
|
|
480
|
-
pq_max_backpressure_sec: Annotated[
|
|
481
|
-
Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
|
|
482
|
-
] = 30
|
|
483
|
-
r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
|
|
484
|
-
|
|
485
433
|
pq_max_file_size: Annotated[
|
|
486
434
|
Optional[str], pydantic.Field(alias="pqMaxFileSize")
|
|
487
435
|
] = "1 MB"
|
|
@@ -513,6 +461,14 @@ class OutputSentinel(BaseModel):
|
|
|
513
461
|
] = OutputSentinelQueueFullBehavior.BLOCK
|
|
514
462
|
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."""
|
|
515
463
|
|
|
464
|
+
pq_mode: Annotated[
|
|
465
|
+
Annotated[
|
|
466
|
+
Optional[OutputSentinelMode], PlainValidator(validate_open_enum(False))
|
|
467
|
+
],
|
|
468
|
+
pydantic.Field(alias="pqMode"),
|
|
469
|
+
] = OutputSentinelMode.ERROR
|
|
470
|
+
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."""
|
|
471
|
+
|
|
516
472
|
pq_controls: Annotated[
|
|
517
473
|
Optional[OutputSentinelPqControls], pydantic.Field(alias="pqControls")
|
|
518
474
|
] = None
|
|
@@ -528,75 +484,3 @@ class OutputSentinel(BaseModel):
|
|
|
528
484
|
|
|
529
485
|
stream_name: Annotated[Optional[str], pydantic.Field(alias="streamName")] = None
|
|
530
486
|
r"""The name of the stream (Sentinel table) in which to store the events"""
|
|
531
|
-
|
|
532
|
-
@field_serializer("failed_request_logging_mode")
|
|
533
|
-
def serialize_failed_request_logging_mode(self, value):
|
|
534
|
-
if isinstance(value, str):
|
|
535
|
-
try:
|
|
536
|
-
return models.OutputSentinelFailedRequestLoggingMode(value)
|
|
537
|
-
except ValueError:
|
|
538
|
-
return value
|
|
539
|
-
return value
|
|
540
|
-
|
|
541
|
-
@field_serializer("on_backpressure")
|
|
542
|
-
def serialize_on_backpressure(self, value):
|
|
543
|
-
if isinstance(value, str):
|
|
544
|
-
try:
|
|
545
|
-
return models.OutputSentinelBackpressureBehavior(value)
|
|
546
|
-
except ValueError:
|
|
547
|
-
return value
|
|
548
|
-
return value
|
|
549
|
-
|
|
550
|
-
@field_serializer("auth_type")
|
|
551
|
-
def serialize_auth_type(self, value):
|
|
552
|
-
if isinstance(value, str):
|
|
553
|
-
try:
|
|
554
|
-
return models.AuthType(value)
|
|
555
|
-
except ValueError:
|
|
556
|
-
return value
|
|
557
|
-
return value
|
|
558
|
-
|
|
559
|
-
@field_serializer("endpoint_url_configuration")
|
|
560
|
-
def serialize_endpoint_url_configuration(self, value):
|
|
561
|
-
if isinstance(value, str):
|
|
562
|
-
try:
|
|
563
|
-
return models.EndpointConfiguration(value)
|
|
564
|
-
except ValueError:
|
|
565
|
-
return value
|
|
566
|
-
return value
|
|
567
|
-
|
|
568
|
-
@field_serializer("format_")
|
|
569
|
-
def serialize_format_(self, value):
|
|
570
|
-
if isinstance(value, str):
|
|
571
|
-
try:
|
|
572
|
-
return models.OutputSentinelFormat(value)
|
|
573
|
-
except ValueError:
|
|
574
|
-
return value
|
|
575
|
-
return value
|
|
576
|
-
|
|
577
|
-
@field_serializer("pq_mode")
|
|
578
|
-
def serialize_pq_mode(self, value):
|
|
579
|
-
if isinstance(value, str):
|
|
580
|
-
try:
|
|
581
|
-
return models.OutputSentinelMode(value)
|
|
582
|
-
except ValueError:
|
|
583
|
-
return value
|
|
584
|
-
return value
|
|
585
|
-
|
|
586
|
-
@field_serializer("pq_compress")
|
|
587
|
-
def serialize_pq_compress(self, value):
|
|
588
|
-
if isinstance(value, str):
|
|
589
|
-
try:
|
|
590
|
-
return models.OutputSentinelCompression(value)
|
|
591
|
-
except ValueError:
|
|
592
|
-
return value
|
|
593
|
-
return value
|
|
594
|
-
|
|
595
|
-
@field_serializer("pq_on_backpressure")
|
|
596
|
-
def serialize_pq_on_backpressure(self, value):
|
|
597
|
-
if isinstance(value, str):
|
|
598
|
-
try:
|
|
599
|
-
return models.OutputSentinelQueueFullBehavior(value)
|
|
600
|
-
except ValueError:
|
|
601
|
-
return value
|
|
602
|
-
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
|
|
@@ -51,11 +50,8 @@ class OutputSentinelOneAiSiemFailedRequestLoggingMode(
|
|
|
51
50
|
):
|
|
52
51
|
r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
|
|
53
52
|
|
|
54
|
-
# Payload
|
|
55
53
|
PAYLOAD = "payload"
|
|
56
|
-
# Payload + Headers
|
|
57
54
|
PAYLOAD_AND_HEADERS = "payloadAndHeaders"
|
|
58
|
-
# None
|
|
59
55
|
NONE = "none"
|
|
60
56
|
|
|
61
57
|
|
|
@@ -127,43 +123,33 @@ class OutputSentinelOneAiSiemBackpressureBehavior(
|
|
|
127
123
|
):
|
|
128
124
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
129
125
|
|
|
130
|
-
# Block
|
|
131
126
|
BLOCK = "block"
|
|
132
|
-
# Drop
|
|
133
127
|
DROP = "drop"
|
|
134
|
-
# Persistent Queue
|
|
135
128
|
QUEUE = "queue"
|
|
136
129
|
|
|
137
130
|
|
|
138
|
-
class OutputSentinelOneAiSiemMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
139
|
-
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."""
|
|
140
|
-
|
|
141
|
-
# Error
|
|
142
|
-
ERROR = "error"
|
|
143
|
-
# Backpressure
|
|
144
|
-
ALWAYS = "always"
|
|
145
|
-
# Always On
|
|
146
|
-
BACKPRESSURE = "backpressure"
|
|
147
|
-
|
|
148
|
-
|
|
149
131
|
class OutputSentinelOneAiSiemCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
150
132
|
r"""Codec to use to compress the persisted data"""
|
|
151
133
|
|
|
152
|
-
# None
|
|
153
134
|
NONE = "none"
|
|
154
|
-
# Gzip
|
|
155
135
|
GZIP = "gzip"
|
|
156
136
|
|
|
157
137
|
|
|
158
138
|
class OutputSentinelOneAiSiemQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
159
139
|
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."""
|
|
160
140
|
|
|
161
|
-
# Block
|
|
162
141
|
BLOCK = "block"
|
|
163
|
-
# Drop new data
|
|
164
142
|
DROP = "drop"
|
|
165
143
|
|
|
166
144
|
|
|
145
|
+
class OutputSentinelOneAiSiemMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
146
|
+
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."""
|
|
147
|
+
|
|
148
|
+
ERROR = "error"
|
|
149
|
+
BACKPRESSURE = "backpressure"
|
|
150
|
+
ALWAYS = "always"
|
|
151
|
+
|
|
152
|
+
|
|
167
153
|
class OutputSentinelOneAiSiemPqControlsTypedDict(TypedDict):
|
|
168
154
|
pass
|
|
169
155
|
|
|
@@ -263,16 +249,6 @@ class OutputSentinelOneAiSiemTypedDict(TypedDict):
|
|
|
263
249
|
r"""Specify the dataSource.vendorvalue to pass as a parameter to AI SIEM. This value should reflect the vendor of the data being inserted. Don't quote this value. The default is cribl."""
|
|
264
250
|
event_type: NotRequired[str]
|
|
265
251
|
r"""Specify the event.type value to pass as an optional parameter to AI SIEM. This value acts as a label, grouping events into meaningful categories like Process Creation, File Modification, or Network Connection. Don't quote this value. By default, this field is empty."""
|
|
266
|
-
pq_strict_ordering: NotRequired[bool]
|
|
267
|
-
r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
|
|
268
|
-
pq_rate_per_sec: NotRequired[float]
|
|
269
|
-
r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
|
|
270
|
-
pq_mode: NotRequired[OutputSentinelOneAiSiemMode]
|
|
271
|
-
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."""
|
|
272
|
-
pq_max_buffer_size: NotRequired[float]
|
|
273
|
-
r"""The maximum number of events to hold in memory before writing the events to disk"""
|
|
274
|
-
pq_max_backpressure_sec: NotRequired[float]
|
|
275
|
-
r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
|
|
276
252
|
pq_max_file_size: NotRequired[str]
|
|
277
253
|
r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
|
|
278
254
|
pq_max_size: NotRequired[str]
|
|
@@ -283,6 +259,8 @@ class OutputSentinelOneAiSiemTypedDict(TypedDict):
|
|
|
283
259
|
r"""Codec to use to compress the persisted data"""
|
|
284
260
|
pq_on_backpressure: NotRequired[OutputSentinelOneAiSiemQueueFullBehavior]
|
|
285
261
|
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."""
|
|
262
|
+
pq_mode: NotRequired[OutputSentinelOneAiSiemMode]
|
|
263
|
+
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."""
|
|
286
264
|
pq_controls: NotRequired[OutputSentinelOneAiSiemPqControlsTypedDict]
|
|
287
265
|
|
|
288
266
|
|
|
@@ -480,35 +458,6 @@ class OutputSentinelOneAiSiem(BaseModel):
|
|
|
480
458
|
event_type: Annotated[Optional[str], pydantic.Field(alias="eventType")] = ""
|
|
481
459
|
r"""Specify the event.type value to pass as an optional parameter to AI SIEM. This value acts as a label, grouping events into meaningful categories like Process Creation, File Modification, or Network Connection. Don't quote this value. By default, this field is empty."""
|
|
482
460
|
|
|
483
|
-
pq_strict_ordering: Annotated[
|
|
484
|
-
Optional[bool], pydantic.Field(alias="pqStrictOrdering")
|
|
485
|
-
] = True
|
|
486
|
-
r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
|
|
487
|
-
|
|
488
|
-
pq_rate_per_sec: Annotated[
|
|
489
|
-
Optional[float], pydantic.Field(alias="pqRatePerSec")
|
|
490
|
-
] = 0
|
|
491
|
-
r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
|
|
492
|
-
|
|
493
|
-
pq_mode: Annotated[
|
|
494
|
-
Annotated[
|
|
495
|
-
Optional[OutputSentinelOneAiSiemMode],
|
|
496
|
-
PlainValidator(validate_open_enum(False)),
|
|
497
|
-
],
|
|
498
|
-
pydantic.Field(alias="pqMode"),
|
|
499
|
-
] = OutputSentinelOneAiSiemMode.ERROR
|
|
500
|
-
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."""
|
|
501
|
-
|
|
502
|
-
pq_max_buffer_size: Annotated[
|
|
503
|
-
Optional[float], pydantic.Field(alias="pqMaxBufferSize")
|
|
504
|
-
] = 42
|
|
505
|
-
r"""The maximum number of events to hold in memory before writing the events to disk"""
|
|
506
|
-
|
|
507
|
-
pq_max_backpressure_sec: Annotated[
|
|
508
|
-
Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
|
|
509
|
-
] = 30
|
|
510
|
-
r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
|
|
511
|
-
|
|
512
461
|
pq_max_file_size: Annotated[
|
|
513
462
|
Optional[str], pydantic.Field(alias="pqMaxFileSize")
|
|
514
463
|
] = "1 MB"
|
|
@@ -540,78 +489,15 @@ class OutputSentinelOneAiSiem(BaseModel):
|
|
|
540
489
|
] = OutputSentinelOneAiSiemQueueFullBehavior.BLOCK
|
|
541
490
|
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."""
|
|
542
491
|
|
|
492
|
+
pq_mode: Annotated[
|
|
493
|
+
Annotated[
|
|
494
|
+
Optional[OutputSentinelOneAiSiemMode],
|
|
495
|
+
PlainValidator(validate_open_enum(False)),
|
|
496
|
+
],
|
|
497
|
+
pydantic.Field(alias="pqMode"),
|
|
498
|
+
] = OutputSentinelOneAiSiemMode.ERROR
|
|
499
|
+
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."""
|
|
500
|
+
|
|
543
501
|
pq_controls: Annotated[
|
|
544
502
|
Optional[OutputSentinelOneAiSiemPqControls], pydantic.Field(alias="pqControls")
|
|
545
503
|
] = None
|
|
546
|
-
|
|
547
|
-
@field_serializer("region")
|
|
548
|
-
def serialize_region(self, value):
|
|
549
|
-
if isinstance(value, str):
|
|
550
|
-
try:
|
|
551
|
-
return models.OutputSentinelOneAiSiemRegion(value)
|
|
552
|
-
except ValueError:
|
|
553
|
-
return value
|
|
554
|
-
return value
|
|
555
|
-
|
|
556
|
-
@field_serializer("endpoint")
|
|
557
|
-
def serialize_endpoint(self, value):
|
|
558
|
-
if isinstance(value, str):
|
|
559
|
-
try:
|
|
560
|
-
return models.AISIEMEndpointPath(value)
|
|
561
|
-
except ValueError:
|
|
562
|
-
return value
|
|
563
|
-
return value
|
|
564
|
-
|
|
565
|
-
@field_serializer("failed_request_logging_mode")
|
|
566
|
-
def serialize_failed_request_logging_mode(self, value):
|
|
567
|
-
if isinstance(value, str):
|
|
568
|
-
try:
|
|
569
|
-
return models.OutputSentinelOneAiSiemFailedRequestLoggingMode(value)
|
|
570
|
-
except ValueError:
|
|
571
|
-
return value
|
|
572
|
-
return value
|
|
573
|
-
|
|
574
|
-
@field_serializer("auth_type")
|
|
575
|
-
def serialize_auth_type(self, value):
|
|
576
|
-
if isinstance(value, str):
|
|
577
|
-
try:
|
|
578
|
-
return models.OutputSentinelOneAiSiemAuthenticationMethod(value)
|
|
579
|
-
except ValueError:
|
|
580
|
-
return value
|
|
581
|
-
return value
|
|
582
|
-
|
|
583
|
-
@field_serializer("on_backpressure")
|
|
584
|
-
def serialize_on_backpressure(self, value):
|
|
585
|
-
if isinstance(value, str):
|
|
586
|
-
try:
|
|
587
|
-
return models.OutputSentinelOneAiSiemBackpressureBehavior(value)
|
|
588
|
-
except ValueError:
|
|
589
|
-
return value
|
|
590
|
-
return value
|
|
591
|
-
|
|
592
|
-
@field_serializer("pq_mode")
|
|
593
|
-
def serialize_pq_mode(self, value):
|
|
594
|
-
if isinstance(value, str):
|
|
595
|
-
try:
|
|
596
|
-
return models.OutputSentinelOneAiSiemMode(value)
|
|
597
|
-
except ValueError:
|
|
598
|
-
return value
|
|
599
|
-
return value
|
|
600
|
-
|
|
601
|
-
@field_serializer("pq_compress")
|
|
602
|
-
def serialize_pq_compress(self, value):
|
|
603
|
-
if isinstance(value, str):
|
|
604
|
-
try:
|
|
605
|
-
return models.OutputSentinelOneAiSiemCompression(value)
|
|
606
|
-
except ValueError:
|
|
607
|
-
return value
|
|
608
|
-
return value
|
|
609
|
-
|
|
610
|
-
@field_serializer("pq_on_backpressure")
|
|
611
|
-
def serialize_pq_on_backpressure(self, value):
|
|
612
|
-
if isinstance(value, str):
|
|
613
|
-
try:
|
|
614
|
-
return models.OutputSentinelOneAiSiemQueueFullBehavior(value)
|
|
615
|
-
except ValueError:
|
|
616
|
-
return value
|
|
617
|
-
return value
|