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
|
|
@@ -19,29 +18,22 @@ class OutputFilesystemType(str, Enum):
|
|
|
19
18
|
class OutputFilesystemDataFormat(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
20
19
|
r"""Format of the output data"""
|
|
21
20
|
|
|
22
|
-
# JSON
|
|
23
21
|
JSON = "json"
|
|
24
|
-
# Raw
|
|
25
22
|
RAW = "raw"
|
|
26
|
-
# Parquet
|
|
27
23
|
PARQUET = "parquet"
|
|
28
24
|
|
|
29
25
|
|
|
30
26
|
class OutputFilesystemBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
31
27
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
32
28
|
|
|
33
|
-
# Block
|
|
34
29
|
BLOCK = "block"
|
|
35
|
-
# Drop
|
|
36
30
|
DROP = "drop"
|
|
37
31
|
|
|
38
32
|
|
|
39
33
|
class OutputFilesystemDiskSpaceProtection(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
40
34
|
r"""How to handle events when disk space is below the global 'Min free disk space' limit"""
|
|
41
35
|
|
|
42
|
-
# Block
|
|
43
36
|
BLOCK = "block"
|
|
44
|
-
# Drop
|
|
45
37
|
DROP = "drop"
|
|
46
38
|
|
|
47
39
|
|
|
@@ -55,31 +47,23 @@ class OutputFilesystemCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
|
55
47
|
class OutputFilesystemCompressionLevel(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
56
48
|
r"""Compression level to apply before moving files to final destination"""
|
|
57
49
|
|
|
58
|
-
# Best Speed
|
|
59
50
|
BEST_SPEED = "best_speed"
|
|
60
|
-
# Normal
|
|
61
51
|
NORMAL = "normal"
|
|
62
|
-
# Best Compression
|
|
63
52
|
BEST_COMPRESSION = "best_compression"
|
|
64
53
|
|
|
65
54
|
|
|
66
55
|
class OutputFilesystemParquetVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
67
56
|
r"""Determines which data types are supported and how they are represented"""
|
|
68
57
|
|
|
69
|
-
# 1.0
|
|
70
58
|
PARQUET_1_0 = "PARQUET_1_0"
|
|
71
|
-
# 2.4
|
|
72
59
|
PARQUET_2_4 = "PARQUET_2_4"
|
|
73
|
-
# 2.6
|
|
74
60
|
PARQUET_2_6 = "PARQUET_2_6"
|
|
75
61
|
|
|
76
62
|
|
|
77
63
|
class OutputFilesystemDataPageVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
78
64
|
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."""
|
|
79
65
|
|
|
80
|
-
# V1
|
|
81
66
|
DATA_PAGE_V1 = "DATA_PAGE_V1"
|
|
82
|
-
# V2
|
|
83
67
|
DATA_PAGE_V2 = "DATA_PAGE_V2"
|
|
84
68
|
|
|
85
69
|
|
|
@@ -147,8 +131,6 @@ class OutputFilesystemTypedDict(TypedDict):
|
|
|
147
131
|
r"""Compression level to apply before moving files to final destination"""
|
|
148
132
|
automatic_schema: NotRequired[bool]
|
|
149
133
|
r"""Automatically calculate the schema based on the events of each Parquet file generated"""
|
|
150
|
-
parquet_schema: NotRequired[str]
|
|
151
|
-
r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas"""
|
|
152
134
|
parquet_version: NotRequired[OutputFilesystemParquetVersion]
|
|
153
135
|
r"""Determines which data types are supported and how they are represented"""
|
|
154
136
|
parquet_data_page_version: NotRequired[OutputFilesystemDataPageVersion]
|
|
@@ -307,11 +289,6 @@ class OutputFilesystem(BaseModel):
|
|
|
307
289
|
] = False
|
|
308
290
|
r"""Automatically calculate the schema based on the events of each Parquet file generated"""
|
|
309
291
|
|
|
310
|
-
parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = (
|
|
311
|
-
None
|
|
312
|
-
)
|
|
313
|
-
r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas"""
|
|
314
|
-
|
|
315
292
|
parquet_version: Annotated[
|
|
316
293
|
Annotated[
|
|
317
294
|
Optional[OutputFilesystemParquetVersion],
|
|
@@ -378,66 +355,3 @@ class OutputFilesystem(BaseModel):
|
|
|
378
355
|
|
|
379
356
|
max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = 20
|
|
380
357
|
r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered"""
|
|
381
|
-
|
|
382
|
-
@field_serializer("format_")
|
|
383
|
-
def serialize_format_(self, value):
|
|
384
|
-
if isinstance(value, str):
|
|
385
|
-
try:
|
|
386
|
-
return models.OutputFilesystemDataFormat(value)
|
|
387
|
-
except ValueError:
|
|
388
|
-
return value
|
|
389
|
-
return value
|
|
390
|
-
|
|
391
|
-
@field_serializer("on_backpressure")
|
|
392
|
-
def serialize_on_backpressure(self, value):
|
|
393
|
-
if isinstance(value, str):
|
|
394
|
-
try:
|
|
395
|
-
return models.OutputFilesystemBackpressureBehavior(value)
|
|
396
|
-
except ValueError:
|
|
397
|
-
return value
|
|
398
|
-
return value
|
|
399
|
-
|
|
400
|
-
@field_serializer("on_disk_full_backpressure")
|
|
401
|
-
def serialize_on_disk_full_backpressure(self, value):
|
|
402
|
-
if isinstance(value, str):
|
|
403
|
-
try:
|
|
404
|
-
return models.OutputFilesystemDiskSpaceProtection(value)
|
|
405
|
-
except ValueError:
|
|
406
|
-
return value
|
|
407
|
-
return value
|
|
408
|
-
|
|
409
|
-
@field_serializer("compress")
|
|
410
|
-
def serialize_compress(self, value):
|
|
411
|
-
if isinstance(value, str):
|
|
412
|
-
try:
|
|
413
|
-
return models.OutputFilesystemCompression(value)
|
|
414
|
-
except ValueError:
|
|
415
|
-
return value
|
|
416
|
-
return value
|
|
417
|
-
|
|
418
|
-
@field_serializer("compression_level")
|
|
419
|
-
def serialize_compression_level(self, value):
|
|
420
|
-
if isinstance(value, str):
|
|
421
|
-
try:
|
|
422
|
-
return models.OutputFilesystemCompressionLevel(value)
|
|
423
|
-
except ValueError:
|
|
424
|
-
return value
|
|
425
|
-
return value
|
|
426
|
-
|
|
427
|
-
@field_serializer("parquet_version")
|
|
428
|
-
def serialize_parquet_version(self, value):
|
|
429
|
-
if isinstance(value, str):
|
|
430
|
-
try:
|
|
431
|
-
return models.OutputFilesystemParquetVersion(value)
|
|
432
|
-
except ValueError:
|
|
433
|
-
return value
|
|
434
|
-
return value
|
|
435
|
-
|
|
436
|
-
@field_serializer("parquet_data_page_version")
|
|
437
|
-
def serialize_parquet_data_page_version(self, value):
|
|
438
|
-
if isinstance(value, str):
|
|
439
|
-
try:
|
|
440
|
-
return models.OutputFilesystemDataPageVersion(value)
|
|
441
|
-
except ValueError:
|
|
442
|
-
return value
|
|
443
|
-
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
|
|
@@ -17,22 +16,16 @@ class OutputGoogleChronicleType(str, Enum):
|
|
|
17
16
|
|
|
18
17
|
|
|
19
18
|
class OutputGoogleChronicleAPIVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
20
|
-
# V1
|
|
21
19
|
V1 = "v1"
|
|
22
|
-
# V2
|
|
23
20
|
V2 = "v2"
|
|
24
21
|
|
|
25
22
|
|
|
26
23
|
class OutputGoogleChronicleAuthenticationMethod(
|
|
27
24
|
str, Enum, metaclass=utils.OpenEnumMeta
|
|
28
25
|
):
|
|
29
|
-
# API key
|
|
30
26
|
MANUAL = "manual"
|
|
31
|
-
# API key secret
|
|
32
27
|
SECRET = "secret"
|
|
33
|
-
# Service account credentials
|
|
34
28
|
SERVICE_ACCOUNT = "serviceAccount"
|
|
35
|
-
# Service account credentials secret
|
|
36
29
|
SERVICE_ACCOUNT_SECRET = "serviceAccountSecret"
|
|
37
30
|
|
|
38
31
|
|
|
@@ -91,9 +84,7 @@ class OutputGoogleChronicleTimeoutRetrySettings(BaseModel):
|
|
|
91
84
|
|
|
92
85
|
|
|
93
86
|
class SendEventsAs(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
94
|
-
# Unstructured
|
|
95
87
|
UNSTRUCTURED = "unstructured"
|
|
96
|
-
# UDM
|
|
97
88
|
UDM = "udm"
|
|
98
89
|
|
|
99
90
|
|
|
@@ -113,11 +104,8 @@ class OutputGoogleChronicleFailedRequestLoggingMode(
|
|
|
113
104
|
):
|
|
114
105
|
r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
|
|
115
106
|
|
|
116
|
-
# Payload
|
|
117
107
|
PAYLOAD = "payload"
|
|
118
|
-
# Payload + Headers
|
|
119
108
|
PAYLOAD_AND_HEADERS = "payloadAndHeaders"
|
|
120
|
-
# None
|
|
121
109
|
NONE = "none"
|
|
122
110
|
|
|
123
111
|
|
|
@@ -126,11 +114,8 @@ class OutputGoogleChronicleBackpressureBehavior(
|
|
|
126
114
|
):
|
|
127
115
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
128
116
|
|
|
129
|
-
# Block
|
|
130
117
|
BLOCK = "block"
|
|
131
|
-
# Drop
|
|
132
118
|
DROP = "drop"
|
|
133
|
-
# Persistent Queue
|
|
134
119
|
QUEUE = "queue"
|
|
135
120
|
|
|
136
121
|
|
|
@@ -156,42 +141,28 @@ class OutputGoogleChronicleCustomLabel(BaseModel):
|
|
|
156
141
|
value: str
|
|
157
142
|
|
|
158
143
|
|
|
159
|
-
class UDMType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
160
|
-
r"""Defines the specific format for UDM events sent to Google SecOps. This must match the type of UDM data being sent."""
|
|
161
|
-
|
|
162
|
-
ENTITIES = "entities"
|
|
163
|
-
LOGS = "logs"
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
class OutputGoogleChronicleMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
167
|
-
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."""
|
|
168
|
-
|
|
169
|
-
# Error
|
|
170
|
-
ERROR = "error"
|
|
171
|
-
# Backpressure
|
|
172
|
-
ALWAYS = "always"
|
|
173
|
-
# Always On
|
|
174
|
-
BACKPRESSURE = "backpressure"
|
|
175
|
-
|
|
176
|
-
|
|
177
144
|
class OutputGoogleChronicleCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
178
145
|
r"""Codec to use to compress the persisted data"""
|
|
179
146
|
|
|
180
|
-
# None
|
|
181
147
|
NONE = "none"
|
|
182
|
-
# Gzip
|
|
183
148
|
GZIP = "gzip"
|
|
184
149
|
|
|
185
150
|
|
|
186
151
|
class OutputGoogleChronicleQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
187
152
|
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."""
|
|
188
153
|
|
|
189
|
-
# Block
|
|
190
154
|
BLOCK = "block"
|
|
191
|
-
# Drop new data
|
|
192
155
|
DROP = "drop"
|
|
193
156
|
|
|
194
157
|
|
|
158
|
+
class OutputGoogleChronicleMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
159
|
+
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."""
|
|
160
|
+
|
|
161
|
+
ERROR = "error"
|
|
162
|
+
BACKPRESSURE = "backpressure"
|
|
163
|
+
ALWAYS = "always"
|
|
164
|
+
|
|
165
|
+
|
|
195
166
|
class OutputGoogleChroniclePqControlsTypedDict(TypedDict):
|
|
196
167
|
pass
|
|
197
168
|
|
|
@@ -270,8 +241,6 @@ class OutputGoogleChronicleTypedDict(TypedDict):
|
|
|
270
241
|
r"""User-configured environment namespace to identify the data domain the logs originated from. Use namespace as a tag to identify the appropriate data domain for indexing and enrichment functionality. Can be overwritten by event field __namespace."""
|
|
271
242
|
custom_labels: NotRequired[List[OutputGoogleChronicleCustomLabelTypedDict]]
|
|
272
243
|
r"""Custom labels to be added to every batch"""
|
|
273
|
-
udm_type: NotRequired[UDMType]
|
|
274
|
-
r"""Defines the specific format for UDM events sent to Google SecOps. This must match the type of UDM data being sent."""
|
|
275
244
|
api_key: NotRequired[str]
|
|
276
245
|
r"""Organization's API key in Google SecOps"""
|
|
277
246
|
api_key_secret: NotRequired[str]
|
|
@@ -280,16 +249,6 @@ class OutputGoogleChronicleTypedDict(TypedDict):
|
|
|
280
249
|
r"""Contents of service account credentials (JSON keys) file downloaded from Google Cloud. To upload a file, click the upload button at this field's upper right."""
|
|
281
250
|
service_account_credentials_secret: NotRequired[str]
|
|
282
251
|
r"""Select or create a stored text secret"""
|
|
283
|
-
pq_strict_ordering: NotRequired[bool]
|
|
284
|
-
r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
|
|
285
|
-
pq_rate_per_sec: NotRequired[float]
|
|
286
|
-
r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
|
|
287
|
-
pq_mode: NotRequired[OutputGoogleChronicleMode]
|
|
288
|
-
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."""
|
|
289
|
-
pq_max_buffer_size: NotRequired[float]
|
|
290
|
-
r"""The maximum number of events to hold in memory before writing the events to disk"""
|
|
291
|
-
pq_max_backpressure_sec: NotRequired[float]
|
|
292
|
-
r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
|
|
293
252
|
pq_max_file_size: NotRequired[str]
|
|
294
253
|
r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
|
|
295
254
|
pq_max_size: NotRequired[str]
|
|
@@ -300,6 +259,8 @@ class OutputGoogleChronicleTypedDict(TypedDict):
|
|
|
300
259
|
r"""Codec to use to compress the persisted data"""
|
|
301
260
|
pq_on_backpressure: NotRequired[OutputGoogleChronicleQueueFullBehavior]
|
|
302
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[OutputGoogleChronicleMode]
|
|
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."""
|
|
303
264
|
pq_controls: NotRequired[OutputGoogleChroniclePqControlsTypedDict]
|
|
304
265
|
|
|
305
266
|
|
|
@@ -461,12 +422,6 @@ class OutputGoogleChronicle(BaseModel):
|
|
|
461
422
|
] = None
|
|
462
423
|
r"""Custom labels to be added to every batch"""
|
|
463
424
|
|
|
464
|
-
udm_type: Annotated[
|
|
465
|
-
Annotated[Optional[UDMType], PlainValidator(validate_open_enum(False))],
|
|
466
|
-
pydantic.Field(alias="udmType"),
|
|
467
|
-
] = UDMType.LOGS
|
|
468
|
-
r"""Defines the specific format for UDM events sent to Google SecOps. This must match the type of UDM data being sent."""
|
|
469
|
-
|
|
470
425
|
api_key: Annotated[Optional[str], pydantic.Field(alias="apiKey")] = None
|
|
471
426
|
r"""Organization's API key in Google SecOps"""
|
|
472
427
|
|
|
@@ -485,35 +440,6 @@ class OutputGoogleChronicle(BaseModel):
|
|
|
485
440
|
] = None
|
|
486
441
|
r"""Select or create a stored text secret"""
|
|
487
442
|
|
|
488
|
-
pq_strict_ordering: Annotated[
|
|
489
|
-
Optional[bool], pydantic.Field(alias="pqStrictOrdering")
|
|
490
|
-
] = True
|
|
491
|
-
r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
|
|
492
|
-
|
|
493
|
-
pq_rate_per_sec: Annotated[
|
|
494
|
-
Optional[float], pydantic.Field(alias="pqRatePerSec")
|
|
495
|
-
] = 0
|
|
496
|
-
r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
|
|
497
|
-
|
|
498
|
-
pq_mode: Annotated[
|
|
499
|
-
Annotated[
|
|
500
|
-
Optional[OutputGoogleChronicleMode],
|
|
501
|
-
PlainValidator(validate_open_enum(False)),
|
|
502
|
-
],
|
|
503
|
-
pydantic.Field(alias="pqMode"),
|
|
504
|
-
] = OutputGoogleChronicleMode.ERROR
|
|
505
|
-
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."""
|
|
506
|
-
|
|
507
|
-
pq_max_buffer_size: Annotated[
|
|
508
|
-
Optional[float], pydantic.Field(alias="pqMaxBufferSize")
|
|
509
|
-
] = 42
|
|
510
|
-
r"""The maximum number of events to hold in memory before writing the events to disk"""
|
|
511
|
-
|
|
512
|
-
pq_max_backpressure_sec: Annotated[
|
|
513
|
-
Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
|
|
514
|
-
] = 30
|
|
515
|
-
r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
|
|
516
|
-
|
|
517
443
|
pq_max_file_size: Annotated[
|
|
518
444
|
Optional[str], pydantic.Field(alias="pqMaxFileSize")
|
|
519
445
|
] = "1 MB"
|
|
@@ -545,87 +471,15 @@ class OutputGoogleChronicle(BaseModel):
|
|
|
545
471
|
] = OutputGoogleChronicleQueueFullBehavior.BLOCK
|
|
546
472
|
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."""
|
|
547
473
|
|
|
474
|
+
pq_mode: Annotated[
|
|
475
|
+
Annotated[
|
|
476
|
+
Optional[OutputGoogleChronicleMode],
|
|
477
|
+
PlainValidator(validate_open_enum(False)),
|
|
478
|
+
],
|
|
479
|
+
pydantic.Field(alias="pqMode"),
|
|
480
|
+
] = OutputGoogleChronicleMode.ERROR
|
|
481
|
+
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."""
|
|
482
|
+
|
|
548
483
|
pq_controls: Annotated[
|
|
549
484
|
Optional[OutputGoogleChroniclePqControls], pydantic.Field(alias="pqControls")
|
|
550
485
|
] = None
|
|
551
|
-
|
|
552
|
-
@field_serializer("api_version")
|
|
553
|
-
def serialize_api_version(self, value):
|
|
554
|
-
if isinstance(value, str):
|
|
555
|
-
try:
|
|
556
|
-
return models.OutputGoogleChronicleAPIVersion(value)
|
|
557
|
-
except ValueError:
|
|
558
|
-
return value
|
|
559
|
-
return value
|
|
560
|
-
|
|
561
|
-
@field_serializer("authentication_method")
|
|
562
|
-
def serialize_authentication_method(self, value):
|
|
563
|
-
if isinstance(value, str):
|
|
564
|
-
try:
|
|
565
|
-
return models.OutputGoogleChronicleAuthenticationMethod(value)
|
|
566
|
-
except ValueError:
|
|
567
|
-
return value
|
|
568
|
-
return value
|
|
569
|
-
|
|
570
|
-
@field_serializer("log_format_type")
|
|
571
|
-
def serialize_log_format_type(self, value):
|
|
572
|
-
if isinstance(value, str):
|
|
573
|
-
try:
|
|
574
|
-
return models.SendEventsAs(value)
|
|
575
|
-
except ValueError:
|
|
576
|
-
return value
|
|
577
|
-
return value
|
|
578
|
-
|
|
579
|
-
@field_serializer("failed_request_logging_mode")
|
|
580
|
-
def serialize_failed_request_logging_mode(self, value):
|
|
581
|
-
if isinstance(value, str):
|
|
582
|
-
try:
|
|
583
|
-
return models.OutputGoogleChronicleFailedRequestLoggingMode(value)
|
|
584
|
-
except ValueError:
|
|
585
|
-
return value
|
|
586
|
-
return value
|
|
587
|
-
|
|
588
|
-
@field_serializer("on_backpressure")
|
|
589
|
-
def serialize_on_backpressure(self, value):
|
|
590
|
-
if isinstance(value, str):
|
|
591
|
-
try:
|
|
592
|
-
return models.OutputGoogleChronicleBackpressureBehavior(value)
|
|
593
|
-
except ValueError:
|
|
594
|
-
return value
|
|
595
|
-
return value
|
|
596
|
-
|
|
597
|
-
@field_serializer("udm_type")
|
|
598
|
-
def serialize_udm_type(self, value):
|
|
599
|
-
if isinstance(value, str):
|
|
600
|
-
try:
|
|
601
|
-
return models.UDMType(value)
|
|
602
|
-
except ValueError:
|
|
603
|
-
return value
|
|
604
|
-
return value
|
|
605
|
-
|
|
606
|
-
@field_serializer("pq_mode")
|
|
607
|
-
def serialize_pq_mode(self, value):
|
|
608
|
-
if isinstance(value, str):
|
|
609
|
-
try:
|
|
610
|
-
return models.OutputGoogleChronicleMode(value)
|
|
611
|
-
except ValueError:
|
|
612
|
-
return value
|
|
613
|
-
return value
|
|
614
|
-
|
|
615
|
-
@field_serializer("pq_compress")
|
|
616
|
-
def serialize_pq_compress(self, value):
|
|
617
|
-
if isinstance(value, str):
|
|
618
|
-
try:
|
|
619
|
-
return models.OutputGoogleChronicleCompression(value)
|
|
620
|
-
except ValueError:
|
|
621
|
-
return value
|
|
622
|
-
return value
|
|
623
|
-
|
|
624
|
-
@field_serializer("pq_on_backpressure")
|
|
625
|
-
def serialize_pq_on_backpressure(self, value):
|
|
626
|
-
if isinstance(value, str):
|
|
627
|
-
try:
|
|
628
|
-
return models.OutputGoogleChronicleQueueFullBehavior(value)
|
|
629
|
-
except ValueError:
|
|
630
|
-
return value
|
|
631
|
-
return value
|