cribl-control-plane 0.4.0b23__py3-none-any.whl → 0.5.0b3__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.
- cribl_control_plane/_version.py +3 -3
- cribl_control_plane/collectors_sdk.py +993 -0
- cribl_control_plane/models/__init__.py +2161 -734
- cribl_control_plane/models/configgroup.py +3 -0
- cribl_control_plane/models/countedsavedjob.py +20 -0
- cribl_control_plane/models/createsavedjobop.py +30 -0
- cribl_control_plane/models/deletesavedjobbyidop.py +42 -0
- cribl_control_plane/models/functionaggregatemetrics.py +7 -144
- cribl_control_plane/models/functionaggregation.py +7 -110
- cribl_control_plane/models/functionautotimestamp.py +7 -111
- cribl_control_plane/models/functioncef.py +6 -51
- cribl_control_plane/models/functionchain.py +6 -12
- cribl_control_plane/models/functionclone.py +7 -13
- cribl_control_plane/models/functioncode.py +8 -35
- cribl_control_plane/models/functioncomment.py +6 -12
- cribl_control_plane/models/functionconfschemaaggregatemetrics.py +153 -0
- cribl_control_plane/models/functionconfschemaaggregation.py +114 -0
- cribl_control_plane/models/functionconfschemaautotimestamp.py +116 -0
- cribl_control_plane/models/functionconfschemacef.py +83 -0
- cribl_control_plane/models/functionconfschemachain.py +16 -0
- cribl_control_plane/models/functionconfschemaclone.py +16 -0
- cribl_control_plane/models/functionconfschemacode.py +38 -0
- cribl_control_plane/models/functionconfschemacomment.py +16 -0
- cribl_control_plane/models/functionconfschemadistinct.py +41 -0
- cribl_control_plane/models/functionconfschemadnslookup.py +193 -0
- cribl_control_plane/models/functionconfschemadrop.py +13 -0
- cribl_control_plane/models/functionconfschemadropdimensions.py +31 -0
- cribl_control_plane/models/functionconfschemadynamicsampling.py +67 -0
- cribl_control_plane/models/functionconfschemaeval.py +44 -0
- cribl_control_plane/models/functionconfschemaeventbreaker.py +51 -0
- cribl_control_plane/models/functionconfschemaeventstats.py +34 -0
- cribl_control_plane/models/functionconfschemaexternaldata.py +13 -0
- cribl_control_plane/models/functionconfschemaflatten.py +31 -0
- cribl_control_plane/models/functionconfschemafoldkeys.py +31 -0
- cribl_control_plane/models/functionconfschemagenstats.py +14 -0
- cribl_control_plane/models/functionconfschemageoip.py +66 -0
- cribl_control_plane/models/functionconfschemagrok.py +38 -0
- cribl_control_plane/models/functionconfschemahandlebar.py +56 -0
- cribl_control_plane/models/functionconfschemajoin.py +55 -0
- cribl_control_plane/models/functionconfschemajsonunroll.py +21 -0
- cribl_control_plane/models/functionconfschemalakeexport.py +44 -0
- cribl_control_plane/models/functionconfschemalimit.py +16 -0
- cribl_control_plane/models/functionconfschemalocalsearchdatatypeparser.py +17 -0
- cribl_control_plane/models/functionconfschemalocalsearchrulesetrunner.py +40 -0
- cribl_control_plane/models/functionconfschemalookup.py +92 -0
- cribl_control_plane/models/functionconfschemamask.py +63 -0
- cribl_control_plane/models/functionconfschemamvexpand.py +76 -0
- cribl_control_plane/models/functionconfschemamvpull.py +45 -0
- cribl_control_plane/models/functionconfschemanotificationpolicies.py +129 -0
- cribl_control_plane/models/functionconfschemanotifications.py +26 -0
- cribl_control_plane/models/functionconfschemanotify.py +149 -0
- cribl_control_plane/models/functionconfschemanumerify.py +63 -0
- cribl_control_plane/models/functionconfschemaotlplogs.py +24 -0
- cribl_control_plane/models/functionconfschemaotlpmetrics.py +61 -0
- cribl_control_plane/models/functionconfschemaotlptraces.py +54 -0
- cribl_control_plane/models/functionconfschemapack.py +24 -0
- cribl_control_plane/models/functionconfschemapivot.py +31 -0
- cribl_control_plane/models/functionconfschemapublishmetrics.py +98 -0
- cribl_control_plane/models/functionconfschemaredis.py +121 -0
- cribl_control_plane/models/functionconfschemaregexextract.py +55 -0
- cribl_control_plane/models/functionconfschemaregexfilter.py +38 -0
- cribl_control_plane/models/functionconfschemarename.py +49 -0
- cribl_control_plane/models/functionconfschemarollupmetrics.py +57 -0
- cribl_control_plane/models/functionconfschemasampling.py +32 -0
- cribl_control_plane/models/functionconfschemasend.py +84 -0
- cribl_control_plane/models/functionconfschemasensitivedatascanner.py +75 -0
- cribl_control_plane/models/functionconfschemaserde.py +105 -0
- cribl_control_plane/models/functionconfschemaserialize.py +78 -0
- cribl_control_plane/models/functionconfschemasidlookup.py +34 -0
- cribl_control_plane/models/functionconfschemasnmptrapserialize.py +92 -0
- cribl_control_plane/models/functionconfschemasort.py +41 -0
- cribl_control_plane/models/functionconfschemastore.py +75 -0
- cribl_control_plane/models/functionconfschemasuppress.py +57 -0
- cribl_control_plane/models/functionconfschematee.py +32 -0
- cribl_control_plane/models/functionconfschematrimtimestamp.py +16 -0
- cribl_control_plane/models/functionconfschemaunion.py +22 -0
- cribl_control_plane/models/functionconfschemaunroll.py +22 -0
- cribl_control_plane/models/functionconfschemawindow.py +40 -0
- cribl_control_plane/models/functionconfschemaxmlunroll.py +34 -0
- cribl_control_plane/models/functiondistinct.py +7 -37
- cribl_control_plane/models/functiondnslookup.py +7 -188
- cribl_control_plane/models/functiondrop.py +8 -12
- cribl_control_plane/models/functiondropdimensions.py +7 -25
- cribl_control_plane/models/functiondynamicsampling.py +6 -58
- cribl_control_plane/models/functioneval.py +9 -43
- cribl_control_plane/models/functioneventbreaker.py +6 -40
- cribl_control_plane/models/functioneventstats.py +7 -30
- cribl_control_plane/models/functionexternaldata.py +6 -10
- cribl_control_plane/models/functionflatten.py +7 -28
- cribl_control_plane/models/functionfoldkeys.py +6 -26
- cribl_control_plane/models/functiongenstats.py +7 -11
- cribl_control_plane/models/functiongeoip.py +7 -58
- cribl_control_plane/models/functiongrok.py +9 -35
- cribl_control_plane/models/functionhandlebar.py +6 -49
- cribl_control_plane/models/functionjoin.py +9 -52
- cribl_control_plane/models/functionjsonunroll.py +6 -17
- cribl_control_plane/models/functionlakeexport.py +6 -39
- cribl_control_plane/models/functionlimit.py +6 -12
- cribl_control_plane/models/functionlocalsearchdatatypeparser.py +6 -12
- cribl_control_plane/models/functionlocalsearchrulesetrunner.py +7 -34
- cribl_control_plane/models/functionlookup.py +7 -86
- cribl_control_plane/models/functionmask.py +9 -61
- cribl_control_plane/models/functionmvexpand.py +7 -66
- cribl_control_plane/models/functionmvpull.py +6 -36
- cribl_control_plane/models/functionnotificationpolicies.py +8 -125
- cribl_control_plane/models/functionnotifications.py +6 -22
- cribl_control_plane/models/functionnotify.py +6 -133
- cribl_control_plane/models/functionnumerify.py +7 -57
- cribl_control_plane/models/functionotlplogs.py +6 -19
- cribl_control_plane/models/functionotlpmetrics.py +7 -56
- cribl_control_plane/models/functionotlptraces.py +6 -48
- cribl_control_plane/models/functionpack.py +9 -20
- cribl_control_plane/models/functionpivot.py +7 -23
- cribl_control_plane/models/functionpublishmetrics.py +7 -91
- cribl_control_plane/models/functionredis.py +7 -111
- cribl_control_plane/models/functionregexextract.py +7 -50
- cribl_control_plane/models/functionregexfilter.py +7 -33
- cribl_control_plane/models/functionrename.py +7 -45
- cribl_control_plane/models/functionrollupmetrics.py +7 -52
- cribl_control_plane/models/functionsampling.py +7 -28
- cribl_control_plane/models/functionsend.py +8 -80
- cribl_control_plane/models/functionsensitivedatascanner.py +7 -66
- cribl_control_plane/models/functionserde.py +6 -98
- cribl_control_plane/models/functionserialize.py +7 -72
- cribl_control_plane/models/functionsidlookup.py +7 -31
- cribl_control_plane/models/functionsnmptrapserialize.py +6 -81
- cribl_control_plane/models/functionsort.py +8 -36
- cribl_control_plane/models/functionstore.py +6 -69
- cribl_control_plane/models/functionsuppress.py +6 -52
- cribl_control_plane/models/functiontee.py +6 -30
- cribl_control_plane/models/functiontrimtimestamp.py +6 -12
- cribl_control_plane/models/functionunion.py +9 -20
- cribl_control_plane/models/functionunroll.py +6 -17
- cribl_control_plane/models/functionwindow.py +7 -34
- cribl_control_plane/models/functionxmlunroll.py +6 -29
- cribl_control_plane/models/getsavedjobbyidop.py +33 -0
- cribl_control_plane/models/getsavedjobop.py +40 -0
- cribl_control_plane/models/groupcreaterequest.py +3 -0
- cribl_control_plane/models/heartbeatmetadata.py +42 -0
- cribl_control_plane/models/input.py +1 -1
- cribl_control_plane/models/inputedgeprometheus.py +11 -11
- cribl_control_plane/models/inputprometheus.py +23 -18
- cribl_control_plane/models/nodeprovidedinfo.py +42 -0
- cribl_control_plane/models/output.py +15 -9
- cribl_control_plane/models/outputclickhouse.py +31 -0
- cribl_control_plane/models/outputcriblhttp.py +7 -0
- cribl_control_plane/models/outputcriblsearchengine.py +655 -0
- cribl_control_plane/models/outputnetflow.py +16 -2
- cribl_control_plane/models/pipeline.py +52 -4
- cribl_control_plane/models/pipelinefunctionaggregatemetrics.py +195 -0
- cribl_control_plane/models/pipelinefunctionaggregation.py +159 -0
- cribl_control_plane/models/pipelinefunctionautotimestamp.py +56 -0
- cribl_control_plane/models/pipelinefunctioncef.py +96 -0
- cribl_control_plane/models/pipelinefunctionchain.py +62 -0
- cribl_control_plane/models/pipelinefunctionclone.py +56 -0
- cribl_control_plane/models/pipelinefunctioncode.py +56 -0
- cribl_control_plane/models/pipelinefunctioncomment.py +56 -0
- cribl_control_plane/models/pipelinefunctionconf.py +343 -46
- cribl_control_plane/models/pipelinefunctionconf_input.py +353 -0
- cribl_control_plane/models/pipelinefunctiondistinct.py +86 -0
- cribl_control_plane/models/pipelinefunctiondnslookup.py +56 -0
- cribl_control_plane/models/pipelinefunctiondrop.py +56 -0
- cribl_control_plane/models/pipelinefunctiondropdimensions.py +74 -0
- cribl_control_plane/models/pipelinefunctiondynamicsampling.py +111 -0
- cribl_control_plane/models/pipelinefunctioneval.py +56 -0
- cribl_control_plane/models/pipelinefunctioneventbreaker.py +95 -0
- cribl_control_plane/models/pipelinefunctioneventstats.py +79 -0
- cribl_control_plane/models/pipelinefunctionexternaldata.py +56 -0
- cribl_control_plane/models/pipelinefunctionflatten.py +56 -0
- cribl_control_plane/models/pipelinefunctionfoldkeys.py +56 -0
- cribl_control_plane/models/pipelinefunctiongenstats.py +56 -0
- cribl_control_plane/models/pipelinefunctiongeoip.py +109 -0
- cribl_control_plane/models/pipelinefunctiongrok.py +83 -0
- cribl_control_plane/models/pipelinefunctionhandlebar.py +99 -0
- cribl_control_plane/models/pipelinefunctionjoin.py +100 -0
- cribl_control_plane/models/pipelinefunctionjsonunroll.py +67 -0
- cribl_control_plane/models/pipelinefunctionlakeexport.py +89 -0
- cribl_control_plane/models/pipelinefunctionlimit.py +56 -0
- cribl_control_plane/models/pipelinefunctionlocalsearchdatatypeparser.py +62 -0
- cribl_control_plane/models/pipelinefunctionlocalsearchrulesetrunner.py +56 -0
- cribl_control_plane/models/pipelinefunctionlookup.py +136 -0
- cribl_control_plane/models/pipelinefunctionmask.py +108 -0
- cribl_control_plane/models/pipelinefunctionmvexpand.py +116 -0
- cribl_control_plane/models/pipelinefunctionmvpull.py +86 -0
- cribl_control_plane/models/pipelinefunctionnotificationpolicies.py +56 -0
- cribl_control_plane/models/pipelinefunctionnotifications.py +72 -0
- cribl_control_plane/models/pipelinefunctionnotify.py +189 -0
- cribl_control_plane/models/pipelinefunctionnumerify.py +56 -0
- cribl_control_plane/models/pipelinefunctionotlplogs.py +56 -0
- cribl_control_plane/models/pipelinefunctionotlpmetrics.py +56 -0
- cribl_control_plane/models/pipelinefunctionotlptraces.py +56 -0
- cribl_control_plane/models/pipelinefunctionpack.py +67 -0
- cribl_control_plane/models/pipelinefunctionpivot.py +72 -0
- cribl_control_plane/models/pipelinefunctionpublishmetrics.py +56 -0
- cribl_control_plane/models/pipelinefunctionredis.py +165 -0
- cribl_control_plane/models/pipelinefunctionregexextract.py +100 -0
- cribl_control_plane/models/pipelinefunctionregexfilter.py +56 -0
- cribl_control_plane/models/pipelinefunctionrename.py +56 -0
- cribl_control_plane/models/pipelinefunctionrollupmetrics.py +56 -0
- cribl_control_plane/models/pipelinefunctionsampling.py +56 -0
- cribl_control_plane/models/pipelinefunctionsend.py +128 -0
- cribl_control_plane/models/pipelinefunctionsensitivedatascanner.py +120 -0
- cribl_control_plane/models/pipelinefunctionserde.py +149 -0
- cribl_control_plane/models/pipelinefunctionserialize.py +122 -0
- cribl_control_plane/models/pipelinefunctionsidlookup.py +56 -0
- cribl_control_plane/models/pipelinefunctionsnmptrapserialize.py +56 -0
- cribl_control_plane/models/pipelinefunctionsort.py +84 -0
- cribl_control_plane/models/pipelinefunctionstore.py +120 -0
- cribl_control_plane/models/pipelinefunctionsuppress.py +102 -0
- cribl_control_plane/models/pipelinefunctiontee.py +77 -0
- cribl_control_plane/models/pipelinefunctiontrimtimestamp.py +56 -0
- cribl_control_plane/models/pipelinefunctionunion.py +67 -0
- cribl_control_plane/models/pipelinefunctionunroll.py +67 -0
- cribl_control_plane/models/pipelinefunctionwindow.py +83 -0
- cribl_control_plane/models/pipelinefunctionxmlunroll.py +79 -0
- cribl_control_plane/models/runnablejobcollection.py +11 -10
- cribl_control_plane/models/runnablejobexecutor.py +8 -8
- cribl_control_plane/models/savedjob.py +26 -0
- cribl_control_plane/models/savedjobcollection.py +411 -0
- cribl_control_plane/models/savedjobexecutor.py +301 -0
- cribl_control_plane/models/savedjobscheduledsearch.py +278 -0
- cribl_control_plane/models/updatepipelinebyidop.py +4 -3
- cribl_control_plane/models/updatesavedjobbyidop.py +42 -0
- cribl_control_plane/pipelines.py +16 -16
- cribl_control_plane/sdk.py +4 -0
- {cribl_control_plane-0.4.0b23.dist-info → cribl_control_plane-0.5.0b3.dist-info}/METADATA +10 -2
- {cribl_control_plane-0.4.0b23.dist-info → cribl_control_plane-0.5.0b3.dist-info}/RECORD +229 -88
- {cribl_control_plane-0.4.0b23.dist-info → cribl_control_plane-0.5.0b3.dist-info}/WHEEL +0 -0
- {cribl_control_plane-0.4.0b23.dist-info → cribl_control_plane-0.5.0b3.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
+
from .functionconfschemachain import (
|
|
5
|
+
FunctionConfSchemaChain,
|
|
6
|
+
FunctionConfSchemaChainTypedDict,
|
|
7
|
+
)
|
|
4
8
|
from cribl_control_plane.types import BaseModel
|
|
5
9
|
from enum import Enum
|
|
6
10
|
import pydantic
|
|
@@ -12,16 +16,6 @@ class FunctionChainID(str, Enum):
|
|
|
12
16
|
CHAIN = "chain"
|
|
13
17
|
|
|
14
18
|
|
|
15
|
-
class FunctionChainSchemaTypedDict(TypedDict):
|
|
16
|
-
processor: str
|
|
17
|
-
r"""The data processor (Pack/Pipeline) to send events through"""
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
class FunctionChainSchema(BaseModel):
|
|
21
|
-
processor: str
|
|
22
|
-
r"""The data processor (Pack/Pipeline) to send events through"""
|
|
23
|
-
|
|
24
|
-
|
|
25
19
|
class FunctionChainTypedDict(TypedDict):
|
|
26
20
|
filename: str
|
|
27
21
|
group: str
|
|
@@ -36,7 +30,7 @@ class FunctionChainTypedDict(TypedDict):
|
|
|
36
30
|
disabled: NotRequired[bool]
|
|
37
31
|
handle_signals: NotRequired[bool]
|
|
38
32
|
sync: NotRequired[bool]
|
|
39
|
-
schema_: NotRequired[
|
|
33
|
+
schema_: NotRequired[FunctionConfSchemaChainTypedDict]
|
|
40
34
|
|
|
41
35
|
|
|
42
36
|
class FunctionChain(BaseModel):
|
|
@@ -71,5 +65,5 @@ class FunctionChain(BaseModel):
|
|
|
71
65
|
sync: Optional[bool] = None
|
|
72
66
|
|
|
73
67
|
schema_: Annotated[
|
|
74
|
-
Optional[
|
|
68
|
+
Optional[FunctionConfSchemaChain], pydantic.Field(alias="schema")
|
|
75
69
|
] = None
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
+
from .functionconfschemaclone import (
|
|
5
|
+
FunctionConfSchemaClone,
|
|
6
|
+
FunctionConfSchemaCloneTypedDict,
|
|
7
|
+
)
|
|
4
8
|
from cribl_control_plane.types import BaseModel
|
|
5
9
|
from enum import Enum
|
|
6
10
|
import pydantic
|
|
7
|
-
from typing import Any, Dict,
|
|
11
|
+
from typing import Any, Dict, Optional
|
|
8
12
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
13
|
|
|
10
14
|
|
|
@@ -12,16 +16,6 @@ class FunctionCloneID(str, Enum):
|
|
|
12
16
|
CLONE = "clone"
|
|
13
17
|
|
|
14
18
|
|
|
15
|
-
class FunctionCloneSchemaTypedDict(TypedDict):
|
|
16
|
-
clones: NotRequired[List[Dict[str, str]]]
|
|
17
|
-
r"""Create clones with the following fields set"""
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
class FunctionCloneSchema(BaseModel):
|
|
21
|
-
clones: Optional[List[Dict[str, str]]] = None
|
|
22
|
-
r"""Create clones with the following fields set"""
|
|
23
|
-
|
|
24
|
-
|
|
25
19
|
class FunctionCloneTypedDict(TypedDict):
|
|
26
20
|
filename: str
|
|
27
21
|
group: str
|
|
@@ -36,7 +30,7 @@ class FunctionCloneTypedDict(TypedDict):
|
|
|
36
30
|
disabled: NotRequired[bool]
|
|
37
31
|
handle_signals: NotRequired[bool]
|
|
38
32
|
sync: NotRequired[bool]
|
|
39
|
-
schema_: NotRequired[
|
|
33
|
+
schema_: NotRequired[FunctionConfSchemaCloneTypedDict]
|
|
40
34
|
|
|
41
35
|
|
|
42
36
|
class FunctionClone(BaseModel):
|
|
@@ -71,5 +65,5 @@ class FunctionClone(BaseModel):
|
|
|
71
65
|
sync: Optional[bool] = None
|
|
72
66
|
|
|
73
67
|
schema_: Annotated[
|
|
74
|
-
Optional[
|
|
68
|
+
Optional[FunctionConfSchemaClone], pydantic.Field(alias="schema")
|
|
75
69
|
] = None
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
+
from .functionconfschemacode import (
|
|
5
|
+
FunctionConfSchemaCode,
|
|
6
|
+
FunctionConfSchemaCodeTypedDict,
|
|
7
|
+
)
|
|
4
8
|
from cribl_control_plane.types import BaseModel
|
|
5
9
|
from enum import Enum
|
|
6
10
|
import pydantic
|
|
@@ -12,37 +16,6 @@ class FunctionCodeID(str, Enum):
|
|
|
12
16
|
CODE = "code"
|
|
13
17
|
|
|
14
18
|
|
|
15
|
-
class FunctionCodeSchemaTypedDict(TypedDict):
|
|
16
|
-
code: NotRequired[str]
|
|
17
|
-
r"""Caution: This Function will be evaluated in an unprotected context. This means that you will be able to execute almost any JavaScript code."""
|
|
18
|
-
max_num_of_iterations: NotRequired[float]
|
|
19
|
-
r"""The maximum number of allowed iterations within this Function. Defaults to 5,000."""
|
|
20
|
-
active_log_sample_rate: NotRequired[float]
|
|
21
|
-
r"""Rate at which this Function logs errors. For example, a value of 1 (the default) logs every error, a value of 10 logs every tenth error, and so on."""
|
|
22
|
-
use_unique_log_channel: NotRequired[bool]
|
|
23
|
-
r"""Logs from this Function will be sent to a unique channel in the form `func:code:${pipelineName}:${functionIndex}`. Disable to use the generic `func:code` log channel instead."""
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
class FunctionCodeSchema(BaseModel):
|
|
27
|
-
code: Optional[str] = None
|
|
28
|
-
r"""Caution: This Function will be evaluated in an unprotected context. This means that you will be able to execute almost any JavaScript code."""
|
|
29
|
-
|
|
30
|
-
max_num_of_iterations: Annotated[
|
|
31
|
-
Optional[float], pydantic.Field(alias="maxNumOfIterations")
|
|
32
|
-
] = 5000
|
|
33
|
-
r"""The maximum number of allowed iterations within this Function. Defaults to 5,000."""
|
|
34
|
-
|
|
35
|
-
active_log_sample_rate: Annotated[
|
|
36
|
-
Optional[float], pydantic.Field(alias="activeLogSampleRate")
|
|
37
|
-
] = 1
|
|
38
|
-
r"""Rate at which this Function logs errors. For example, a value of 1 (the default) logs every error, a value of 10 logs every tenth error, and so on."""
|
|
39
|
-
|
|
40
|
-
use_unique_log_channel: Annotated[
|
|
41
|
-
Optional[bool], pydantic.Field(alias="useUniqueLogChannel")
|
|
42
|
-
] = True
|
|
43
|
-
r"""Logs from this Function will be sent to a unique channel in the form `func:code:${pipelineName}:${functionIndex}`. Disable to use the generic `func:code` log channel instead."""
|
|
44
|
-
|
|
45
|
-
|
|
46
19
|
class FunctionCodeTypedDict(TypedDict):
|
|
47
20
|
filename: str
|
|
48
21
|
group: str
|
|
@@ -57,7 +30,7 @@ class FunctionCodeTypedDict(TypedDict):
|
|
|
57
30
|
disabled: NotRequired[bool]
|
|
58
31
|
handle_signals: NotRequired[bool]
|
|
59
32
|
sync: NotRequired[bool]
|
|
60
|
-
schema_: NotRequired[
|
|
33
|
+
schema_: NotRequired[FunctionConfSchemaCodeTypedDict]
|
|
61
34
|
|
|
62
35
|
|
|
63
36
|
class FunctionCode(BaseModel):
|
|
@@ -91,6 +64,6 @@ class FunctionCode(BaseModel):
|
|
|
91
64
|
|
|
92
65
|
sync: Optional[bool] = None
|
|
93
66
|
|
|
94
|
-
schema_: Annotated[
|
|
95
|
-
|
|
96
|
-
|
|
67
|
+
schema_: Annotated[
|
|
68
|
+
Optional[FunctionConfSchemaCode], pydantic.Field(alias="schema")
|
|
69
|
+
] = None
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
+
from .functionconfschemacomment import (
|
|
5
|
+
FunctionConfSchemaComment,
|
|
6
|
+
FunctionConfSchemaCommentTypedDict,
|
|
7
|
+
)
|
|
4
8
|
from cribl_control_plane.types import BaseModel
|
|
5
9
|
from enum import Enum
|
|
6
10
|
import pydantic
|
|
@@ -12,16 +16,6 @@ class FunctionCommentID(str, Enum):
|
|
|
12
16
|
COMMENT = "comment"
|
|
13
17
|
|
|
14
18
|
|
|
15
|
-
class FunctionCommentSchemaTypedDict(TypedDict):
|
|
16
|
-
comment: NotRequired[str]
|
|
17
|
-
r"""Optional, short description of this Function's purpose in the Pipeline"""
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
class FunctionCommentSchema(BaseModel):
|
|
21
|
-
comment: Optional[str] = None
|
|
22
|
-
r"""Optional, short description of this Function's purpose in the Pipeline"""
|
|
23
|
-
|
|
24
|
-
|
|
25
19
|
class FunctionCommentTypedDict(TypedDict):
|
|
26
20
|
filename: str
|
|
27
21
|
group: str
|
|
@@ -36,7 +30,7 @@ class FunctionCommentTypedDict(TypedDict):
|
|
|
36
30
|
disabled: NotRequired[bool]
|
|
37
31
|
handle_signals: NotRequired[bool]
|
|
38
32
|
sync: NotRequired[bool]
|
|
39
|
-
schema_: NotRequired[
|
|
33
|
+
schema_: NotRequired[FunctionConfSchemaCommentTypedDict]
|
|
40
34
|
|
|
41
35
|
|
|
42
36
|
class FunctionComment(BaseModel):
|
|
@@ -71,5 +65,5 @@ class FunctionComment(BaseModel):
|
|
|
71
65
|
sync: Optional[bool] = None
|
|
72
66
|
|
|
73
67
|
schema_: Annotated[
|
|
74
|
-
Optional[
|
|
68
|
+
Optional[FunctionConfSchemaComment], pydantic.Field(alias="schema")
|
|
75
69
|
] = None
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from cribl_control_plane import models, utils
|
|
5
|
+
from cribl_control_plane.types import BaseModel
|
|
6
|
+
from cribl_control_plane.utils import validate_open_enum
|
|
7
|
+
from enum import Enum
|
|
8
|
+
import pydantic
|
|
9
|
+
from pydantic import field_serializer
|
|
10
|
+
from pydantic.functional_validators import PlainValidator
|
|
11
|
+
from typing import List, Optional
|
|
12
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class FunctionConfSchemaAggregateMetricsMetricType(
|
|
16
|
+
str, Enum, metaclass=utils.OpenEnumMeta
|
|
17
|
+
):
|
|
18
|
+
r"""The output metric type"""
|
|
19
|
+
|
|
20
|
+
AUTOMATIC = "automatic"
|
|
21
|
+
COUNTER = "counter"
|
|
22
|
+
DISTRIBUTION = "distribution"
|
|
23
|
+
GAUGE = "gauge"
|
|
24
|
+
HISTOGRAM = "histogram"
|
|
25
|
+
SUMMARY = "summary"
|
|
26
|
+
TIMER = "timer"
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class FunctionConfSchemaAggregateMetricsAggregationTypedDict(TypedDict):
|
|
30
|
+
agg: str
|
|
31
|
+
r"""Aggregate function to perform on events. Example: sum(bytes).where(action=='REJECT').as(TotalBytes)"""
|
|
32
|
+
metric_type: NotRequired[FunctionConfSchemaAggregateMetricsMetricType]
|
|
33
|
+
r"""The output metric type"""
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
class FunctionConfSchemaAggregateMetricsAggregation(BaseModel):
|
|
37
|
+
agg: str
|
|
38
|
+
r"""Aggregate function to perform on events. Example: sum(bytes).where(action=='REJECT').as(TotalBytes)"""
|
|
39
|
+
|
|
40
|
+
metric_type: Annotated[
|
|
41
|
+
Annotated[
|
|
42
|
+
Optional[FunctionConfSchemaAggregateMetricsMetricType],
|
|
43
|
+
PlainValidator(validate_open_enum(False)),
|
|
44
|
+
],
|
|
45
|
+
pydantic.Field(alias="metricType"),
|
|
46
|
+
] = FunctionConfSchemaAggregateMetricsMetricType.AUTOMATIC
|
|
47
|
+
r"""The output metric type"""
|
|
48
|
+
|
|
49
|
+
@field_serializer("metric_type")
|
|
50
|
+
def serialize_metric_type(self, value):
|
|
51
|
+
if isinstance(value, str):
|
|
52
|
+
try:
|
|
53
|
+
return models.FunctionConfSchemaAggregateMetricsMetricType(value)
|
|
54
|
+
except ValueError:
|
|
55
|
+
return value
|
|
56
|
+
return value
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
class FunctionConfSchemaAggregateMetricsAddTypedDict(TypedDict):
|
|
60
|
+
value: str
|
|
61
|
+
r"""JavaScript expression to compute the value (can be constant)"""
|
|
62
|
+
name: NotRequired[str]
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
class FunctionConfSchemaAggregateMetricsAdd(BaseModel):
|
|
66
|
+
value: str
|
|
67
|
+
r"""JavaScript expression to compute the value (can be constant)"""
|
|
68
|
+
|
|
69
|
+
name: Optional[str] = None
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
class FunctionConfSchemaAggregateMetricsTypedDict(TypedDict):
|
|
73
|
+
passthrough: NotRequired[bool]
|
|
74
|
+
r"""Pass through the original events along with the aggregation events"""
|
|
75
|
+
preserve_group_bys: NotRequired[bool]
|
|
76
|
+
r"""Preserve the structure of the original aggregation event's groupby fields"""
|
|
77
|
+
sufficient_stats_only: NotRequired[bool]
|
|
78
|
+
r"""Output only statistics that are sufficient for the supplied aggregations"""
|
|
79
|
+
prefix: NotRequired[str]
|
|
80
|
+
r"""A prefix that is prepended to all of the fields output by this Aggregations Function"""
|
|
81
|
+
time_window: NotRequired[str]
|
|
82
|
+
r"""The time span of the tumbling window for aggregating events. Must be a valid time string (such as 10s)."""
|
|
83
|
+
aggregations: NotRequired[
|
|
84
|
+
List[FunctionConfSchemaAggregateMetricsAggregationTypedDict]
|
|
85
|
+
]
|
|
86
|
+
r"""Combination of Aggregation function and output metric type"""
|
|
87
|
+
groupbys: NotRequired[List[str]]
|
|
88
|
+
r"""Optional: One or more dimensions to group aggregates by. Supports wildcard expressions. Wrap dimension names in quotes if using literal identifiers, such as 'service.name'. Warning: Using wildcard '*' causes all dimensions in the event to be included, which can result in high cardinality and increased memory usage. Exclude dimensions that can result in high cardinality before using wildcards. Example: !_time, !_numericValue, *"""
|
|
89
|
+
flush_event_limit: NotRequired[float]
|
|
90
|
+
r"""The maximum number of events to include in any given aggregation event"""
|
|
91
|
+
flush_mem_limit: NotRequired[str]
|
|
92
|
+
r"""The memory usage limit to impose upon aggregations. Defaults to 80% of the process memory; value configured above default limit is ignored. Accepts numerals with units like KB and MB (example: 128MB)."""
|
|
93
|
+
cumulative: NotRequired[bool]
|
|
94
|
+
r"""Enable to retain aggregations for cumulative aggregations when flushing out an aggregation table event. When disabled (the default), aggregations are reset to 0 on flush."""
|
|
95
|
+
should_treat_dots_as_literals: NotRequired[bool]
|
|
96
|
+
r"""Treat dots in dimension names as literals. This is useful for top-level dimensions that contain dots, such as 'service.name'."""
|
|
97
|
+
add: NotRequired[List[FunctionConfSchemaAggregateMetricsAddTypedDict]]
|
|
98
|
+
r"""Set of key-value pairs to evaluate and add/set"""
|
|
99
|
+
flush_on_input_close: NotRequired[bool]
|
|
100
|
+
r"""Flush aggregations when an input stream is closed. If disabled, Time Window Settings control flush behavior."""
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
class FunctionConfSchemaAggregateMetrics(BaseModel):
|
|
104
|
+
passthrough: Optional[bool] = False
|
|
105
|
+
r"""Pass through the original events along with the aggregation events"""
|
|
106
|
+
|
|
107
|
+
preserve_group_bys: Annotated[
|
|
108
|
+
Optional[bool], pydantic.Field(alias="preserveGroupBys")
|
|
109
|
+
] = False
|
|
110
|
+
r"""Preserve the structure of the original aggregation event's groupby fields"""
|
|
111
|
+
|
|
112
|
+
sufficient_stats_only: Annotated[
|
|
113
|
+
Optional[bool], pydantic.Field(alias="sufficientStatsOnly")
|
|
114
|
+
] = False
|
|
115
|
+
r"""Output only statistics that are sufficient for the supplied aggregations"""
|
|
116
|
+
|
|
117
|
+
prefix: Optional[str] = None
|
|
118
|
+
r"""A prefix that is prepended to all of the fields output by this Aggregations Function"""
|
|
119
|
+
|
|
120
|
+
time_window: Annotated[Optional[str], pydantic.Field(alias="timeWindow")] = "10s"
|
|
121
|
+
r"""The time span of the tumbling window for aggregating events. Must be a valid time string (such as 10s)."""
|
|
122
|
+
|
|
123
|
+
aggregations: Optional[List[FunctionConfSchemaAggregateMetricsAggregation]] = None
|
|
124
|
+
r"""Combination of Aggregation function and output metric type"""
|
|
125
|
+
|
|
126
|
+
groupbys: Optional[List[str]] = None
|
|
127
|
+
r"""Optional: One or more dimensions to group aggregates by. Supports wildcard expressions. Wrap dimension names in quotes if using literal identifiers, such as 'service.name'. Warning: Using wildcard '*' causes all dimensions in the event to be included, which can result in high cardinality and increased memory usage. Exclude dimensions that can result in high cardinality before using wildcards. Example: !_time, !_numericValue, *"""
|
|
128
|
+
|
|
129
|
+
flush_event_limit: Annotated[
|
|
130
|
+
Optional[float], pydantic.Field(alias="flushEventLimit")
|
|
131
|
+
] = None
|
|
132
|
+
r"""The maximum number of events to include in any given aggregation event"""
|
|
133
|
+
|
|
134
|
+
flush_mem_limit: Annotated[Optional[str], pydantic.Field(alias="flushMemLimit")] = (
|
|
135
|
+
None
|
|
136
|
+
)
|
|
137
|
+
r"""The memory usage limit to impose upon aggregations. Defaults to 80% of the process memory; value configured above default limit is ignored. Accepts numerals with units like KB and MB (example: 128MB)."""
|
|
138
|
+
|
|
139
|
+
cumulative: Optional[bool] = False
|
|
140
|
+
r"""Enable to retain aggregations for cumulative aggregations when flushing out an aggregation table event. When disabled (the default), aggregations are reset to 0 on flush."""
|
|
141
|
+
|
|
142
|
+
should_treat_dots_as_literals: Annotated[
|
|
143
|
+
Optional[bool], pydantic.Field(alias="shouldTreatDotsAsLiterals")
|
|
144
|
+
] = True
|
|
145
|
+
r"""Treat dots in dimension names as literals. This is useful for top-level dimensions that contain dots, such as 'service.name'."""
|
|
146
|
+
|
|
147
|
+
add: Optional[List[FunctionConfSchemaAggregateMetricsAdd]] = None
|
|
148
|
+
r"""Set of key-value pairs to evaluate and add/set"""
|
|
149
|
+
|
|
150
|
+
flush_on_input_close: Annotated[
|
|
151
|
+
Optional[bool], pydantic.Field(alias="flushOnInputClose")
|
|
152
|
+
] = True
|
|
153
|
+
r"""Flush aggregations when an input stream is closed. If disabled, Time Window Settings control flush behavior."""
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from cribl_control_plane.types import BaseModel
|
|
5
|
+
import pydantic
|
|
6
|
+
from typing import List, Optional
|
|
7
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class FunctionConfSchemaAggregationAddTypedDict(TypedDict):
|
|
11
|
+
value: str
|
|
12
|
+
r"""JavaScript expression to compute the value (can be constant)"""
|
|
13
|
+
name: NotRequired[str]
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class FunctionConfSchemaAggregationAdd(BaseModel):
|
|
17
|
+
value: str
|
|
18
|
+
r"""JavaScript expression to compute the value (can be constant)"""
|
|
19
|
+
|
|
20
|
+
name: Optional[str] = None
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class FunctionConfSchemaAggregationTypedDict(TypedDict):
|
|
24
|
+
passthrough: NotRequired[bool]
|
|
25
|
+
r"""Pass through the original events along with the aggregation events"""
|
|
26
|
+
preserve_group_bys: NotRequired[bool]
|
|
27
|
+
r"""Preserve the structure of the original aggregation event's groupby fields"""
|
|
28
|
+
sufficient_stats_only: NotRequired[bool]
|
|
29
|
+
r"""Output only statistics that are sufficient for the supplied aggregations"""
|
|
30
|
+
metrics_mode: NotRequired[bool]
|
|
31
|
+
r"""Enable to output the aggregates as metrics. When disabled, aggregates are output as events."""
|
|
32
|
+
prefix: NotRequired[str]
|
|
33
|
+
r"""A prefix that is prepended to all of the fields output by this Aggregations Function"""
|
|
34
|
+
time_window: NotRequired[str]
|
|
35
|
+
r"""The time span of the tumbling window for aggregating events. Must be a valid time string (such as 10s)."""
|
|
36
|
+
aggregations: NotRequired[List[str]]
|
|
37
|
+
r"""Aggregate function to perform on events. Example: sum(bytes).where(action=='REJECT').as(TotalBytes)"""
|
|
38
|
+
groupbys: NotRequired[List[str]]
|
|
39
|
+
r"""Optional: One or more fields to group aggregates by. Supports wildcard expressions. Warning: Using wildcard '*' causes all fields in the event to be included, which can result in high cardinality and increased memory usage. Exclude fields that can result in high cardinality before using wildcards. Example: !_time, !_numericValue, *"""
|
|
40
|
+
flush_event_limit: NotRequired[float]
|
|
41
|
+
r"""The maximum number of events to include in any given aggregation event"""
|
|
42
|
+
flush_mem_limit: NotRequired[str]
|
|
43
|
+
r"""The memory usage limit to impose upon aggregations. Defaults to 80% of the process memory; value configured above default limit is ignored. Accepts numerals with units like KB and MB (example: 128MB)."""
|
|
44
|
+
cumulative: NotRequired[bool]
|
|
45
|
+
r"""Enable to retain aggregations for cumulative aggregations when flushing out an aggregation table event. When disabled (the default), aggregations are reset to 0 on flush."""
|
|
46
|
+
search_agg_mode: NotRequired[str]
|
|
47
|
+
r"""Allows Cribl Search-specific aggregation configuration"""
|
|
48
|
+
add: NotRequired[List[FunctionConfSchemaAggregationAddTypedDict]]
|
|
49
|
+
r"""Set of key-value pairs to evaluate and add/set"""
|
|
50
|
+
should_treat_dots_as_literals: NotRequired[bool]
|
|
51
|
+
r"""Treat dots in dimension names as literals. This is useful for top-level dimensions that contain dots, such as 'service.name'."""
|
|
52
|
+
flush_on_input_close: NotRequired[bool]
|
|
53
|
+
r"""Flush aggregations when an input stream is closed. If disabled, Time Window Settings control flush behavior."""
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
class FunctionConfSchemaAggregation(BaseModel):
|
|
57
|
+
passthrough: Optional[bool] = False
|
|
58
|
+
r"""Pass through the original events along with the aggregation events"""
|
|
59
|
+
|
|
60
|
+
preserve_group_bys: Annotated[
|
|
61
|
+
Optional[bool], pydantic.Field(alias="preserveGroupBys")
|
|
62
|
+
] = False
|
|
63
|
+
r"""Preserve the structure of the original aggregation event's groupby fields"""
|
|
64
|
+
|
|
65
|
+
sufficient_stats_only: Annotated[
|
|
66
|
+
Optional[bool], pydantic.Field(alias="sufficientStatsOnly")
|
|
67
|
+
] = False
|
|
68
|
+
r"""Output only statistics that are sufficient for the supplied aggregations"""
|
|
69
|
+
|
|
70
|
+
metrics_mode: Annotated[Optional[bool], pydantic.Field(alias="metricsMode")] = False
|
|
71
|
+
r"""Enable to output the aggregates as metrics. When disabled, aggregates are output as events."""
|
|
72
|
+
|
|
73
|
+
prefix: Optional[str] = None
|
|
74
|
+
r"""A prefix that is prepended to all of the fields output by this Aggregations Function"""
|
|
75
|
+
|
|
76
|
+
time_window: Annotated[Optional[str], pydantic.Field(alias="timeWindow")] = "10s"
|
|
77
|
+
r"""The time span of the tumbling window for aggregating events. Must be a valid time string (such as 10s)."""
|
|
78
|
+
|
|
79
|
+
aggregations: Optional[List[str]] = None
|
|
80
|
+
r"""Aggregate function to perform on events. Example: sum(bytes).where(action=='REJECT').as(TotalBytes)"""
|
|
81
|
+
|
|
82
|
+
groupbys: Optional[List[str]] = None
|
|
83
|
+
r"""Optional: One or more fields to group aggregates by. Supports wildcard expressions. Warning: Using wildcard '*' causes all fields in the event to be included, which can result in high cardinality and increased memory usage. Exclude fields that can result in high cardinality before using wildcards. Example: !_time, !_numericValue, *"""
|
|
84
|
+
|
|
85
|
+
flush_event_limit: Annotated[
|
|
86
|
+
Optional[float], pydantic.Field(alias="flushEventLimit")
|
|
87
|
+
] = None
|
|
88
|
+
r"""The maximum number of events to include in any given aggregation event"""
|
|
89
|
+
|
|
90
|
+
flush_mem_limit: Annotated[Optional[str], pydantic.Field(alias="flushMemLimit")] = (
|
|
91
|
+
None
|
|
92
|
+
)
|
|
93
|
+
r"""The memory usage limit to impose upon aggregations. Defaults to 80% of the process memory; value configured above default limit is ignored. Accepts numerals with units like KB and MB (example: 128MB)."""
|
|
94
|
+
|
|
95
|
+
cumulative: Optional[bool] = False
|
|
96
|
+
r"""Enable to retain aggregations for cumulative aggregations when flushing out an aggregation table event. When disabled (the default), aggregations are reset to 0 on flush."""
|
|
97
|
+
|
|
98
|
+
search_agg_mode: Annotated[Optional[str], pydantic.Field(alias="searchAggMode")] = (
|
|
99
|
+
None
|
|
100
|
+
)
|
|
101
|
+
r"""Allows Cribl Search-specific aggregation configuration"""
|
|
102
|
+
|
|
103
|
+
add: Optional[List[FunctionConfSchemaAggregationAdd]] = None
|
|
104
|
+
r"""Set of key-value pairs to evaluate and add/set"""
|
|
105
|
+
|
|
106
|
+
should_treat_dots_as_literals: Annotated[
|
|
107
|
+
Optional[bool], pydantic.Field(alias="shouldTreatDotsAsLiterals")
|
|
108
|
+
] = False
|
|
109
|
+
r"""Treat dots in dimension names as literals. This is useful for top-level dimensions that contain dots, such as 'service.name'."""
|
|
110
|
+
|
|
111
|
+
flush_on_input_close: Annotated[
|
|
112
|
+
Optional[bool], pydantic.Field(alias="flushOnInputClose")
|
|
113
|
+
] = True
|
|
114
|
+
r"""Flush aggregations when an input stream is closed. If disabled, Time Window Settings control flush behavior."""
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from cribl_control_plane import models, utils
|
|
5
|
+
from cribl_control_plane.types import BaseModel
|
|
6
|
+
from cribl_control_plane.utils import validate_open_enum
|
|
7
|
+
from enum import Enum
|
|
8
|
+
import pydantic
|
|
9
|
+
from pydantic import field_serializer
|
|
10
|
+
from pydantic.functional_validators import PlainValidator
|
|
11
|
+
from typing import List, Optional
|
|
12
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class DefaultTime(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
16
|
+
r"""How to set the time field if no timestamp is found"""
|
|
17
|
+
|
|
18
|
+
# Current Time
|
|
19
|
+
NOW = "now"
|
|
20
|
+
# Last Event's Time
|
|
21
|
+
LAST = "last"
|
|
22
|
+
# None
|
|
23
|
+
NONE = "none"
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class TimestampTypedDict(TypedDict):
|
|
27
|
+
regex: str
|
|
28
|
+
r"""Regex with first capturing group matching the timestamp"""
|
|
29
|
+
strptime: str
|
|
30
|
+
r"""Select or enter strptime format for the captured timestamp"""
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
class Timestamp(BaseModel):
|
|
34
|
+
regex: str
|
|
35
|
+
r"""Regex with first capturing group matching the timestamp"""
|
|
36
|
+
|
|
37
|
+
strptime: str
|
|
38
|
+
r"""Select or enter strptime format for the captured timestamp"""
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
class FunctionConfSchemaAutoTimestampTypedDict(TypedDict):
|
|
42
|
+
src_field: NotRequired[str]
|
|
43
|
+
r"""Field to search for a timestamp"""
|
|
44
|
+
dst_field: NotRequired[str]
|
|
45
|
+
r"""Field to place timestamp in"""
|
|
46
|
+
default_timezone: NotRequired[str]
|
|
47
|
+
r"""Timezone to assign to timestamps without timezone info"""
|
|
48
|
+
time_expression: NotRequired[str]
|
|
49
|
+
r"""Expression to use to format time. Current time, as a JavaScript Date object, is in global `time`. You can access other fields' values via __e.<fieldName>."""
|
|
50
|
+
offset: NotRequired[float]
|
|
51
|
+
r"""The offset into the string from which to look for a timestamp"""
|
|
52
|
+
max_len: NotRequired[float]
|
|
53
|
+
r"""Maximum string length at which to look for a timestamp"""
|
|
54
|
+
default_time: NotRequired[DefaultTime]
|
|
55
|
+
r"""How to set the time field if no timestamp is found"""
|
|
56
|
+
latest_date_allowed: NotRequired[str]
|
|
57
|
+
r"""The latest timestamp value allowed relative to now, such as +42days. Parsed values after this date will be set to the Default time."""
|
|
58
|
+
spacer: NotRequired[str]
|
|
59
|
+
earliest_date_allowed: NotRequired[str]
|
|
60
|
+
r"""The earliest timestamp value allowed relative to now, such as -42years. Parsed values prior to this date will be set to the Default time."""
|
|
61
|
+
timestamps: NotRequired[List[TimestampTypedDict]]
|
|
62
|
+
r"""Add regex/strptime pairs to extract additional timestamp formats"""
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
class FunctionConfSchemaAutoTimestamp(BaseModel):
|
|
66
|
+
src_field: Annotated[Optional[str], pydantic.Field(alias="srcField")] = "_raw"
|
|
67
|
+
r"""Field to search for a timestamp"""
|
|
68
|
+
|
|
69
|
+
dst_field: Annotated[Optional[str], pydantic.Field(alias="dstField")] = "_time"
|
|
70
|
+
r"""Field to place timestamp in"""
|
|
71
|
+
|
|
72
|
+
default_timezone: Annotated[
|
|
73
|
+
Optional[str], pydantic.Field(alias="defaultTimezone")
|
|
74
|
+
] = "local"
|
|
75
|
+
r"""Timezone to assign to timestamps without timezone info"""
|
|
76
|
+
|
|
77
|
+
time_expression: Annotated[
|
|
78
|
+
Optional[str], pydantic.Field(alias="timeExpression")
|
|
79
|
+
] = "time.getTime() / 1000"
|
|
80
|
+
r"""Expression to use to format time. Current time, as a JavaScript Date object, is in global `time`. You can access other fields' values via __e.<fieldName>."""
|
|
81
|
+
|
|
82
|
+
offset: Optional[float] = 0
|
|
83
|
+
r"""The offset into the string from which to look for a timestamp"""
|
|
84
|
+
|
|
85
|
+
max_len: Annotated[Optional[float], pydantic.Field(alias="maxLen")] = 150
|
|
86
|
+
r"""Maximum string length at which to look for a timestamp"""
|
|
87
|
+
|
|
88
|
+
default_time: Annotated[
|
|
89
|
+
Annotated[Optional[DefaultTime], PlainValidator(validate_open_enum(False))],
|
|
90
|
+
pydantic.Field(alias="defaultTime"),
|
|
91
|
+
] = DefaultTime.NOW
|
|
92
|
+
r"""How to set the time field if no timestamp is found"""
|
|
93
|
+
|
|
94
|
+
latest_date_allowed: Annotated[
|
|
95
|
+
Optional[str], pydantic.Field(alias="latestDateAllowed")
|
|
96
|
+
] = "+1week"
|
|
97
|
+
r"""The latest timestamp value allowed relative to now, such as +42days. Parsed values after this date will be set to the Default time."""
|
|
98
|
+
|
|
99
|
+
spacer: Optional[str] = None
|
|
100
|
+
|
|
101
|
+
earliest_date_allowed: Annotated[
|
|
102
|
+
Optional[str], pydantic.Field(alias="earliestDateAllowed")
|
|
103
|
+
] = "-420weeks"
|
|
104
|
+
r"""The earliest timestamp value allowed relative to now, such as -42years. Parsed values prior to this date will be set to the Default time."""
|
|
105
|
+
|
|
106
|
+
timestamps: Optional[List[Timestamp]] = None
|
|
107
|
+
r"""Add regex/strptime pairs to extract additional timestamp formats"""
|
|
108
|
+
|
|
109
|
+
@field_serializer("default_time")
|
|
110
|
+
def serialize_default_time(self, value):
|
|
111
|
+
if isinstance(value, str):
|
|
112
|
+
try:
|
|
113
|
+
return models.DefaultTime(value)
|
|
114
|
+
except ValueError:
|
|
115
|
+
return value
|
|
116
|
+
return value
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from cribl_control_plane.types import BaseModel
|
|
5
|
+
import pydantic
|
|
6
|
+
from typing import List, Optional
|
|
7
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class HeaderTypedDict(TypedDict):
|
|
11
|
+
value: str
|
|
12
|
+
r"""JavaScript expression to compute the value (can be constant)"""
|
|
13
|
+
name: NotRequired[str]
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class Header(BaseModel):
|
|
17
|
+
value: str
|
|
18
|
+
r"""JavaScript expression to compute the value (can be constant)"""
|
|
19
|
+
|
|
20
|
+
name: Optional[str] = None
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class ExtensionTypedDict(TypedDict):
|
|
24
|
+
name: str
|
|
25
|
+
value: str
|
|
26
|
+
r"""JavaScript expression to compute the value (can be constant)"""
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class Extension(BaseModel):
|
|
30
|
+
name: str
|
|
31
|
+
|
|
32
|
+
value: str
|
|
33
|
+
r"""JavaScript expression to compute the value (can be constant)"""
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
class FunctionConfSchemaCefTypedDict(TypedDict):
|
|
37
|
+
output_field: NotRequired[str]
|
|
38
|
+
r"""The field to which the CEF formatted event will be output"""
|
|
39
|
+
header: NotRequired[List[HeaderTypedDict]]
|
|
40
|
+
r"""Set of header key/value pairs"""
|
|
41
|
+
extension: NotRequired[List[ExtensionTypedDict]]
|
|
42
|
+
r"""Set of extension key-value pairs"""
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
class FunctionConfSchemaCef(BaseModel):
|
|
46
|
+
output_field: Annotated[Optional[str], pydantic.Field(alias="outputField")] = "_raw"
|
|
47
|
+
r"""The field to which the CEF formatted event will be output"""
|
|
48
|
+
|
|
49
|
+
header: Optional[List[Header]] = None
|
|
50
|
+
r"""Set of header key/value pairs"""
|
|
51
|
+
|
|
52
|
+
extension: Optional[List[Extension]] = None
|
|
53
|
+
r"""Set of extension key-value pairs"""
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
class HeaderInputTypedDict(TypedDict):
|
|
57
|
+
value: str
|
|
58
|
+
r"""JavaScript expression to compute the value (can be constant)"""
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
class HeaderInput(BaseModel):
|
|
62
|
+
value: str
|
|
63
|
+
r"""JavaScript expression to compute the value (can be constant)"""
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
class FunctionConfSchemaCefInputTypedDict(TypedDict):
|
|
67
|
+
output_field: NotRequired[str]
|
|
68
|
+
r"""The field to which the CEF formatted event will be output"""
|
|
69
|
+
header: NotRequired[List[HeaderInputTypedDict]]
|
|
70
|
+
r"""Set of header key/value pairs"""
|
|
71
|
+
extension: NotRequired[List[ExtensionTypedDict]]
|
|
72
|
+
r"""Set of extension key-value pairs"""
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
class FunctionConfSchemaCefInput(BaseModel):
|
|
76
|
+
output_field: Annotated[Optional[str], pydantic.Field(alias="outputField")] = "_raw"
|
|
77
|
+
r"""The field to which the CEF formatted event will be output"""
|
|
78
|
+
|
|
79
|
+
header: Optional[List[HeaderInput]] = None
|
|
80
|
+
r"""Set of header key/value pairs"""
|
|
81
|
+
|
|
82
|
+
extension: Optional[List[Extension]] = None
|
|
83
|
+
r"""Set of extension key-value pairs"""
|