cribl-control-plane 0.0.44a1__py3-none-any.whl → 0.0.44a2__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/_hooks/clientcredentials.py +1 -1
- cribl_control_plane/_version.py +4 -4
- cribl_control_plane/acl.py +5 -3
- cribl_control_plane/auth_sdk.py +6 -3
- cribl_control_plane/basesdk.py +11 -1
- cribl_control_plane/commits.py +5 -3
- cribl_control_plane/destinations.py +6 -4
- cribl_control_plane/errors/__init__.py +15 -3
- cribl_control_plane/errors/healthstatus_error.py +8 -2
- cribl_control_plane/groups_configs.py +8 -3
- cribl_control_plane/groups_sdk.py +6 -4
- cribl_control_plane/models/__init__.py +17 -4
- cribl_control_plane/models/appmode.py +2 -1
- cribl_control_plane/models/cacheconnection.py +10 -2
- cribl_control_plane/models/cacheconnectionbackfillstatus.py +2 -1
- cribl_control_plane/models/cloudprovider.py +2 -1
- cribl_control_plane/models/configgroup.py +7 -2
- cribl_control_plane/models/configgroupcloud.py +6 -2
- cribl_control_plane/models/createconfiggroupbyproductop.py +8 -2
- cribl_control_plane/models/cribllakedataset.py +8 -2
- cribl_control_plane/models/datasetmetadata.py +8 -2
- cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +7 -2
- cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +4 -2
- cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +4 -2
- cribl_control_plane/models/getconfiggroupbyproductandidop.py +3 -1
- cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +7 -2
- cribl_control_plane/models/getsummaryop.py +7 -2
- cribl_control_plane/models/hbcriblinfo.py +6 -1
- cribl_control_plane/models/healthstatus.py +7 -4
- cribl_control_plane/models/inputappscope.py +34 -14
- cribl_control_plane/models/inputazureblob.py +17 -6
- cribl_control_plane/models/inputcollection.py +11 -4
- cribl_control_plane/models/inputconfluentcloud.py +47 -20
- cribl_control_plane/models/inputcribl.py +11 -4
- cribl_control_plane/models/inputcriblhttp.py +23 -8
- cribl_control_plane/models/inputcribllakehttp.py +22 -10
- cribl_control_plane/models/inputcriblmetrics.py +12 -4
- cribl_control_plane/models/inputcribltcp.py +23 -8
- cribl_control_plane/models/inputcrowdstrike.py +26 -10
- cribl_control_plane/models/inputdatadogagent.py +24 -8
- cribl_control_plane/models/inputdatagen.py +11 -4
- cribl_control_plane/models/inputedgeprometheus.py +58 -24
- cribl_control_plane/models/inputelastic.py +40 -14
- cribl_control_plane/models/inputeventhub.py +15 -6
- cribl_control_plane/models/inputexec.py +14 -6
- cribl_control_plane/models/inputfile.py +15 -6
- cribl_control_plane/models/inputfirehose.py +23 -8
- cribl_control_plane/models/inputgooglepubsub.py +19 -6
- cribl_control_plane/models/inputgrafana.py +67 -24
- cribl_control_plane/models/inputhttp.py +23 -8
- cribl_control_plane/models/inputhttpraw.py +23 -8
- cribl_control_plane/models/inputjournalfiles.py +12 -4
- cribl_control_plane/models/inputkafka.py +46 -16
- cribl_control_plane/models/inputkinesis.py +38 -14
- cribl_control_plane/models/inputkubeevents.py +11 -4
- cribl_control_plane/models/inputkubelogs.py +16 -8
- cribl_control_plane/models/inputkubemetrics.py +16 -8
- cribl_control_plane/models/inputloki.py +29 -10
- cribl_control_plane/models/inputmetrics.py +23 -8
- cribl_control_plane/models/inputmodeldriventelemetry.py +27 -10
- cribl_control_plane/models/inputmsk.py +53 -18
- cribl_control_plane/models/inputnetflow.py +11 -4
- cribl_control_plane/models/inputoffice365mgmt.py +33 -14
- cribl_control_plane/models/inputoffice365msgtrace.py +35 -16
- cribl_control_plane/models/inputoffice365service.py +35 -16
- cribl_control_plane/models/inputopentelemetry.py +38 -16
- cribl_control_plane/models/inputprometheus.py +50 -18
- cribl_control_plane/models/inputprometheusrw.py +30 -10
- cribl_control_plane/models/inputrawudp.py +11 -4
- cribl_control_plane/models/inputs3.py +21 -8
- cribl_control_plane/models/inputs3inventory.py +26 -10
- cribl_control_plane/models/inputsecuritylake.py +27 -10
- cribl_control_plane/models/inputsnmp.py +16 -6
- cribl_control_plane/models/inputsplunk.py +33 -12
- cribl_control_plane/models/inputsplunkhec.py +29 -10
- cribl_control_plane/models/inputsplunksearch.py +33 -14
- cribl_control_plane/models/inputsqs.py +27 -10
- cribl_control_plane/models/inputsyslog.py +43 -16
- cribl_control_plane/models/inputsystemmetrics.py +48 -24
- cribl_control_plane/models/inputsystemstate.py +16 -8
- cribl_control_plane/models/inputtcp.py +29 -10
- cribl_control_plane/models/inputtcpjson.py +29 -10
- cribl_control_plane/models/inputwef.py +37 -14
- cribl_control_plane/models/inputwindowsmetrics.py +44 -24
- cribl_control_plane/models/inputwineventlogs.py +20 -10
- cribl_control_plane/models/inputwiz.py +21 -8
- cribl_control_plane/models/inputwizwebhook.py +23 -8
- cribl_control_plane/models/inputzscalerhec.py +29 -10
- cribl_control_plane/models/lakehouseconnectiontype.py +2 -1
- cribl_control_plane/models/listconfiggroupbyproductop.py +3 -1
- cribl_control_plane/models/masterworkerentry.py +7 -2
- cribl_control_plane/models/nodeactiveupgradestatus.py +2 -1
- cribl_control_plane/models/nodefailedupgradestatus.py +2 -1
- cribl_control_plane/models/nodeskippedupgradestatus.py +2 -1
- cribl_control_plane/models/nodeupgradestate.py +2 -1
- cribl_control_plane/models/nodeupgradestatus.py +13 -5
- cribl_control_plane/models/outputazureblob.py +48 -18
- cribl_control_plane/models/outputazuredataexplorer.py +74 -29
- cribl_control_plane/models/outputazureeventhub.py +40 -18
- cribl_control_plane/models/outputazurelogs.py +36 -13
- cribl_control_plane/models/outputclickhouse.py +56 -21
- cribl_control_plane/models/outputcloudwatch.py +29 -10
- cribl_control_plane/models/outputconfluentcloud.py +77 -32
- cribl_control_plane/models/outputcriblhttp.py +46 -18
- cribl_control_plane/models/outputcribllake.py +46 -16
- cribl_control_plane/models/outputcribltcp.py +45 -18
- cribl_control_plane/models/outputcrowdstrikenextgensiem.py +50 -15
- cribl_control_plane/models/outputdatadog.py +48 -20
- cribl_control_plane/models/outputdataset.py +46 -18
- cribl_control_plane/models/outputdiskspool.py +7 -2
- cribl_control_plane/models/outputdls3.py +68 -24
- cribl_control_plane/models/outputdynatracehttp.py +54 -21
- cribl_control_plane/models/outputdynatraceotlp.py +56 -23
- cribl_control_plane/models/outputelastic.py +44 -19
- cribl_control_plane/models/outputelasticcloud.py +37 -13
- cribl_control_plane/models/outputexabeam.py +29 -10
- cribl_control_plane/models/outputfilesystem.py +39 -14
- cribl_control_plane/models/outputgooglechronicle.py +50 -16
- cribl_control_plane/models/outputgooglecloudlogging.py +41 -14
- cribl_control_plane/models/outputgooglecloudstorage.py +66 -24
- cribl_control_plane/models/outputgooglepubsub.py +31 -10
- cribl_control_plane/models/outputgrafanacloud.py +99 -34
- cribl_control_plane/models/outputgraphite.py +31 -14
- cribl_control_plane/models/outputhoneycomb.py +36 -13
- cribl_control_plane/models/outputhumiohec.py +44 -17
- cribl_control_plane/models/outputinfluxdb.py +43 -17
- cribl_control_plane/models/outputkafka.py +74 -28
- cribl_control_plane/models/outputkinesis.py +40 -16
- cribl_control_plane/models/outputloki.py +41 -16
- cribl_control_plane/models/outputminio.py +65 -24
- cribl_control_plane/models/outputmsk.py +82 -30
- cribl_control_plane/models/outputnewrelic.py +43 -18
- cribl_control_plane/models/outputnewrelicevents.py +42 -15
- cribl_control_plane/models/outputopentelemetry.py +68 -27
- cribl_control_plane/models/outputprometheus.py +36 -13
- cribl_control_plane/models/outputring.py +19 -8
- cribl_control_plane/models/outputs3.py +68 -26
- cribl_control_plane/models/outputsecuritylake.py +52 -18
- cribl_control_plane/models/outputsentinel.py +45 -18
- cribl_control_plane/models/outputsentineloneaisiem.py +51 -19
- cribl_control_plane/models/outputservicenow.py +61 -25
- cribl_control_plane/models/outputsignalfx.py +38 -15
- cribl_control_plane/models/outputsns.py +36 -14
- cribl_control_plane/models/outputsplunk.py +60 -24
- cribl_control_plane/models/outputsplunkhec.py +36 -13
- cribl_control_plane/models/outputsplunklb.py +77 -30
- cribl_control_plane/models/outputsqs.py +41 -16
- cribl_control_plane/models/outputstatsd.py +30 -14
- cribl_control_plane/models/outputstatsdext.py +29 -12
- cribl_control_plane/models/outputsumologic.py +35 -12
- cribl_control_plane/models/outputsyslog.py +58 -24
- cribl_control_plane/models/outputtcpjson.py +52 -20
- cribl_control_plane/models/outputwavefront.py +36 -13
- cribl_control_plane/models/outputwebhook.py +58 -22
- cribl_control_plane/models/outputxsiam.py +36 -15
- cribl_control_plane/models/productscore.py +2 -1
- cribl_control_plane/models/rbacresource.py +2 -1
- cribl_control_plane/models/resourcepolicy.py +4 -2
- cribl_control_plane/models/runnablejobcollection.py +30 -13
- cribl_control_plane/models/runnablejobexecutor.py +13 -4
- cribl_control_plane/models/runnablejobscheduledsearch.py +7 -2
- cribl_control_plane/models/updateconfiggroupbyproductandidop.py +8 -2
- cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +8 -2
- cribl_control_plane/models/workertypes.py +2 -1
- cribl_control_plane/nodes.py +5 -3
- cribl_control_plane/sdk.py +15 -2
- cribl_control_plane/sources.py +5 -3
- cribl_control_plane/utils/__init__.py +15 -3
- cribl_control_plane/utils/eventstreaming.py +10 -0
- cribl_control_plane/versions.py +11 -6
- {cribl_control_plane-0.0.44a1.dist-info → cribl_control_plane-0.0.44a2.dist-info}/METADATA +1 -1
- cribl_control_plane-0.0.44a2.dist-info/RECORD +325 -0
- cribl_control_plane-0.0.44a1.dist-info/RECORD +0 -325
- {cribl_control_plane-0.0.44a1.dist-info → cribl_control_plane-0.0.44a2.dist-info}/WHEEL +0 -0
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
+
from cribl_control_plane import utils
|
|
4
5
|
from cribl_control_plane.types import BaseModel
|
|
6
|
+
from cribl_control_plane.utils import validate_open_enum
|
|
5
7
|
from enum import Enum
|
|
6
8
|
import pydantic
|
|
9
|
+
from pydantic.functional_validators import PlainValidator
|
|
7
10
|
from typing import List, Optional
|
|
8
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
12
|
|
|
@@ -12,21 +15,21 @@ class OutputCriblTCPType(str, Enum):
|
|
|
12
15
|
CRIBL_TCP = "cribl_tcp"
|
|
13
16
|
|
|
14
17
|
|
|
15
|
-
class OutputCriblTCPCompression(str, Enum):
|
|
18
|
+
class OutputCriblTCPCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
16
19
|
r"""Codec to use to compress the data before sending"""
|
|
17
20
|
|
|
18
21
|
NONE = "none"
|
|
19
22
|
GZIP = "gzip"
|
|
20
23
|
|
|
21
24
|
|
|
22
|
-
class OutputCriblTCPMinimumTLSVersion(str, Enum):
|
|
25
|
+
class OutputCriblTCPMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
23
26
|
TL_SV1 = "TLSv1"
|
|
24
27
|
TL_SV1_1 = "TLSv1.1"
|
|
25
28
|
TL_SV1_2 = "TLSv1.2"
|
|
26
29
|
TL_SV1_3 = "TLSv1.3"
|
|
27
30
|
|
|
28
31
|
|
|
29
|
-
class OutputCriblTCPMaximumTLSVersion(str, Enum):
|
|
32
|
+
class OutputCriblTCPMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
30
33
|
TL_SV1 = "TLSv1"
|
|
31
34
|
TL_SV1_1 = "TLSv1.1"
|
|
32
35
|
TL_SV1_2 = "TLSv1.2"
|
|
@@ -86,15 +89,23 @@ class OutputCriblTCPTLSSettingsClientSide(BaseModel):
|
|
|
86
89
|
r"""Passphrase to use to decrypt private key"""
|
|
87
90
|
|
|
88
91
|
min_version: Annotated[
|
|
89
|
-
|
|
92
|
+
Annotated[
|
|
93
|
+
Optional[OutputCriblTCPMinimumTLSVersion],
|
|
94
|
+
PlainValidator(validate_open_enum(False)),
|
|
95
|
+
],
|
|
96
|
+
pydantic.Field(alias="minVersion"),
|
|
90
97
|
] = None
|
|
91
98
|
|
|
92
99
|
max_version: Annotated[
|
|
93
|
-
|
|
100
|
+
Annotated[
|
|
101
|
+
Optional[OutputCriblTCPMaximumTLSVersion],
|
|
102
|
+
PlainValidator(validate_open_enum(False)),
|
|
103
|
+
],
|
|
104
|
+
pydantic.Field(alias="maxVersion"),
|
|
94
105
|
] = None
|
|
95
106
|
|
|
96
107
|
|
|
97
|
-
class OutputCriblTCPBackpressureBehavior(str, Enum):
|
|
108
|
+
class OutputCriblTCPBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
98
109
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
99
110
|
|
|
100
111
|
BLOCK = "block"
|
|
@@ -102,7 +113,7 @@ class OutputCriblTCPBackpressureBehavior(str, Enum):
|
|
|
102
113
|
QUEUE = "queue"
|
|
103
114
|
|
|
104
115
|
|
|
105
|
-
class OutputCriblTCPTLS(str, Enum):
|
|
116
|
+
class OutputCriblTCPTLS(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
106
117
|
r"""Whether to inherit TLS configs from group setting or disable TLS"""
|
|
107
118
|
|
|
108
119
|
INHERIT = "inherit"
|
|
@@ -129,7 +140,9 @@ class OutputCriblTCPHost(BaseModel):
|
|
|
129
140
|
port: Optional[float] = 10300
|
|
130
141
|
r"""The port to connect to on the provided host"""
|
|
131
142
|
|
|
132
|
-
tls:
|
|
143
|
+
tls: Annotated[
|
|
144
|
+
Optional[OutputCriblTCPTLS], PlainValidator(validate_open_enum(False))
|
|
145
|
+
] = OutputCriblTCPTLS.INHERIT
|
|
133
146
|
r"""Whether to inherit TLS configs from group setting or disable TLS"""
|
|
134
147
|
|
|
135
148
|
servername: Optional[str] = None
|
|
@@ -139,21 +152,21 @@ class OutputCriblTCPHost(BaseModel):
|
|
|
139
152
|
r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability"""
|
|
140
153
|
|
|
141
154
|
|
|
142
|
-
class OutputCriblTCPPqCompressCompression(str, Enum):
|
|
155
|
+
class OutputCriblTCPPqCompressCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
143
156
|
r"""Codec to use to compress the persisted data"""
|
|
144
157
|
|
|
145
158
|
NONE = "none"
|
|
146
159
|
GZIP = "gzip"
|
|
147
160
|
|
|
148
161
|
|
|
149
|
-
class OutputCriblTCPQueueFullBehavior(str, Enum):
|
|
162
|
+
class OutputCriblTCPQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
150
163
|
r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
|
|
151
164
|
|
|
152
165
|
BLOCK = "block"
|
|
153
166
|
DROP = "drop"
|
|
154
167
|
|
|
155
168
|
|
|
156
|
-
class OutputCriblTCPMode(str, Enum):
|
|
169
|
+
class OutputCriblTCPMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
157
170
|
r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
|
|
158
171
|
|
|
159
172
|
ERROR = "error"
|
|
@@ -255,7 +268,9 @@ class OutputCriblTCP(BaseModel):
|
|
|
255
268
|
)
|
|
256
269
|
r"""Use load-balanced destinations"""
|
|
257
270
|
|
|
258
|
-
compression:
|
|
271
|
+
compression: Annotated[
|
|
272
|
+
Optional[OutputCriblTCPCompression], PlainValidator(validate_open_enum(False))
|
|
273
|
+
] = OutputCriblTCPCompression.GZIP
|
|
259
274
|
r"""Codec to use to compress the data before sending"""
|
|
260
275
|
|
|
261
276
|
log_failed_requests: Annotated[
|
|
@@ -291,7 +306,10 @@ class OutputCriblTCP(BaseModel):
|
|
|
291
306
|
r"""Fields to exclude from the event. By default, all internal fields except `__output` are sent. Example: `cribl_pipe`, `c*`. Wildcards supported."""
|
|
292
307
|
|
|
293
308
|
on_backpressure: Annotated[
|
|
294
|
-
|
|
309
|
+
Annotated[
|
|
310
|
+
Optional[OutputCriblTCPBackpressureBehavior],
|
|
311
|
+
PlainValidator(validate_open_enum(False)),
|
|
312
|
+
],
|
|
295
313
|
pydantic.Field(alias="onBackpressure"),
|
|
296
314
|
] = OutputCriblTCPBackpressureBehavior.BLOCK
|
|
297
315
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
@@ -339,20 +357,29 @@ class OutputCriblTCP(BaseModel):
|
|
|
339
357
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
|
|
340
358
|
|
|
341
359
|
pq_compress: Annotated[
|
|
342
|
-
|
|
360
|
+
Annotated[
|
|
361
|
+
Optional[OutputCriblTCPPqCompressCompression],
|
|
362
|
+
PlainValidator(validate_open_enum(False)),
|
|
363
|
+
],
|
|
343
364
|
pydantic.Field(alias="pqCompress"),
|
|
344
365
|
] = OutputCriblTCPPqCompressCompression.NONE
|
|
345
366
|
r"""Codec to use to compress the persisted data"""
|
|
346
367
|
|
|
347
368
|
pq_on_backpressure: Annotated[
|
|
348
|
-
|
|
369
|
+
Annotated[
|
|
370
|
+
Optional[OutputCriblTCPQueueFullBehavior],
|
|
371
|
+
PlainValidator(validate_open_enum(False)),
|
|
372
|
+
],
|
|
349
373
|
pydantic.Field(alias="pqOnBackpressure"),
|
|
350
374
|
] = OutputCriblTCPQueueFullBehavior.BLOCK
|
|
351
375
|
r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
|
|
352
376
|
|
|
353
|
-
pq_mode: Annotated[
|
|
354
|
-
|
|
355
|
-
|
|
377
|
+
pq_mode: Annotated[
|
|
378
|
+
Annotated[
|
|
379
|
+
Optional[OutputCriblTCPMode], PlainValidator(validate_open_enum(False))
|
|
380
|
+
],
|
|
381
|
+
pydantic.Field(alias="pqMode"),
|
|
382
|
+
] = OutputCriblTCPMode.ERROR
|
|
356
383
|
r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
|
|
357
384
|
|
|
358
385
|
pq_controls: Annotated[
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
+
from cribl_control_plane import utils
|
|
4
5
|
from cribl_control_plane.types import BaseModel
|
|
6
|
+
from cribl_control_plane.utils import validate_open_enum
|
|
5
7
|
from enum import Enum
|
|
6
8
|
import pydantic
|
|
9
|
+
from pydantic.functional_validators import PlainValidator
|
|
7
10
|
from typing import List, Optional
|
|
8
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
12
|
|
|
@@ -23,7 +26,9 @@ class OutputCrowdstrikeNextGenSiemExtraHTTPHeader(BaseModel):
|
|
|
23
26
|
name: Optional[str] = None
|
|
24
27
|
|
|
25
28
|
|
|
26
|
-
class OutputCrowdstrikeNextGenSiemFailedRequestLoggingMode(
|
|
29
|
+
class OutputCrowdstrikeNextGenSiemFailedRequestLoggingMode(
|
|
30
|
+
str, Enum, metaclass=utils.OpenEnumMeta
|
|
31
|
+
):
|
|
27
32
|
r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
|
|
28
33
|
|
|
29
34
|
PAYLOAD = "payload"
|
|
@@ -31,14 +36,18 @@ class OutputCrowdstrikeNextGenSiemFailedRequestLoggingMode(str, Enum):
|
|
|
31
36
|
NONE = "none"
|
|
32
37
|
|
|
33
38
|
|
|
34
|
-
class OutputCrowdstrikeNextGenSiemRequestFormat(
|
|
39
|
+
class OutputCrowdstrikeNextGenSiemRequestFormat(
|
|
40
|
+
str, Enum, metaclass=utils.OpenEnumMeta
|
|
41
|
+
):
|
|
35
42
|
r"""When set to JSON, the event is automatically formatted with required fields before sending. When set to Raw, only the event's `_raw` value is sent."""
|
|
36
43
|
|
|
37
44
|
JSON = "JSON"
|
|
38
45
|
RAW = "raw"
|
|
39
46
|
|
|
40
47
|
|
|
41
|
-
class OutputCrowdstrikeNextGenSiemAuthenticationMethod(
|
|
48
|
+
class OutputCrowdstrikeNextGenSiemAuthenticationMethod(
|
|
49
|
+
str, Enum, metaclass=utils.OpenEnumMeta
|
|
50
|
+
):
|
|
42
51
|
r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
|
|
43
52
|
|
|
44
53
|
MANUAL = "manual"
|
|
@@ -99,7 +108,9 @@ class OutputCrowdstrikeNextGenSiemTimeoutRetrySettings(BaseModel):
|
|
|
99
108
|
r"""The maximum backoff interval, in milliseconds, Cribl Stream should apply. Default (and minimum) is 10,000 ms (10 seconds); maximum is 180,000 ms (180 seconds)."""
|
|
100
109
|
|
|
101
110
|
|
|
102
|
-
class OutputCrowdstrikeNextGenSiemBackpressureBehavior(
|
|
111
|
+
class OutputCrowdstrikeNextGenSiemBackpressureBehavior(
|
|
112
|
+
str, Enum, metaclass=utils.OpenEnumMeta
|
|
113
|
+
):
|
|
103
114
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
104
115
|
|
|
105
116
|
BLOCK = "block"
|
|
@@ -107,21 +118,23 @@ class OutputCrowdstrikeNextGenSiemBackpressureBehavior(str, Enum):
|
|
|
107
118
|
QUEUE = "queue"
|
|
108
119
|
|
|
109
120
|
|
|
110
|
-
class OutputCrowdstrikeNextGenSiemCompression(str, Enum):
|
|
121
|
+
class OutputCrowdstrikeNextGenSiemCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
111
122
|
r"""Codec to use to compress the persisted data"""
|
|
112
123
|
|
|
113
124
|
NONE = "none"
|
|
114
125
|
GZIP = "gzip"
|
|
115
126
|
|
|
116
127
|
|
|
117
|
-
class OutputCrowdstrikeNextGenSiemQueueFullBehavior(
|
|
128
|
+
class OutputCrowdstrikeNextGenSiemQueueFullBehavior(
|
|
129
|
+
str, Enum, metaclass=utils.OpenEnumMeta
|
|
130
|
+
):
|
|
118
131
|
r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
|
|
119
132
|
|
|
120
133
|
BLOCK = "block"
|
|
121
134
|
DROP = "drop"
|
|
122
135
|
|
|
123
136
|
|
|
124
|
-
class OutputCrowdstrikeNextGenSiemMode(str, Enum):
|
|
137
|
+
class OutputCrowdstrikeNextGenSiemMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
125
138
|
r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
|
|
126
139
|
|
|
127
140
|
ERROR = "error"
|
|
@@ -285,7 +298,10 @@ class OutputCrowdstrikeNextGenSiem(BaseModel):
|
|
|
285
298
|
r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations."""
|
|
286
299
|
|
|
287
300
|
failed_request_logging_mode: Annotated[
|
|
288
|
-
|
|
301
|
+
Annotated[
|
|
302
|
+
Optional[OutputCrowdstrikeNextGenSiemFailedRequestLoggingMode],
|
|
303
|
+
PlainValidator(validate_open_enum(False)),
|
|
304
|
+
],
|
|
289
305
|
pydantic.Field(alias="failedRequestLoggingMode"),
|
|
290
306
|
] = OutputCrowdstrikeNextGenSiemFailedRequestLoggingMode.NONE
|
|
291
307
|
r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
|
|
@@ -296,13 +312,19 @@ class OutputCrowdstrikeNextGenSiem(BaseModel):
|
|
|
296
312
|
r"""List of headers that are safe to log in plain text"""
|
|
297
313
|
|
|
298
314
|
format_: Annotated[
|
|
299
|
-
|
|
315
|
+
Annotated[
|
|
316
|
+
Optional[OutputCrowdstrikeNextGenSiemRequestFormat],
|
|
317
|
+
PlainValidator(validate_open_enum(False)),
|
|
318
|
+
],
|
|
300
319
|
pydantic.Field(alias="format"),
|
|
301
320
|
] = OutputCrowdstrikeNextGenSiemRequestFormat.JSON
|
|
302
321
|
r"""When set to JSON, the event is automatically formatted with required fields before sending. When set to Raw, only the event's `_raw` value is sent."""
|
|
303
322
|
|
|
304
323
|
auth_type: Annotated[
|
|
305
|
-
|
|
324
|
+
Annotated[
|
|
325
|
+
Optional[OutputCrowdstrikeNextGenSiemAuthenticationMethod],
|
|
326
|
+
PlainValidator(validate_open_enum(False)),
|
|
327
|
+
],
|
|
306
328
|
pydantic.Field(alias="authType"),
|
|
307
329
|
] = OutputCrowdstrikeNextGenSiemAuthenticationMethod.MANUAL
|
|
308
330
|
r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
|
|
@@ -320,11 +342,14 @@ class OutputCrowdstrikeNextGenSiem(BaseModel):
|
|
|
320
342
|
|
|
321
343
|
response_honor_retry_after_header: Annotated[
|
|
322
344
|
Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader")
|
|
323
|
-
] =
|
|
345
|
+
] = True
|
|
324
346
|
r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored."""
|
|
325
347
|
|
|
326
348
|
on_backpressure: Annotated[
|
|
327
|
-
|
|
349
|
+
Annotated[
|
|
350
|
+
Optional[OutputCrowdstrikeNextGenSiemBackpressureBehavior],
|
|
351
|
+
PlainValidator(validate_open_enum(False)),
|
|
352
|
+
],
|
|
328
353
|
pydantic.Field(alias="onBackpressure"),
|
|
329
354
|
] = OutputCrowdstrikeNextGenSiemBackpressureBehavior.BLOCK
|
|
330
355
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
@@ -350,19 +375,29 @@ class OutputCrowdstrikeNextGenSiem(BaseModel):
|
|
|
350
375
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
|
|
351
376
|
|
|
352
377
|
pq_compress: Annotated[
|
|
353
|
-
|
|
378
|
+
Annotated[
|
|
379
|
+
Optional[OutputCrowdstrikeNextGenSiemCompression],
|
|
380
|
+
PlainValidator(validate_open_enum(False)),
|
|
381
|
+
],
|
|
354
382
|
pydantic.Field(alias="pqCompress"),
|
|
355
383
|
] = OutputCrowdstrikeNextGenSiemCompression.NONE
|
|
356
384
|
r"""Codec to use to compress the persisted data"""
|
|
357
385
|
|
|
358
386
|
pq_on_backpressure: Annotated[
|
|
359
|
-
|
|
387
|
+
Annotated[
|
|
388
|
+
Optional[OutputCrowdstrikeNextGenSiemQueueFullBehavior],
|
|
389
|
+
PlainValidator(validate_open_enum(False)),
|
|
390
|
+
],
|
|
360
391
|
pydantic.Field(alias="pqOnBackpressure"),
|
|
361
392
|
] = OutputCrowdstrikeNextGenSiemQueueFullBehavior.BLOCK
|
|
362
393
|
r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
|
|
363
394
|
|
|
364
395
|
pq_mode: Annotated[
|
|
365
|
-
|
|
396
|
+
Annotated[
|
|
397
|
+
Optional[OutputCrowdstrikeNextGenSiemMode],
|
|
398
|
+
PlainValidator(validate_open_enum(False)),
|
|
399
|
+
],
|
|
400
|
+
pydantic.Field(alias="pqMode"),
|
|
366
401
|
] = OutputCrowdstrikeNextGenSiemMode.ERROR
|
|
367
402
|
r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
|
|
368
403
|
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
+
from cribl_control_plane import utils
|
|
4
5
|
from cribl_control_plane.types import BaseModel
|
|
6
|
+
from cribl_control_plane.utils import validate_open_enum
|
|
5
7
|
from enum import Enum
|
|
6
8
|
import pydantic
|
|
9
|
+
from pydantic.functional_validators import PlainValidator
|
|
7
10
|
from typing import List, Optional
|
|
8
11
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
12
|
|
|
@@ -12,14 +15,14 @@ class OutputDatadogType(str, Enum):
|
|
|
12
15
|
DATADOG = "datadog"
|
|
13
16
|
|
|
14
17
|
|
|
15
|
-
class SendLogsAs(str, Enum):
|
|
18
|
+
class SendLogsAs(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
16
19
|
r"""The content type to use when sending logs"""
|
|
17
20
|
|
|
18
21
|
TEXT = "text"
|
|
19
22
|
JSON = "json"
|
|
20
23
|
|
|
21
24
|
|
|
22
|
-
class OutputDatadogSeverity(str, Enum):
|
|
25
|
+
class OutputDatadogSeverity(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
23
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."""
|
|
24
27
|
|
|
25
28
|
EMERGENCY = "emergency"
|
|
@@ -32,7 +35,7 @@ class OutputDatadogSeverity(str, Enum):
|
|
|
32
35
|
DEBUG = "debug"
|
|
33
36
|
|
|
34
37
|
|
|
35
|
-
class DatadogSite(str, Enum):
|
|
38
|
+
class DatadogSite(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
36
39
|
r"""Datadog site to which events should be sent"""
|
|
37
40
|
|
|
38
41
|
US = "us"
|
|
@@ -55,7 +58,7 @@ class OutputDatadogExtraHTTPHeader(BaseModel):
|
|
|
55
58
|
name: Optional[str] = None
|
|
56
59
|
|
|
57
60
|
|
|
58
|
-
class OutputDatadogFailedRequestLoggingMode(str, Enum):
|
|
61
|
+
class OutputDatadogFailedRequestLoggingMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
59
62
|
r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
|
|
60
63
|
|
|
61
64
|
PAYLOAD = "payload"
|
|
@@ -117,7 +120,7 @@ class OutputDatadogTimeoutRetrySettings(BaseModel):
|
|
|
117
120
|
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)."""
|
|
118
121
|
|
|
119
122
|
|
|
120
|
-
class OutputDatadogBackpressureBehavior(str, Enum):
|
|
123
|
+
class OutputDatadogBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
121
124
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
122
125
|
|
|
123
126
|
BLOCK = "block"
|
|
@@ -125,28 +128,28 @@ class OutputDatadogBackpressureBehavior(str, Enum):
|
|
|
125
128
|
QUEUE = "queue"
|
|
126
129
|
|
|
127
130
|
|
|
128
|
-
class OutputDatadogAuthenticationMethod(str, Enum):
|
|
131
|
+
class OutputDatadogAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
129
132
|
r"""Enter API key directly, or select a stored secret"""
|
|
130
133
|
|
|
131
134
|
MANUAL = "manual"
|
|
132
135
|
SECRET = "secret"
|
|
133
136
|
|
|
134
137
|
|
|
135
|
-
class OutputDatadogCompression(str, Enum):
|
|
138
|
+
class OutputDatadogCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
136
139
|
r"""Codec to use to compress the persisted data"""
|
|
137
140
|
|
|
138
141
|
NONE = "none"
|
|
139
142
|
GZIP = "gzip"
|
|
140
143
|
|
|
141
144
|
|
|
142
|
-
class OutputDatadogQueueFullBehavior(str, Enum):
|
|
145
|
+
class OutputDatadogQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
143
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."""
|
|
144
147
|
|
|
145
148
|
BLOCK = "block"
|
|
146
149
|
DROP = "drop"
|
|
147
150
|
|
|
148
151
|
|
|
149
|
-
class OutputDatadogMode(str, Enum):
|
|
152
|
+
class OutputDatadogMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
150
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."""
|
|
151
154
|
|
|
152
155
|
ERROR = "error"
|
|
@@ -276,7 +279,8 @@ class OutputDatadog(BaseModel):
|
|
|
276
279
|
r"""Tags for filtering and grouping in @{product}"""
|
|
277
280
|
|
|
278
281
|
content_type: Annotated[
|
|
279
|
-
Optional[SendLogsAs],
|
|
282
|
+
Annotated[Optional[SendLogsAs], PlainValidator(validate_open_enum(False))],
|
|
283
|
+
pydantic.Field(alias="contentType"),
|
|
280
284
|
] = SendLogsAs.JSON
|
|
281
285
|
r"""The content type to use when sending logs"""
|
|
282
286
|
|
|
@@ -303,10 +307,14 @@ class OutputDatadog(BaseModel):
|
|
|
303
307
|
] = False
|
|
304
308
|
r"""Allow API key to be set from the event's '__agent_api_key' field"""
|
|
305
309
|
|
|
306
|
-
severity:
|
|
310
|
+
severity: Annotated[
|
|
311
|
+
Optional[OutputDatadogSeverity], PlainValidator(validate_open_enum(False))
|
|
312
|
+
] = None
|
|
307
313
|
r"""Default value for message severity. When you send logs as JSON objects, the event's '__severity' field (if set) will override this value."""
|
|
308
314
|
|
|
309
|
-
site:
|
|
315
|
+
site: Annotated[
|
|
316
|
+
Optional[DatadogSite], PlainValidator(validate_open_enum(False))
|
|
317
|
+
] = DatadogSite.US
|
|
310
318
|
r"""Datadog site to which events should be sent"""
|
|
311
319
|
|
|
312
320
|
send_counters_as_count: Annotated[
|
|
@@ -358,7 +366,10 @@ class OutputDatadog(BaseModel):
|
|
|
358
366
|
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."""
|
|
359
367
|
|
|
360
368
|
failed_request_logging_mode: Annotated[
|
|
361
|
-
|
|
369
|
+
Annotated[
|
|
370
|
+
Optional[OutputDatadogFailedRequestLoggingMode],
|
|
371
|
+
PlainValidator(validate_open_enum(False)),
|
|
372
|
+
],
|
|
362
373
|
pydantic.Field(alias="failedRequestLoggingMode"),
|
|
363
374
|
] = OutputDatadogFailedRequestLoggingMode.NONE
|
|
364
375
|
r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
|
|
@@ -385,13 +396,20 @@ class OutputDatadog(BaseModel):
|
|
|
385
396
|
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."""
|
|
386
397
|
|
|
387
398
|
on_backpressure: Annotated[
|
|
388
|
-
|
|
399
|
+
Annotated[
|
|
400
|
+
Optional[OutputDatadogBackpressureBehavior],
|
|
401
|
+
PlainValidator(validate_open_enum(False)),
|
|
402
|
+
],
|
|
389
403
|
pydantic.Field(alias="onBackpressure"),
|
|
390
404
|
] = OutputDatadogBackpressureBehavior.BLOCK
|
|
391
405
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
392
406
|
|
|
393
407
|
auth_type: Annotated[
|
|
394
|
-
|
|
408
|
+
Annotated[
|
|
409
|
+
Optional[OutputDatadogAuthenticationMethod],
|
|
410
|
+
PlainValidator(validate_open_enum(False)),
|
|
411
|
+
],
|
|
412
|
+
pydantic.Field(alias="authType"),
|
|
395
413
|
] = OutputDatadogAuthenticationMethod.MANUAL
|
|
396
414
|
r"""Enter API key directly, or select a stored secret"""
|
|
397
415
|
|
|
@@ -418,19 +436,29 @@ class OutputDatadog(BaseModel):
|
|
|
418
436
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
|
|
419
437
|
|
|
420
438
|
pq_compress: Annotated[
|
|
421
|
-
|
|
439
|
+
Annotated[
|
|
440
|
+
Optional[OutputDatadogCompression],
|
|
441
|
+
PlainValidator(validate_open_enum(False)),
|
|
442
|
+
],
|
|
443
|
+
pydantic.Field(alias="pqCompress"),
|
|
422
444
|
] = OutputDatadogCompression.NONE
|
|
423
445
|
r"""Codec to use to compress the persisted data"""
|
|
424
446
|
|
|
425
447
|
pq_on_backpressure: Annotated[
|
|
426
|
-
|
|
448
|
+
Annotated[
|
|
449
|
+
Optional[OutputDatadogQueueFullBehavior],
|
|
450
|
+
PlainValidator(validate_open_enum(False)),
|
|
451
|
+
],
|
|
427
452
|
pydantic.Field(alias="pqOnBackpressure"),
|
|
428
453
|
] = OutputDatadogQueueFullBehavior.BLOCK
|
|
429
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."""
|
|
430
455
|
|
|
431
|
-
pq_mode: Annotated[
|
|
432
|
-
|
|
433
|
-
|
|
456
|
+
pq_mode: Annotated[
|
|
457
|
+
Annotated[
|
|
458
|
+
Optional[OutputDatadogMode], PlainValidator(validate_open_enum(False))
|
|
459
|
+
],
|
|
460
|
+
pydantic.Field(alias="pqMode"),
|
|
461
|
+
] = OutputDatadogMode.ERROR
|
|
434
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."""
|
|
435
463
|
|
|
436
464
|
pq_controls: Annotated[
|