cribl-control-plane 0.0.15__py3-none-any.whl → 0.0.17__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of cribl-control-plane might be problematic. Click here for more details.
- cribl_control_plane/_version.py +3 -3
- cribl_control_plane/{outputs.py → destinations.py} +69 -71
- cribl_control_plane/errors/healthstatus_error.py +2 -8
- cribl_control_plane/models/__init__.py +5347 -115
- cribl_control_plane/models/createinputop.py +18216 -2
- cribl_control_plane/models/createoutputop.py +18417 -4
- cribl_control_plane/models/createoutputtestbyidop.py +2 -2
- cribl_control_plane/models/deleteoutputbyidop.py +2 -2
- cribl_control_plane/models/deleteoutputpqbyidop.py +2 -2
- cribl_control_plane/models/getoutputbyidop.py +2 -2
- cribl_control_plane/models/getoutputpqbyidop.py +2 -2
- cribl_control_plane/models/getoutputsamplesbyidop.py +2 -2
- cribl_control_plane/models/healthstatus.py +4 -7
- cribl_control_plane/models/inputappscope.py +16 -36
- cribl_control_plane/models/inputazureblob.py +8 -19
- cribl_control_plane/models/inputcollection.py +6 -15
- cribl_control_plane/models/inputconfluentcloud.py +22 -45
- cribl_control_plane/models/inputcribl.py +6 -13
- cribl_control_plane/models/inputcriblhttp.py +12 -27
- cribl_control_plane/models/inputcribllakehttp.py +14 -26
- cribl_control_plane/models/inputcriblmetrics.py +6 -14
- cribl_control_plane/models/inputcribltcp.py +12 -27
- cribl_control_plane/models/inputcrowdstrike.py +12 -28
- cribl_control_plane/models/inputdatadogagent.py +12 -28
- cribl_control_plane/models/inputdatagen.py +6 -13
- cribl_control_plane/models/inputedgeprometheus.py +33 -64
- cribl_control_plane/models/inputelastic.py +18 -44
- cribl_control_plane/models/inputeventhub.py +10 -19
- cribl_control_plane/models/inputexec.py +8 -16
- cribl_control_plane/models/inputfile.py +8 -17
- cribl_control_plane/models/inputfirehose.py +12 -27
- cribl_control_plane/models/inputgooglepubsub.py +10 -23
- cribl_control_plane/models/inputgrafana_union.py +39 -81
- cribl_control_plane/models/inputhttp.py +12 -27
- cribl_control_plane/models/inputhttpraw.py +12 -27
- cribl_control_plane/models/inputjournalfiles.py +8 -16
- cribl_control_plane/models/inputkafka.py +18 -45
- cribl_control_plane/models/inputkinesis.py +18 -42
- cribl_control_plane/models/inputkubeevents.py +6 -13
- cribl_control_plane/models/inputkubelogs.py +10 -18
- cribl_control_plane/models/inputkubemetrics.py +10 -18
- cribl_control_plane/models/inputloki.py +14 -33
- cribl_control_plane/models/inputmetrics.py +10 -25
- cribl_control_plane/models/inputmodeldriventelemetry.py +14 -33
- cribl_control_plane/models/inputmsk.py +20 -52
- cribl_control_plane/models/inputnetflow.py +8 -15
- cribl_control_plane/models/inputoffice365mgmt.py +18 -37
- cribl_control_plane/models/inputoffice365msgtrace.py +20 -41
- cribl_control_plane/models/inputoffice365service.py +20 -41
- cribl_control_plane/models/inputopentelemetry.py +20 -42
- cribl_control_plane/models/inputprometheus.py +22 -54
- cribl_control_plane/models/inputprometheusrw.py +14 -34
- cribl_control_plane/models/inputrawudp.py +8 -15
- cribl_control_plane/models/inputs3.py +10 -23
- cribl_control_plane/models/inputs3inventory.py +12 -28
- cribl_control_plane/models/inputsecuritylake.py +12 -29
- cribl_control_plane/models/inputsnmp.py +10 -20
- cribl_control_plane/models/inputsplunk.py +16 -37
- cribl_control_plane/models/inputsplunkhec.py +14 -33
- cribl_control_plane/models/inputsplunksearch.py +18 -37
- cribl_control_plane/models/inputsqs.py +14 -31
- cribl_control_plane/models/inputsyslog_union.py +29 -53
- cribl_control_plane/models/inputsystemmetrics.py +26 -50
- cribl_control_plane/models/inputsystemstate.py +10 -18
- cribl_control_plane/models/inputtcp.py +14 -33
- cribl_control_plane/models/inputtcpjson.py +14 -33
- cribl_control_plane/models/inputwef.py +22 -45
- cribl_control_plane/models/inputwindowsmetrics.py +26 -46
- cribl_control_plane/models/inputwineventlogs.py +12 -22
- cribl_control_plane/models/inputwiz.py +12 -25
- cribl_control_plane/models/inputzscalerhec.py +14 -33
- cribl_control_plane/models/listoutputop.py +2 -2
- cribl_control_plane/models/output.py +3 -6
- cribl_control_plane/models/outputazureblob.py +20 -52
- cribl_control_plane/models/outputazuredataexplorer.py +30 -77
- cribl_control_plane/models/outputazureeventhub.py +20 -44
- cribl_control_plane/models/outputazurelogs.py +14 -37
- cribl_control_plane/models/outputclickhouse.py +22 -59
- cribl_control_plane/models/outputcloudwatch.py +12 -33
- cribl_control_plane/models/outputconfluentcloud.py +32 -75
- cribl_control_plane/models/outputcriblhttp.py +18 -46
- cribl_control_plane/models/outputcribllake.py +18 -48
- cribl_control_plane/models/outputcribltcp.py +20 -47
- cribl_control_plane/models/outputcrowdstrikenextgensiem.py +16 -54
- cribl_control_plane/models/outputdatadog.py +22 -50
- cribl_control_plane/models/outputdataset.py +20 -48
- cribl_control_plane/models/outputdefault.py +2 -5
- cribl_control_plane/models/outputdevnull.py +2 -5
- cribl_control_plane/models/outputdiskspool.py +4 -9
- cribl_control_plane/models/outputdls3.py +26 -72
- cribl_control_plane/models/outputdynatracehttp.py +22 -57
- cribl_control_plane/models/outputdynatraceotlp.py +24 -59
- cribl_control_plane/models/outputelastic.py +20 -45
- cribl_control_plane/models/outputelasticcloud.py +14 -40
- cribl_control_plane/models/outputexabeam.py +12 -33
- cribl_control_plane/models/outputfilesystem.py +16 -41
- cribl_control_plane/models/outputgooglechronicle.py +18 -54
- cribl_control_plane/models/outputgooglecloudlogging.py +16 -46
- cribl_control_plane/models/outputgooglecloudstorage.py +26 -71
- cribl_control_plane/models/outputgooglepubsub.py +16 -39
- cribl_control_plane/models/{outputgrafanacloud_union.py → outputgrafanacloud.py} +49 -110
- cribl_control_plane/models/outputgraphite.py +16 -35
- cribl_control_plane/models/outputhoneycomb.py +14 -37
- cribl_control_plane/models/outputhumiohec.py +18 -47
- cribl_control_plane/models/outputinfluxdb.py +18 -44
- cribl_control_plane/models/outputkafka.py +28 -73
- cribl_control_plane/models/outputkinesis.py +18 -44
- cribl_control_plane/models/outputloki.py +18 -43
- cribl_control_plane/models/outputminio.py +26 -69
- cribl_control_plane/models/outputmsk.py +30 -81
- cribl_control_plane/models/outputnetflow.py +2 -5
- cribl_control_plane/models/outputnewrelic.py +20 -45
- cribl_control_plane/models/outputnewrelicevents.py +16 -45
- cribl_control_plane/models/outputopentelemetry.py +28 -69
- cribl_control_plane/models/outputprometheus.py +14 -37
- cribl_control_plane/models/outputring.py +10 -21
- cribl_control_plane/models/outputrouter.py +2 -5
- cribl_control_plane/models/outputs3.py +28 -72
- cribl_control_plane/models/outputsecuritylake.py +20 -56
- cribl_control_plane/models/outputsentinel.py +20 -49
- cribl_control_plane/models/outputsentineloneaisiem.py +20 -54
- cribl_control_plane/models/outputservicenow.py +26 -64
- cribl_control_plane/models/outputsignalfx.py +16 -39
- cribl_control_plane/models/outputsnmp.py +2 -5
- cribl_control_plane/models/outputsns.py +16 -40
- cribl_control_plane/models/outputsplunk.py +26 -64
- cribl_control_plane/models/outputsplunkhec.py +14 -37
- cribl_control_plane/models/outputsplunklb.py +36 -83
- cribl_control_plane/models/outputsqs.py +18 -45
- cribl_control_plane/models/outputstatsd.py +16 -34
- cribl_control_plane/models/outputstatsdext.py +14 -33
- cribl_control_plane/models/outputsumologic.py +14 -37
- cribl_control_plane/models/outputsyslog.py +26 -60
- cribl_control_plane/models/outputtcpjson.py +22 -54
- cribl_control_plane/models/outputwavefront.py +14 -37
- cribl_control_plane/models/outputwebhook.py +24 -60
- cribl_control_plane/models/outputxsiam.py +16 -37
- cribl_control_plane/models/updateoutputbyidop.py +4 -4
- cribl_control_plane/sdk.py +3 -5
- cribl_control_plane/sources.py +8 -10
- {cribl_control_plane-0.0.15.dist-info → cribl_control_plane-0.0.17.dist-info}/METADATA +13 -13
- cribl_control_plane-0.0.17.dist-info/RECORD +215 -0
- cribl_control_plane-0.0.15.dist-info/RECORD +0 -215
- {cribl_control_plane-0.0.15.dist-info → cribl_control_plane-0.0.17.dist-info}/WHEEL +0 -0
|
@@ -1,21 +1,18 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
-
from cribl_control_plane import utils
|
|
5
4
|
from cribl_control_plane.types import BaseModel
|
|
6
|
-
from cribl_control_plane.utils import validate_open_enum
|
|
7
5
|
from enum import Enum
|
|
8
6
|
import pydantic
|
|
9
|
-
from pydantic.functional_validators import PlainValidator
|
|
10
7
|
from typing import List, Optional
|
|
11
8
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
9
|
|
|
13
10
|
|
|
14
|
-
class OutputSecurityLakeType(str, Enum
|
|
11
|
+
class OutputSecurityLakeType(str, Enum):
|
|
15
12
|
SECURITY_LAKE = "security_lake"
|
|
16
13
|
|
|
17
14
|
|
|
18
|
-
class OutputSecurityLakeAuthenticationMethod(str, Enum
|
|
15
|
+
class OutputSecurityLakeAuthenticationMethod(str, Enum):
|
|
19
16
|
r"""AWS authentication method. Choose Auto to use IAM roles."""
|
|
20
17
|
|
|
21
18
|
AUTO = "auto"
|
|
@@ -23,14 +20,14 @@ class OutputSecurityLakeAuthenticationMethod(str, Enum, metaclass=utils.OpenEnum
|
|
|
23
20
|
SECRET = "secret"
|
|
24
21
|
|
|
25
22
|
|
|
26
|
-
class OutputSecurityLakeSignatureVersion(str, Enum
|
|
23
|
+
class OutputSecurityLakeSignatureVersion(str, Enum):
|
|
27
24
|
r"""Signature version to use for signing Amazon Security Lake requests"""
|
|
28
25
|
|
|
29
26
|
V2 = "v2"
|
|
30
27
|
V4 = "v4"
|
|
31
28
|
|
|
32
29
|
|
|
33
|
-
class OutputSecurityLakeObjectACL(str, Enum
|
|
30
|
+
class OutputSecurityLakeObjectACL(str, Enum):
|
|
34
31
|
r"""Object ACL to assign to uploaded objects"""
|
|
35
32
|
|
|
36
33
|
PRIVATE = "private"
|
|
@@ -42,7 +39,7 @@ class OutputSecurityLakeObjectACL(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
42
39
|
BUCKET_OWNER_FULL_CONTROL = "bucket-owner-full-control"
|
|
43
40
|
|
|
44
41
|
|
|
45
|
-
class OutputSecurityLakeStorageClass(str, Enum
|
|
42
|
+
class OutputSecurityLakeStorageClass(str, Enum):
|
|
46
43
|
r"""Storage class to select for uploaded objects"""
|
|
47
44
|
|
|
48
45
|
STANDARD = "STANDARD"
|
|
@@ -55,28 +52,26 @@ class OutputSecurityLakeStorageClass(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
55
52
|
DEEP_ARCHIVE = "DEEP_ARCHIVE"
|
|
56
53
|
|
|
57
54
|
|
|
58
|
-
class OutputSecurityLakeServerSideEncryptionForUploadedObjects(
|
|
59
|
-
str, Enum, metaclass=utils.OpenEnumMeta
|
|
60
|
-
):
|
|
55
|
+
class OutputSecurityLakeServerSideEncryptionForUploadedObjects(str, Enum):
|
|
61
56
|
AES256 = "AES256"
|
|
62
57
|
AWS_KMS = "aws:kms"
|
|
63
58
|
|
|
64
59
|
|
|
65
|
-
class OutputSecurityLakeBackpressureBehavior(str, Enum
|
|
60
|
+
class OutputSecurityLakeBackpressureBehavior(str, Enum):
|
|
66
61
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
67
62
|
|
|
68
63
|
BLOCK = "block"
|
|
69
64
|
DROP = "drop"
|
|
70
65
|
|
|
71
66
|
|
|
72
|
-
class OutputSecurityLakeDiskSpaceProtection(str, Enum
|
|
67
|
+
class OutputSecurityLakeDiskSpaceProtection(str, Enum):
|
|
73
68
|
r"""How to handle events when disk space is below the global 'Min free disk space' limit"""
|
|
74
69
|
|
|
75
70
|
BLOCK = "block"
|
|
76
71
|
DROP = "drop"
|
|
77
72
|
|
|
78
73
|
|
|
79
|
-
class OutputSecurityLakeParquetVersion(str, Enum
|
|
74
|
+
class OutputSecurityLakeParquetVersion(str, Enum):
|
|
80
75
|
r"""Determines which data types are supported and how they are represented"""
|
|
81
76
|
|
|
82
77
|
PARQUET_1_0 = "PARQUET_1_0"
|
|
@@ -84,7 +79,7 @@ class OutputSecurityLakeParquetVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
84
79
|
PARQUET_2_6 = "PARQUET_2_6"
|
|
85
80
|
|
|
86
81
|
|
|
87
|
-
class OutputSecurityLakeDataPageVersion(str, Enum
|
|
82
|
+
class OutputSecurityLakeDataPageVersion(str, Enum):
|
|
88
83
|
r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it."""
|
|
89
84
|
|
|
90
85
|
DATA_PAGE_V1 = "DATA_PAGE_V1"
|
|
@@ -236,9 +231,7 @@ class OutputSecurityLake(BaseModel):
|
|
|
236
231
|
id: Optional[str] = None
|
|
237
232
|
r"""Unique ID for this output"""
|
|
238
233
|
|
|
239
|
-
type:
|
|
240
|
-
Optional[OutputSecurityLakeType], PlainValidator(validate_open_enum(False))
|
|
241
|
-
] = None
|
|
234
|
+
type: Optional[OutputSecurityLakeType] = None
|
|
242
235
|
|
|
243
236
|
pipeline: Optional[str] = None
|
|
244
237
|
r"""Pipeline to process data before sending out to this output"""
|
|
@@ -259,10 +252,7 @@ class OutputSecurityLake(BaseModel):
|
|
|
259
252
|
)
|
|
260
253
|
|
|
261
254
|
aws_authentication_method: Annotated[
|
|
262
|
-
|
|
263
|
-
Optional[OutputSecurityLakeAuthenticationMethod],
|
|
264
|
-
PlainValidator(validate_open_enum(False)),
|
|
265
|
-
],
|
|
255
|
+
Optional[OutputSecurityLakeAuthenticationMethod],
|
|
266
256
|
pydantic.Field(alias="awsAuthenticationMethod"),
|
|
267
257
|
] = OutputSecurityLakeAuthenticationMethod.AUTO
|
|
268
258
|
r"""AWS authentication method. Choose Auto to use IAM roles."""
|
|
@@ -271,10 +261,7 @@ class OutputSecurityLake(BaseModel):
|
|
|
271
261
|
r"""Amazon Security Lake service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to Amazon Security Lake-compatible endpoint."""
|
|
272
262
|
|
|
273
263
|
signature_version: Annotated[
|
|
274
|
-
|
|
275
|
-
Optional[OutputSecurityLakeSignatureVersion],
|
|
276
|
-
PlainValidator(validate_open_enum(False)),
|
|
277
|
-
],
|
|
264
|
+
Optional[OutputSecurityLakeSignatureVersion],
|
|
278
265
|
pydantic.Field(alias="signatureVersion"),
|
|
279
266
|
] = OutputSecurityLakeSignatureVersion.V4
|
|
280
267
|
r"""Signature version to use for signing Amazon Security Lake requests"""
|
|
@@ -315,28 +302,17 @@ class OutputSecurityLake(BaseModel):
|
|
|
315
302
|
r"""Add the Output ID value to staging location"""
|
|
316
303
|
|
|
317
304
|
object_acl: Annotated[
|
|
318
|
-
|
|
319
|
-
Optional[OutputSecurityLakeObjectACL],
|
|
320
|
-
PlainValidator(validate_open_enum(False)),
|
|
321
|
-
],
|
|
322
|
-
pydantic.Field(alias="objectACL"),
|
|
305
|
+
Optional[OutputSecurityLakeObjectACL], pydantic.Field(alias="objectACL")
|
|
323
306
|
] = OutputSecurityLakeObjectACL.PRIVATE
|
|
324
307
|
r"""Object ACL to assign to uploaded objects"""
|
|
325
308
|
|
|
326
309
|
storage_class: Annotated[
|
|
327
|
-
|
|
328
|
-
Optional[OutputSecurityLakeStorageClass],
|
|
329
|
-
PlainValidator(validate_open_enum(False)),
|
|
330
|
-
],
|
|
331
|
-
pydantic.Field(alias="storageClass"),
|
|
310
|
+
Optional[OutputSecurityLakeStorageClass], pydantic.Field(alias="storageClass")
|
|
332
311
|
] = None
|
|
333
312
|
r"""Storage class to select for uploaded objects"""
|
|
334
313
|
|
|
335
314
|
server_side_encryption: Annotated[
|
|
336
|
-
|
|
337
|
-
Optional[OutputSecurityLakeServerSideEncryptionForUploadedObjects],
|
|
338
|
-
PlainValidator(validate_open_enum(False)),
|
|
339
|
-
],
|
|
315
|
+
Optional[OutputSecurityLakeServerSideEncryptionForUploadedObjects],
|
|
340
316
|
pydantic.Field(alias="serverSideEncryption"),
|
|
341
317
|
] = None
|
|
342
318
|
|
|
@@ -372,10 +348,7 @@ class OutputSecurityLake(BaseModel):
|
|
|
372
348
|
r"""Buffer size used to write to a file"""
|
|
373
349
|
|
|
374
350
|
on_backpressure: Annotated[
|
|
375
|
-
|
|
376
|
-
Optional[OutputSecurityLakeBackpressureBehavior],
|
|
377
|
-
PlainValidator(validate_open_enum(False)),
|
|
378
|
-
],
|
|
351
|
+
Optional[OutputSecurityLakeBackpressureBehavior],
|
|
379
352
|
pydantic.Field(alias="onBackpressure"),
|
|
380
353
|
] = OutputSecurityLakeBackpressureBehavior.BLOCK
|
|
381
354
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
@@ -386,10 +359,7 @@ class OutputSecurityLake(BaseModel):
|
|
|
386
359
|
r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors"""
|
|
387
360
|
|
|
388
361
|
on_disk_full_backpressure: Annotated[
|
|
389
|
-
|
|
390
|
-
Optional[OutputSecurityLakeDiskSpaceProtection],
|
|
391
|
-
PlainValidator(validate_open_enum(False)),
|
|
392
|
-
],
|
|
362
|
+
Optional[OutputSecurityLakeDiskSpaceProtection],
|
|
393
363
|
pydantic.Field(alias="onDiskFullBackpressure"),
|
|
394
364
|
] = OutputSecurityLakeDiskSpaceProtection.BLOCK
|
|
395
365
|
r"""How to handle events when disk space is below the global 'Min free disk space' limit"""
|
|
@@ -425,19 +395,13 @@ class OutputSecurityLake(BaseModel):
|
|
|
425
395
|
r"""Automatically calculate the schema based on the events of each Parquet file generated"""
|
|
426
396
|
|
|
427
397
|
parquet_version: Annotated[
|
|
428
|
-
|
|
429
|
-
Optional[OutputSecurityLakeParquetVersion],
|
|
430
|
-
PlainValidator(validate_open_enum(False)),
|
|
431
|
-
],
|
|
398
|
+
Optional[OutputSecurityLakeParquetVersion],
|
|
432
399
|
pydantic.Field(alias="parquetVersion"),
|
|
433
400
|
] = OutputSecurityLakeParquetVersion.PARQUET_2_6
|
|
434
401
|
r"""Determines which data types are supported and how they are represented"""
|
|
435
402
|
|
|
436
403
|
parquet_data_page_version: Annotated[
|
|
437
|
-
|
|
438
|
-
Optional[OutputSecurityLakeDataPageVersion],
|
|
439
|
-
PlainValidator(validate_open_enum(False)),
|
|
440
|
-
],
|
|
404
|
+
Optional[OutputSecurityLakeDataPageVersion],
|
|
441
405
|
pydantic.Field(alias="parquetDataPageVersion"),
|
|
442
406
|
] = OutputSecurityLakeDataPageVersion.DATA_PAGE_V2
|
|
443
407
|
r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it."""
|
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
-
from cribl_control_plane import utils
|
|
5
4
|
from cribl_control_plane.types import BaseModel
|
|
6
|
-
from cribl_control_plane.utils import validate_open_enum
|
|
7
5
|
from enum import Enum
|
|
8
6
|
import pydantic
|
|
9
|
-
from pydantic.functional_validators import PlainValidator
|
|
10
7
|
from typing import List, Optional
|
|
11
8
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
9
|
|
|
13
10
|
|
|
14
|
-
class OutputSentinelType(str, Enum
|
|
11
|
+
class OutputSentinelType(str, Enum):
|
|
15
12
|
SENTINEL = "sentinel"
|
|
16
13
|
|
|
17
14
|
|
|
@@ -26,7 +23,7 @@ class OutputSentinelExtraHTTPHeader(BaseModel):
|
|
|
26
23
|
name: Optional[str] = None
|
|
27
24
|
|
|
28
25
|
|
|
29
|
-
class OutputSentinelFailedRequestLoggingMode(str, Enum
|
|
26
|
+
class OutputSentinelFailedRequestLoggingMode(str, Enum):
|
|
30
27
|
r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
|
|
31
28
|
|
|
32
29
|
PAYLOAD = "payload"
|
|
@@ -88,7 +85,7 @@ class OutputSentinelTimeoutRetrySettings(BaseModel):
|
|
|
88
85
|
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)."""
|
|
89
86
|
|
|
90
87
|
|
|
91
|
-
class OutputSentinelBackpressureBehavior(str, Enum
|
|
88
|
+
class OutputSentinelBackpressureBehavior(str, Enum):
|
|
92
89
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
93
90
|
|
|
94
91
|
BLOCK = "block"
|
|
@@ -96,39 +93,39 @@ class OutputSentinelBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta
|
|
|
96
93
|
QUEUE = "queue"
|
|
97
94
|
|
|
98
95
|
|
|
99
|
-
class AuthType(str, Enum
|
|
96
|
+
class AuthType(str, Enum):
|
|
100
97
|
OAUTH = "oauth"
|
|
101
98
|
|
|
102
99
|
|
|
103
|
-
class EndpointConfiguration(str, Enum
|
|
100
|
+
class EndpointConfiguration(str, Enum):
|
|
104
101
|
r"""Enter the data collection endpoint URL or the individual ID"""
|
|
105
102
|
|
|
106
103
|
URL = "url"
|
|
107
104
|
ID = "ID"
|
|
108
105
|
|
|
109
106
|
|
|
110
|
-
class OutputSentinelFormat(str, Enum
|
|
107
|
+
class OutputSentinelFormat(str, Enum):
|
|
111
108
|
NDJSON = "ndjson"
|
|
112
109
|
JSON_ARRAY = "json_array"
|
|
113
110
|
CUSTOM = "custom"
|
|
114
111
|
ADVANCED = "advanced"
|
|
115
112
|
|
|
116
113
|
|
|
117
|
-
class OutputSentinelCompression(str, Enum
|
|
114
|
+
class OutputSentinelCompression(str, Enum):
|
|
118
115
|
r"""Codec to use to compress the persisted data"""
|
|
119
116
|
|
|
120
117
|
NONE = "none"
|
|
121
118
|
GZIP = "gzip"
|
|
122
119
|
|
|
123
120
|
|
|
124
|
-
class OutputSentinelQueueFullBehavior(str, Enum
|
|
121
|
+
class OutputSentinelQueueFullBehavior(str, Enum):
|
|
125
122
|
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."""
|
|
126
123
|
|
|
127
124
|
BLOCK = "block"
|
|
128
125
|
DROP = "drop"
|
|
129
126
|
|
|
130
127
|
|
|
131
|
-
class OutputSentinelMode(str, Enum
|
|
128
|
+
class OutputSentinelMode(str, Enum):
|
|
132
129
|
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
130
|
|
|
134
131
|
ERROR = "error"
|
|
@@ -259,9 +256,7 @@ class OutputSentinel(BaseModel):
|
|
|
259
256
|
id: Optional[str] = None
|
|
260
257
|
r"""Unique ID for this output"""
|
|
261
258
|
|
|
262
|
-
type:
|
|
263
|
-
Optional[OutputSentinelType], PlainValidator(validate_open_enum(False))
|
|
264
|
-
] = None
|
|
259
|
+
type: Optional[OutputSentinelType] = None
|
|
265
260
|
|
|
266
261
|
pipeline: Optional[str] = None
|
|
267
262
|
r"""Pipeline to process data before sending out to this output"""
|
|
@@ -324,10 +319,7 @@ class OutputSentinel(BaseModel):
|
|
|
324
319
|
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."""
|
|
325
320
|
|
|
326
321
|
failed_request_logging_mode: Annotated[
|
|
327
|
-
|
|
328
|
-
Optional[OutputSentinelFailedRequestLoggingMode],
|
|
329
|
-
PlainValidator(validate_open_enum(False)),
|
|
330
|
-
],
|
|
322
|
+
Optional[OutputSentinelFailedRequestLoggingMode],
|
|
331
323
|
pydantic.Field(alias="failedRequestLoggingMode"),
|
|
332
324
|
] = OutputSentinelFailedRequestLoggingMode.NONE
|
|
333
325
|
r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
|
|
@@ -354,26 +346,18 @@ class OutputSentinel(BaseModel):
|
|
|
354
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."""
|
|
355
347
|
|
|
356
348
|
on_backpressure: Annotated[
|
|
357
|
-
|
|
358
|
-
Optional[OutputSentinelBackpressureBehavior],
|
|
359
|
-
PlainValidator(validate_open_enum(False)),
|
|
360
|
-
],
|
|
349
|
+
Optional[OutputSentinelBackpressureBehavior],
|
|
361
350
|
pydantic.Field(alias="onBackpressure"),
|
|
362
351
|
] = OutputSentinelBackpressureBehavior.BLOCK
|
|
363
352
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
364
353
|
|
|
365
|
-
auth_type: Annotated[
|
|
366
|
-
Annotated[Optional[AuthType], PlainValidator(validate_open_enum(False))],
|
|
367
|
-
pydantic.Field(alias="authType"),
|
|
368
|
-
] = None
|
|
354
|
+
auth_type: Annotated[Optional[AuthType], pydantic.Field(alias="authType")] = None
|
|
369
355
|
|
|
370
356
|
scope: Optional[str] = "https://monitor.azure.com/.default"
|
|
371
357
|
r"""Scope to pass in the OAuth request"""
|
|
372
358
|
|
|
373
359
|
endpoint_url_configuration: Annotated[
|
|
374
|
-
|
|
375
|
-
Optional[EndpointConfiguration], PlainValidator(validate_open_enum(False))
|
|
376
|
-
],
|
|
360
|
+
Optional[EndpointConfiguration],
|
|
377
361
|
pydantic.Field(alias="endpointURLConfiguration"),
|
|
378
362
|
] = EndpointConfiguration.URL
|
|
379
363
|
r"""Enter the data collection endpoint URL or the individual ID"""
|
|
@@ -386,10 +370,7 @@ class OutputSentinel(BaseModel):
|
|
|
386
370
|
description: Optional[str] = None
|
|
387
371
|
|
|
388
372
|
format_: Annotated[
|
|
389
|
-
|
|
390
|
-
Optional[OutputSentinelFormat], PlainValidator(validate_open_enum(False))
|
|
391
|
-
],
|
|
392
|
-
pydantic.Field(alias="format"),
|
|
373
|
+
Optional[OutputSentinelFormat], pydantic.Field(alias="format")
|
|
393
374
|
] = None
|
|
394
375
|
|
|
395
376
|
custom_source_expression: Annotated[
|
|
@@ -446,29 +427,19 @@ class OutputSentinel(BaseModel):
|
|
|
446
427
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
|
|
447
428
|
|
|
448
429
|
pq_compress: Annotated[
|
|
449
|
-
|
|
450
|
-
Optional[OutputSentinelCompression],
|
|
451
|
-
PlainValidator(validate_open_enum(False)),
|
|
452
|
-
],
|
|
453
|
-
pydantic.Field(alias="pqCompress"),
|
|
430
|
+
Optional[OutputSentinelCompression], pydantic.Field(alias="pqCompress")
|
|
454
431
|
] = OutputSentinelCompression.NONE
|
|
455
432
|
r"""Codec to use to compress the persisted data"""
|
|
456
433
|
|
|
457
434
|
pq_on_backpressure: Annotated[
|
|
458
|
-
|
|
459
|
-
Optional[OutputSentinelQueueFullBehavior],
|
|
460
|
-
PlainValidator(validate_open_enum(False)),
|
|
461
|
-
],
|
|
435
|
+
Optional[OutputSentinelQueueFullBehavior],
|
|
462
436
|
pydantic.Field(alias="pqOnBackpressure"),
|
|
463
437
|
] = OutputSentinelQueueFullBehavior.BLOCK
|
|
464
438
|
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."""
|
|
465
439
|
|
|
466
|
-
pq_mode: Annotated[
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
],
|
|
470
|
-
pydantic.Field(alias="pqMode"),
|
|
471
|
-
] = OutputSentinelMode.ERROR
|
|
440
|
+
pq_mode: Annotated[Optional[OutputSentinelMode], pydantic.Field(alias="pqMode")] = (
|
|
441
|
+
OutputSentinelMode.ERROR
|
|
442
|
+
)
|
|
472
443
|
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."""
|
|
473
444
|
|
|
474
445
|
pq_controls: Annotated[
|
|
@@ -1,21 +1,18 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
-
from cribl_control_plane import utils
|
|
5
4
|
from cribl_control_plane.types import BaseModel
|
|
6
|
-
from cribl_control_plane.utils import validate_open_enum
|
|
7
5
|
from enum import Enum
|
|
8
6
|
import pydantic
|
|
9
|
-
from pydantic.functional_validators import PlainValidator
|
|
10
7
|
from typing import List, Optional
|
|
11
8
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
9
|
|
|
13
10
|
|
|
14
|
-
class OutputSentinelOneAiSiemType(str, Enum
|
|
11
|
+
class OutputSentinelOneAiSiemType(str, Enum):
|
|
15
12
|
SENTINEL_ONE_AI_SIEM = "sentinel_one_ai_siem"
|
|
16
13
|
|
|
17
14
|
|
|
18
|
-
class OutputSentinelOneAiSiemRegion(str, Enum
|
|
15
|
+
class OutputSentinelOneAiSiemRegion(str, Enum):
|
|
19
16
|
r"""The SentinelOne region to send events to. In most cases you can find the region by either looking at your SentinelOne URL or knowing what geographic region your SentinelOne instance is contained in."""
|
|
20
17
|
|
|
21
18
|
US = "US"
|
|
@@ -27,7 +24,7 @@ class OutputSentinelOneAiSiemRegion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
27
24
|
CUSTOM = "Custom"
|
|
28
25
|
|
|
29
26
|
|
|
30
|
-
class AISIEMEndpointPath(str, Enum
|
|
27
|
+
class AISIEMEndpointPath(str, Enum):
|
|
31
28
|
r"""Regional endpoint used to send events to, such as /services/collector/event or /services/collector/raw"""
|
|
32
29
|
|
|
33
30
|
ROOT_SERVICES_COLLECTOR_EVENT = "/services/collector/event"
|
|
@@ -45,9 +42,7 @@ class OutputSentinelOneAiSiemExtraHTTPHeader(BaseModel):
|
|
|
45
42
|
name: Optional[str] = None
|
|
46
43
|
|
|
47
44
|
|
|
48
|
-
class OutputSentinelOneAiSiemFailedRequestLoggingMode(
|
|
49
|
-
str, Enum, metaclass=utils.OpenEnumMeta
|
|
50
|
-
):
|
|
45
|
+
class OutputSentinelOneAiSiemFailedRequestLoggingMode(str, Enum):
|
|
51
46
|
r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
|
|
52
47
|
|
|
53
48
|
PAYLOAD = "payload"
|
|
@@ -55,9 +50,7 @@ class OutputSentinelOneAiSiemFailedRequestLoggingMode(
|
|
|
55
50
|
NONE = "none"
|
|
56
51
|
|
|
57
52
|
|
|
58
|
-
class OutputSentinelOneAiSiemAuthenticationMethod(
|
|
59
|
-
str, Enum, metaclass=utils.OpenEnumMeta
|
|
60
|
-
):
|
|
53
|
+
class OutputSentinelOneAiSiemAuthenticationMethod(str, Enum):
|
|
61
54
|
r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
|
|
62
55
|
|
|
63
56
|
MANUAL = "manual"
|
|
@@ -118,9 +111,7 @@ class OutputSentinelOneAiSiemTimeoutRetrySettings(BaseModel):
|
|
|
118
111
|
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)."""
|
|
119
112
|
|
|
120
113
|
|
|
121
|
-
class OutputSentinelOneAiSiemBackpressureBehavior(
|
|
122
|
-
str, Enum, metaclass=utils.OpenEnumMeta
|
|
123
|
-
):
|
|
114
|
+
class OutputSentinelOneAiSiemBackpressureBehavior(str, Enum):
|
|
124
115
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
125
116
|
|
|
126
117
|
BLOCK = "block"
|
|
@@ -128,21 +119,21 @@ class OutputSentinelOneAiSiemBackpressureBehavior(
|
|
|
128
119
|
QUEUE = "queue"
|
|
129
120
|
|
|
130
121
|
|
|
131
|
-
class OutputSentinelOneAiSiemCompression(str, Enum
|
|
122
|
+
class OutputSentinelOneAiSiemCompression(str, Enum):
|
|
132
123
|
r"""Codec to use to compress the persisted data"""
|
|
133
124
|
|
|
134
125
|
NONE = "none"
|
|
135
126
|
GZIP = "gzip"
|
|
136
127
|
|
|
137
128
|
|
|
138
|
-
class OutputSentinelOneAiSiemQueueFullBehavior(str, Enum
|
|
129
|
+
class OutputSentinelOneAiSiemQueueFullBehavior(str, Enum):
|
|
139
130
|
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."""
|
|
140
131
|
|
|
141
132
|
BLOCK = "block"
|
|
142
133
|
DROP = "drop"
|
|
143
134
|
|
|
144
135
|
|
|
145
|
-
class OutputSentinelOneAiSiemMode(str, Enum
|
|
136
|
+
class OutputSentinelOneAiSiemMode(str, Enum):
|
|
146
137
|
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
138
|
|
|
148
139
|
ERROR = "error"
|
|
@@ -268,9 +259,7 @@ class OutputSentinelOneAiSiem(BaseModel):
|
|
|
268
259
|
id: Optional[str] = None
|
|
269
260
|
r"""Unique ID for this output"""
|
|
270
261
|
|
|
271
|
-
type:
|
|
272
|
-
Optional[OutputSentinelOneAiSiemType], PlainValidator(validate_open_enum(False))
|
|
273
|
-
] = None
|
|
262
|
+
type: Optional[OutputSentinelOneAiSiemType] = None
|
|
274
263
|
|
|
275
264
|
pipeline: Optional[str] = None
|
|
276
265
|
r"""Pipeline to process data before sending out to this output"""
|
|
@@ -286,15 +275,12 @@ class OutputSentinelOneAiSiem(BaseModel):
|
|
|
286
275
|
streamtags: Optional[List[str]] = None
|
|
287
276
|
r"""Tags for filtering and grouping in @{product}"""
|
|
288
277
|
|
|
289
|
-
region:
|
|
290
|
-
Optional[OutputSentinelOneAiSiemRegion],
|
|
291
|
-
PlainValidator(validate_open_enum(False)),
|
|
292
|
-
] = OutputSentinelOneAiSiemRegion.US
|
|
278
|
+
region: Optional[OutputSentinelOneAiSiemRegion] = OutputSentinelOneAiSiemRegion.US
|
|
293
279
|
r"""The SentinelOne region to send events to. In most cases you can find the region by either looking at your SentinelOne URL or knowing what geographic region your SentinelOne instance is contained in."""
|
|
294
280
|
|
|
295
|
-
endpoint:
|
|
296
|
-
|
|
297
|
-
|
|
281
|
+
endpoint: Optional[AISIEMEndpointPath] = (
|
|
282
|
+
AISIEMEndpointPath.ROOT_SERVICES_COLLECTOR_EVENT
|
|
283
|
+
)
|
|
298
284
|
r"""Regional endpoint used to send events to, such as /services/collector/event or /services/collector/raw"""
|
|
299
285
|
|
|
300
286
|
concurrency: Optional[float] = 5
|
|
@@ -336,10 +322,7 @@ class OutputSentinelOneAiSiem(BaseModel):
|
|
|
336
322
|
r"""Headers to add to all events"""
|
|
337
323
|
|
|
338
324
|
failed_request_logging_mode: Annotated[
|
|
339
|
-
|
|
340
|
-
Optional[OutputSentinelOneAiSiemFailedRequestLoggingMode],
|
|
341
|
-
PlainValidator(validate_open_enum(False)),
|
|
342
|
-
],
|
|
325
|
+
Optional[OutputSentinelOneAiSiemFailedRequestLoggingMode],
|
|
343
326
|
pydantic.Field(alias="failedRequestLoggingMode"),
|
|
344
327
|
] = OutputSentinelOneAiSiemFailedRequestLoggingMode.NONE
|
|
345
328
|
r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
|
|
@@ -350,10 +333,7 @@ class OutputSentinelOneAiSiem(BaseModel):
|
|
|
350
333
|
r"""List of headers that are safe to log in plain text"""
|
|
351
334
|
|
|
352
335
|
auth_type: Annotated[
|
|
353
|
-
|
|
354
|
-
Optional[OutputSentinelOneAiSiemAuthenticationMethod],
|
|
355
|
-
PlainValidator(validate_open_enum(False)),
|
|
356
|
-
],
|
|
336
|
+
Optional[OutputSentinelOneAiSiemAuthenticationMethod],
|
|
357
337
|
pydantic.Field(alias="authType"),
|
|
358
338
|
] = OutputSentinelOneAiSiemAuthenticationMethod.MANUAL
|
|
359
339
|
r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
|
|
@@ -375,10 +355,7 @@ class OutputSentinelOneAiSiem(BaseModel):
|
|
|
375
355
|
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."""
|
|
376
356
|
|
|
377
357
|
on_backpressure: Annotated[
|
|
378
|
-
|
|
379
|
-
Optional[OutputSentinelOneAiSiemBackpressureBehavior],
|
|
380
|
-
PlainValidator(validate_open_enum(False)),
|
|
381
|
-
],
|
|
358
|
+
Optional[OutputSentinelOneAiSiemBackpressureBehavior],
|
|
382
359
|
pydantic.Field(alias="onBackpressure"),
|
|
383
360
|
] = OutputSentinelOneAiSiemBackpressureBehavior.BLOCK
|
|
384
361
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
@@ -474,29 +451,18 @@ class OutputSentinelOneAiSiem(BaseModel):
|
|
|
474
451
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
|
|
475
452
|
|
|
476
453
|
pq_compress: Annotated[
|
|
477
|
-
|
|
478
|
-
Optional[OutputSentinelOneAiSiemCompression],
|
|
479
|
-
PlainValidator(validate_open_enum(False)),
|
|
480
|
-
],
|
|
481
|
-
pydantic.Field(alias="pqCompress"),
|
|
454
|
+
Optional[OutputSentinelOneAiSiemCompression], pydantic.Field(alias="pqCompress")
|
|
482
455
|
] = OutputSentinelOneAiSiemCompression.NONE
|
|
483
456
|
r"""Codec to use to compress the persisted data"""
|
|
484
457
|
|
|
485
458
|
pq_on_backpressure: Annotated[
|
|
486
|
-
|
|
487
|
-
Optional[OutputSentinelOneAiSiemQueueFullBehavior],
|
|
488
|
-
PlainValidator(validate_open_enum(False)),
|
|
489
|
-
],
|
|
459
|
+
Optional[OutputSentinelOneAiSiemQueueFullBehavior],
|
|
490
460
|
pydantic.Field(alias="pqOnBackpressure"),
|
|
491
461
|
] = OutputSentinelOneAiSiemQueueFullBehavior.BLOCK
|
|
492
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."""
|
|
493
463
|
|
|
494
464
|
pq_mode: Annotated[
|
|
495
|
-
|
|
496
|
-
Optional[OutputSentinelOneAiSiemMode],
|
|
497
|
-
PlainValidator(validate_open_enum(False)),
|
|
498
|
-
],
|
|
499
|
-
pydantic.Field(alias="pqMode"),
|
|
465
|
+
Optional[OutputSentinelOneAiSiemMode], pydantic.Field(alias="pqMode")
|
|
500
466
|
] = OutputSentinelOneAiSiemMode.ERROR
|
|
501
467
|
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."""
|
|
502
468
|
|