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
|
@@ -30,7 +30,7 @@ class OutputNetflowHost(BaseModel):
|
|
|
30
30
|
class OutputNetflowTypedDict(TypedDict):
|
|
31
31
|
type: OutputNetflowType
|
|
32
32
|
hosts: List[OutputNetflowHostTypedDict]
|
|
33
|
-
r"""One or more NetFlow
|
|
33
|
+
r"""One or more NetFlow Destinations to forward events to"""
|
|
34
34
|
id: NotRequired[str]
|
|
35
35
|
r"""Unique ID for this output"""
|
|
36
36
|
pipeline: NotRequired[str]
|
|
@@ -43,14 +43,18 @@ class OutputNetflowTypedDict(TypedDict):
|
|
|
43
43
|
r"""Tags for filtering and grouping in @{product}"""
|
|
44
44
|
dns_resolve_period_sec: NotRequired[float]
|
|
45
45
|
r"""How often to resolve the destination hostname to an IP address. Ignored if all destinations are IP addresses. A value of 0 means every datagram sent will incur a DNS lookup."""
|
|
46
|
+
enable_ip_spoofing: NotRequired[bool]
|
|
47
|
+
r"""Send NetFlow traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability."""
|
|
46
48
|
description: NotRequired[str]
|
|
49
|
+
max_record_size: NotRequired[float]
|
|
50
|
+
r"""MTU in bytes. The actual maximum NetFlow payload size will be MTU minus IP and UDP headers (28 bytes for IPv4, 48 bytes for IPv6). For example, with the default MTU of 1500, the max payload is 1472 bytes for IPv4. Payloads exceeding this limit will be dropped."""
|
|
47
51
|
|
|
48
52
|
|
|
49
53
|
class OutputNetflow(BaseModel):
|
|
50
54
|
type: OutputNetflowType
|
|
51
55
|
|
|
52
56
|
hosts: List[OutputNetflowHost]
|
|
53
|
-
r"""One or more NetFlow
|
|
57
|
+
r"""One or more NetFlow Destinations to forward events to"""
|
|
54
58
|
|
|
55
59
|
id: Optional[str] = None
|
|
56
60
|
r"""Unique ID for this output"""
|
|
@@ -74,4 +78,14 @@ class OutputNetflow(BaseModel):
|
|
|
74
78
|
] = 0
|
|
75
79
|
r"""How often to resolve the destination hostname to an IP address. Ignored if all destinations are IP addresses. A value of 0 means every datagram sent will incur a DNS lookup."""
|
|
76
80
|
|
|
81
|
+
enable_ip_spoofing: Annotated[
|
|
82
|
+
Optional[bool], pydantic.Field(alias="enableIpSpoofing")
|
|
83
|
+
] = False
|
|
84
|
+
r"""Send NetFlow traffic using the original event's Source IP and port. To enable this, you must install the external `udp-sender` helper binary at `/usr/bin/udp-sender` on all Worker Nodes and grant it the `CAP_NET_RAW` capability."""
|
|
85
|
+
|
|
77
86
|
description: Optional[str] = None
|
|
87
|
+
|
|
88
|
+
max_record_size: Annotated[
|
|
89
|
+
Optional[float], pydantic.Field(alias="maxRecordSize")
|
|
90
|
+
] = 1500
|
|
91
|
+
r"""MTU in bytes. The actual maximum NetFlow payload size will be MTU minus IP and UDP headers (28 bytes for IPv4, 48 bytes for IPv6). For example, with the default MTU of 1500, the max payload is 1472 bytes for IPv4. Payloads exceeding this limit will be dropped."""
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
from .pipelinefunctionconf import PipelineFunctionConf, PipelineFunctionConfTypedDict
|
|
5
|
+
from .pipelinefunctionconf_input import (
|
|
6
|
+
PipelineFunctionConfInput,
|
|
7
|
+
PipelineFunctionConfInputTypedDict,
|
|
8
|
+
)
|
|
5
9
|
from cribl_control_plane.types import BaseModel
|
|
6
10
|
import pydantic
|
|
7
11
|
from typing import Dict, List, Optional
|
|
@@ -26,7 +30,7 @@ class PipelineGroups(BaseModel):
|
|
|
26
30
|
r"""Whether this group is disabled"""
|
|
27
31
|
|
|
28
32
|
|
|
29
|
-
class
|
|
33
|
+
class PipelineConfTypedDict(TypedDict):
|
|
30
34
|
async_func_timeout: NotRequired[int]
|
|
31
35
|
r"""Time (in ms) to wait for an async function to complete processing of a data item"""
|
|
32
36
|
output: NotRequired[str]
|
|
@@ -39,7 +43,7 @@ class ConfTypedDict(TypedDict):
|
|
|
39
43
|
groups: NotRequired[Dict[str, PipelineGroupsTypedDict]]
|
|
40
44
|
|
|
41
45
|
|
|
42
|
-
class
|
|
46
|
+
class PipelineConf(BaseModel):
|
|
43
47
|
async_func_timeout: Annotated[
|
|
44
48
|
Optional[int], pydantic.Field(alias="asyncFuncTimeout")
|
|
45
49
|
] = None
|
|
@@ -61,10 +65,54 @@ class Conf(BaseModel):
|
|
|
61
65
|
|
|
62
66
|
class PipelineTypedDict(TypedDict):
|
|
63
67
|
id: str
|
|
64
|
-
conf:
|
|
68
|
+
conf: PipelineConfTypedDict
|
|
65
69
|
|
|
66
70
|
|
|
67
71
|
class Pipeline(BaseModel):
|
|
68
72
|
id: str
|
|
69
73
|
|
|
70
|
-
conf:
|
|
74
|
+
conf: PipelineConf
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
class ConfInputTypedDict(TypedDict):
|
|
78
|
+
async_func_timeout: NotRequired[int]
|
|
79
|
+
r"""Time (in ms) to wait for an async function to complete processing of a data item"""
|
|
80
|
+
output: NotRequired[str]
|
|
81
|
+
r"""The output destination for events processed by this Pipeline"""
|
|
82
|
+
description: NotRequired[str]
|
|
83
|
+
streamtags: NotRequired[List[str]]
|
|
84
|
+
r"""Tags for filtering and grouping in @{product}"""
|
|
85
|
+
functions: NotRequired[List[PipelineFunctionConfInputTypedDict]]
|
|
86
|
+
r"""List of Functions to pass data through"""
|
|
87
|
+
groups: NotRequired[Dict[str, PipelineGroupsTypedDict]]
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
class ConfInput(BaseModel):
|
|
91
|
+
async_func_timeout: Annotated[
|
|
92
|
+
Optional[int], pydantic.Field(alias="asyncFuncTimeout")
|
|
93
|
+
] = None
|
|
94
|
+
r"""Time (in ms) to wait for an async function to complete processing of a data item"""
|
|
95
|
+
|
|
96
|
+
output: Optional[str] = "default"
|
|
97
|
+
r"""The output destination for events processed by this Pipeline"""
|
|
98
|
+
|
|
99
|
+
description: Optional[str] = None
|
|
100
|
+
|
|
101
|
+
streamtags: Optional[List[str]] = None
|
|
102
|
+
r"""Tags for filtering and grouping in @{product}"""
|
|
103
|
+
|
|
104
|
+
functions: Optional[List[PipelineFunctionConfInput]] = None
|
|
105
|
+
r"""List of Functions to pass data through"""
|
|
106
|
+
|
|
107
|
+
groups: Optional[Dict[str, PipelineGroups]] = None
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
class PipelineInputTypedDict(TypedDict):
|
|
111
|
+
id: str
|
|
112
|
+
conf: ConfInputTypedDict
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
class PipelineInput(BaseModel):
|
|
116
|
+
id: str
|
|
117
|
+
|
|
118
|
+
conf: ConfInput
|
|
@@ -0,0 +1,195 @@
|
|
|
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 PipelineFunctionAggregateMetricsID(str, Enum):
|
|
16
|
+
r"""Function ID"""
|
|
17
|
+
|
|
18
|
+
AGGREGATE_METRICS = "aggregate_metrics"
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class PipelineFunctionAggregateMetricsMetricType(
|
|
22
|
+
str, Enum, metaclass=utils.OpenEnumMeta
|
|
23
|
+
):
|
|
24
|
+
r"""The output metric type"""
|
|
25
|
+
|
|
26
|
+
AUTOMATIC = "automatic"
|
|
27
|
+
COUNTER = "counter"
|
|
28
|
+
DISTRIBUTION = "distribution"
|
|
29
|
+
GAUGE = "gauge"
|
|
30
|
+
HISTOGRAM = "histogram"
|
|
31
|
+
SUMMARY = "summary"
|
|
32
|
+
TIMER = "timer"
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class PipelineFunctionAggregateMetricsAggregationTypedDict(TypedDict):
|
|
36
|
+
agg: str
|
|
37
|
+
r"""Aggregate function to perform on events. Example: sum(bytes).where(action=='REJECT').as(TotalBytes)"""
|
|
38
|
+
metric_type: NotRequired[PipelineFunctionAggregateMetricsMetricType]
|
|
39
|
+
r"""The output metric type"""
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
class PipelineFunctionAggregateMetricsAggregation(BaseModel):
|
|
43
|
+
agg: str
|
|
44
|
+
r"""Aggregate function to perform on events. Example: sum(bytes).where(action=='REJECT').as(TotalBytes)"""
|
|
45
|
+
|
|
46
|
+
metric_type: Annotated[
|
|
47
|
+
Annotated[
|
|
48
|
+
Optional[PipelineFunctionAggregateMetricsMetricType],
|
|
49
|
+
PlainValidator(validate_open_enum(False)),
|
|
50
|
+
],
|
|
51
|
+
pydantic.Field(alias="metricType"),
|
|
52
|
+
] = PipelineFunctionAggregateMetricsMetricType.AUTOMATIC
|
|
53
|
+
r"""The output metric type"""
|
|
54
|
+
|
|
55
|
+
@field_serializer("metric_type")
|
|
56
|
+
def serialize_metric_type(self, value):
|
|
57
|
+
if isinstance(value, str):
|
|
58
|
+
try:
|
|
59
|
+
return models.PipelineFunctionAggregateMetricsMetricType(value)
|
|
60
|
+
except ValueError:
|
|
61
|
+
return value
|
|
62
|
+
return value
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
class PipelineFunctionAggregateMetricsAddTypedDict(TypedDict):
|
|
66
|
+
value: str
|
|
67
|
+
r"""JavaScript expression to compute the value (can be constant)"""
|
|
68
|
+
name: NotRequired[str]
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
class PipelineFunctionAggregateMetricsAdd(BaseModel):
|
|
72
|
+
value: str
|
|
73
|
+
r"""JavaScript expression to compute the value (can be constant)"""
|
|
74
|
+
|
|
75
|
+
name: Optional[str] = None
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
class PipelineFunctionAggregateMetricsConfTypedDict(TypedDict):
|
|
79
|
+
aggregations: List[PipelineFunctionAggregateMetricsAggregationTypedDict]
|
|
80
|
+
r"""Combination of Aggregation function and output metric type"""
|
|
81
|
+
passthrough: NotRequired[bool]
|
|
82
|
+
r"""Pass through the original events along with the aggregation events"""
|
|
83
|
+
preserve_group_bys: NotRequired[bool]
|
|
84
|
+
r"""Preserve the structure of the original aggregation event's groupby fields"""
|
|
85
|
+
sufficient_stats_only: NotRequired[bool]
|
|
86
|
+
r"""Output only statistics that are sufficient for the supplied aggregations"""
|
|
87
|
+
prefix: NotRequired[str]
|
|
88
|
+
r"""A prefix that is prepended to all of the fields output by this Aggregations Function"""
|
|
89
|
+
time_window: NotRequired[str]
|
|
90
|
+
r"""The time span of the tumbling window for aggregating events. Must be a valid time string (such as 10s)."""
|
|
91
|
+
groupbys: NotRequired[List[str]]
|
|
92
|
+
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, *"""
|
|
93
|
+
flush_event_limit: NotRequired[float]
|
|
94
|
+
r"""The maximum number of events to include in any given aggregation event"""
|
|
95
|
+
flush_mem_limit: NotRequired[str]
|
|
96
|
+
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)."""
|
|
97
|
+
cumulative: NotRequired[bool]
|
|
98
|
+
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."""
|
|
99
|
+
should_treat_dots_as_literals: NotRequired[bool]
|
|
100
|
+
r"""Treat dots in dimension names as literals. This is useful for top-level dimensions that contain dots, such as 'service.name'."""
|
|
101
|
+
add: NotRequired[List[PipelineFunctionAggregateMetricsAddTypedDict]]
|
|
102
|
+
r"""Set of key-value pairs to evaluate and add/set"""
|
|
103
|
+
flush_on_input_close: NotRequired[bool]
|
|
104
|
+
r"""Flush aggregations when an input stream is closed. If disabled, Time Window Settings control flush behavior."""
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
class PipelineFunctionAggregateMetricsConf(BaseModel):
|
|
108
|
+
aggregations: List[PipelineFunctionAggregateMetricsAggregation]
|
|
109
|
+
r"""Combination of Aggregation function and output metric type"""
|
|
110
|
+
|
|
111
|
+
passthrough: Optional[bool] = False
|
|
112
|
+
r"""Pass through the original events along with the aggregation events"""
|
|
113
|
+
|
|
114
|
+
preserve_group_bys: Annotated[
|
|
115
|
+
Optional[bool], pydantic.Field(alias="preserveGroupBys")
|
|
116
|
+
] = False
|
|
117
|
+
r"""Preserve the structure of the original aggregation event's groupby fields"""
|
|
118
|
+
|
|
119
|
+
sufficient_stats_only: Annotated[
|
|
120
|
+
Optional[bool], pydantic.Field(alias="sufficientStatsOnly")
|
|
121
|
+
] = False
|
|
122
|
+
r"""Output only statistics that are sufficient for the supplied aggregations"""
|
|
123
|
+
|
|
124
|
+
prefix: Optional[str] = None
|
|
125
|
+
r"""A prefix that is prepended to all of the fields output by this Aggregations Function"""
|
|
126
|
+
|
|
127
|
+
time_window: Annotated[Optional[str], pydantic.Field(alias="timeWindow")] = "10s"
|
|
128
|
+
r"""The time span of the tumbling window for aggregating events. Must be a valid time string (such as 10s)."""
|
|
129
|
+
|
|
130
|
+
groupbys: Optional[List[str]] = None
|
|
131
|
+
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, *"""
|
|
132
|
+
|
|
133
|
+
flush_event_limit: Annotated[
|
|
134
|
+
Optional[float], pydantic.Field(alias="flushEventLimit")
|
|
135
|
+
] = None
|
|
136
|
+
r"""The maximum number of events to include in any given aggregation event"""
|
|
137
|
+
|
|
138
|
+
flush_mem_limit: Annotated[Optional[str], pydantic.Field(alias="flushMemLimit")] = (
|
|
139
|
+
None
|
|
140
|
+
)
|
|
141
|
+
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)."""
|
|
142
|
+
|
|
143
|
+
cumulative: Optional[bool] = False
|
|
144
|
+
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."""
|
|
145
|
+
|
|
146
|
+
should_treat_dots_as_literals: Annotated[
|
|
147
|
+
Optional[bool], pydantic.Field(alias="shouldTreatDotsAsLiterals")
|
|
148
|
+
] = True
|
|
149
|
+
r"""Treat dots in dimension names as literals. This is useful for top-level dimensions that contain dots, such as 'service.name'."""
|
|
150
|
+
|
|
151
|
+
add: Optional[List[PipelineFunctionAggregateMetricsAdd]] = None
|
|
152
|
+
r"""Set of key-value pairs to evaluate and add/set"""
|
|
153
|
+
|
|
154
|
+
flush_on_input_close: Annotated[
|
|
155
|
+
Optional[bool], pydantic.Field(alias="flushOnInputClose")
|
|
156
|
+
] = True
|
|
157
|
+
r"""Flush aggregations when an input stream is closed. If disabled, Time Window Settings control flush behavior."""
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
class PipelineFunctionAggregateMetricsTypedDict(TypedDict):
|
|
161
|
+
id: PipelineFunctionAggregateMetricsID
|
|
162
|
+
r"""Function ID"""
|
|
163
|
+
conf: PipelineFunctionAggregateMetricsConfTypedDict
|
|
164
|
+
filter_: NotRequired[str]
|
|
165
|
+
r"""Filter that selects data to be fed through this Function"""
|
|
166
|
+
description: NotRequired[str]
|
|
167
|
+
r"""Simple description of this step"""
|
|
168
|
+
disabled: NotRequired[bool]
|
|
169
|
+
r"""If true, data will not be pushed through this function"""
|
|
170
|
+
final: NotRequired[bool]
|
|
171
|
+
r"""If enabled, stops the results of this Function from being passed to the downstream Functions"""
|
|
172
|
+
group_id: NotRequired[str]
|
|
173
|
+
r"""Group ID"""
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
class PipelineFunctionAggregateMetrics(BaseModel):
|
|
177
|
+
id: PipelineFunctionAggregateMetricsID
|
|
178
|
+
r"""Function ID"""
|
|
179
|
+
|
|
180
|
+
conf: PipelineFunctionAggregateMetricsConf
|
|
181
|
+
|
|
182
|
+
filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = "true"
|
|
183
|
+
r"""Filter that selects data to be fed through this Function"""
|
|
184
|
+
|
|
185
|
+
description: Optional[str] = None
|
|
186
|
+
r"""Simple description of this step"""
|
|
187
|
+
|
|
188
|
+
disabled: Optional[bool] = None
|
|
189
|
+
r"""If true, data will not be pushed through this function"""
|
|
190
|
+
|
|
191
|
+
final: Optional[bool] = None
|
|
192
|
+
r"""If enabled, stops the results of this Function from being passed to the downstream Functions"""
|
|
193
|
+
|
|
194
|
+
group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None
|
|
195
|
+
r"""Group ID"""
|
|
@@ -0,0 +1,159 @@
|
|
|
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
|
+
from enum import Enum
|
|
6
|
+
import pydantic
|
|
7
|
+
from typing import List, Optional
|
|
8
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class PipelineFunctionAggregationID(str, Enum):
|
|
12
|
+
r"""Function ID"""
|
|
13
|
+
|
|
14
|
+
AGGREGATION = "aggregation"
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class PipelineFunctionAggregationAddTypedDict(TypedDict):
|
|
18
|
+
value: str
|
|
19
|
+
r"""JavaScript expression to compute the value (can be constant)"""
|
|
20
|
+
name: NotRequired[str]
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class PipelineFunctionAggregationAdd(BaseModel):
|
|
24
|
+
value: str
|
|
25
|
+
r"""JavaScript expression to compute the value (can be constant)"""
|
|
26
|
+
|
|
27
|
+
name: Optional[str] = None
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
class PipelineFunctionAggregationConfTypedDict(TypedDict):
|
|
31
|
+
aggregations: List[str]
|
|
32
|
+
r"""Aggregate function to perform on events. Example: sum(bytes).where(action=='REJECT').as(TotalBytes)"""
|
|
33
|
+
passthrough: NotRequired[bool]
|
|
34
|
+
r"""Pass through the original events along with the aggregation events"""
|
|
35
|
+
preserve_group_bys: NotRequired[bool]
|
|
36
|
+
r"""Preserve the structure of the original aggregation event's groupby fields"""
|
|
37
|
+
sufficient_stats_only: NotRequired[bool]
|
|
38
|
+
r"""Output only statistics that are sufficient for the supplied aggregations"""
|
|
39
|
+
metrics_mode: NotRequired[bool]
|
|
40
|
+
r"""Enable to output the aggregates as metrics. When disabled, aggregates are output as events."""
|
|
41
|
+
prefix: NotRequired[str]
|
|
42
|
+
r"""A prefix that is prepended to all of the fields output by this Aggregations Function"""
|
|
43
|
+
time_window: NotRequired[str]
|
|
44
|
+
r"""The time span of the tumbling window for aggregating events. Must be a valid time string (such as 10s)."""
|
|
45
|
+
groupbys: NotRequired[List[str]]
|
|
46
|
+
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, *"""
|
|
47
|
+
flush_event_limit: NotRequired[float]
|
|
48
|
+
r"""The maximum number of events to include in any given aggregation event"""
|
|
49
|
+
flush_mem_limit: NotRequired[str]
|
|
50
|
+
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)."""
|
|
51
|
+
cumulative: NotRequired[bool]
|
|
52
|
+
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."""
|
|
53
|
+
search_agg_mode: NotRequired[str]
|
|
54
|
+
r"""Allows Cribl Search-specific aggregation configuration"""
|
|
55
|
+
add: NotRequired[List[PipelineFunctionAggregationAddTypedDict]]
|
|
56
|
+
r"""Set of key-value pairs to evaluate and add/set"""
|
|
57
|
+
should_treat_dots_as_literals: NotRequired[bool]
|
|
58
|
+
r"""Treat dots in dimension names as literals. This is useful for top-level dimensions that contain dots, such as 'service.name'."""
|
|
59
|
+
flush_on_input_close: NotRequired[bool]
|
|
60
|
+
r"""Flush aggregations when an input stream is closed. If disabled, Time Window Settings control flush behavior."""
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
class PipelineFunctionAggregationConf(BaseModel):
|
|
64
|
+
aggregations: List[str]
|
|
65
|
+
r"""Aggregate function to perform on events. Example: sum(bytes).where(action=='REJECT').as(TotalBytes)"""
|
|
66
|
+
|
|
67
|
+
passthrough: Optional[bool] = False
|
|
68
|
+
r"""Pass through the original events along with the aggregation events"""
|
|
69
|
+
|
|
70
|
+
preserve_group_bys: Annotated[
|
|
71
|
+
Optional[bool], pydantic.Field(alias="preserveGroupBys")
|
|
72
|
+
] = False
|
|
73
|
+
r"""Preserve the structure of the original aggregation event's groupby fields"""
|
|
74
|
+
|
|
75
|
+
sufficient_stats_only: Annotated[
|
|
76
|
+
Optional[bool], pydantic.Field(alias="sufficientStatsOnly")
|
|
77
|
+
] = False
|
|
78
|
+
r"""Output only statistics that are sufficient for the supplied aggregations"""
|
|
79
|
+
|
|
80
|
+
metrics_mode: Annotated[Optional[bool], pydantic.Field(alias="metricsMode")] = False
|
|
81
|
+
r"""Enable to output the aggregates as metrics. When disabled, aggregates are output as events."""
|
|
82
|
+
|
|
83
|
+
prefix: Optional[str] = None
|
|
84
|
+
r"""A prefix that is prepended to all of the fields output by this Aggregations Function"""
|
|
85
|
+
|
|
86
|
+
time_window: Annotated[Optional[str], pydantic.Field(alias="timeWindow")] = "10s"
|
|
87
|
+
r"""The time span of the tumbling window for aggregating events. Must be a valid time string (such as 10s)."""
|
|
88
|
+
|
|
89
|
+
groupbys: Optional[List[str]] = None
|
|
90
|
+
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, *"""
|
|
91
|
+
|
|
92
|
+
flush_event_limit: Annotated[
|
|
93
|
+
Optional[float], pydantic.Field(alias="flushEventLimit")
|
|
94
|
+
] = None
|
|
95
|
+
r"""The maximum number of events to include in any given aggregation event"""
|
|
96
|
+
|
|
97
|
+
flush_mem_limit: Annotated[Optional[str], pydantic.Field(alias="flushMemLimit")] = (
|
|
98
|
+
None
|
|
99
|
+
)
|
|
100
|
+
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)."""
|
|
101
|
+
|
|
102
|
+
cumulative: Optional[bool] = False
|
|
103
|
+
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."""
|
|
104
|
+
|
|
105
|
+
search_agg_mode: Annotated[Optional[str], pydantic.Field(alias="searchAggMode")] = (
|
|
106
|
+
None
|
|
107
|
+
)
|
|
108
|
+
r"""Allows Cribl Search-specific aggregation configuration"""
|
|
109
|
+
|
|
110
|
+
add: Optional[List[PipelineFunctionAggregationAdd]] = None
|
|
111
|
+
r"""Set of key-value pairs to evaluate and add/set"""
|
|
112
|
+
|
|
113
|
+
should_treat_dots_as_literals: Annotated[
|
|
114
|
+
Optional[bool], pydantic.Field(alias="shouldTreatDotsAsLiterals")
|
|
115
|
+
] = False
|
|
116
|
+
r"""Treat dots in dimension names as literals. This is useful for top-level dimensions that contain dots, such as 'service.name'."""
|
|
117
|
+
|
|
118
|
+
flush_on_input_close: Annotated[
|
|
119
|
+
Optional[bool], pydantic.Field(alias="flushOnInputClose")
|
|
120
|
+
] = True
|
|
121
|
+
r"""Flush aggregations when an input stream is closed. If disabled, Time Window Settings control flush behavior."""
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
class PipelineFunctionAggregationTypedDict(TypedDict):
|
|
125
|
+
id: PipelineFunctionAggregationID
|
|
126
|
+
r"""Function ID"""
|
|
127
|
+
conf: PipelineFunctionAggregationConfTypedDict
|
|
128
|
+
filter_: NotRequired[str]
|
|
129
|
+
r"""Filter that selects data to be fed through this Function"""
|
|
130
|
+
description: NotRequired[str]
|
|
131
|
+
r"""Simple description of this step"""
|
|
132
|
+
disabled: NotRequired[bool]
|
|
133
|
+
r"""If true, data will not be pushed through this function"""
|
|
134
|
+
final: NotRequired[bool]
|
|
135
|
+
r"""If enabled, stops the results of this Function from being passed to the downstream Functions"""
|
|
136
|
+
group_id: NotRequired[str]
|
|
137
|
+
r"""Group ID"""
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
class PipelineFunctionAggregation(BaseModel):
|
|
141
|
+
id: PipelineFunctionAggregationID
|
|
142
|
+
r"""Function ID"""
|
|
143
|
+
|
|
144
|
+
conf: PipelineFunctionAggregationConf
|
|
145
|
+
|
|
146
|
+
filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = "true"
|
|
147
|
+
r"""Filter that selects data to be fed through this Function"""
|
|
148
|
+
|
|
149
|
+
description: Optional[str] = None
|
|
150
|
+
r"""Simple description of this step"""
|
|
151
|
+
|
|
152
|
+
disabled: Optional[bool] = None
|
|
153
|
+
r"""If true, data will not be pushed through this function"""
|
|
154
|
+
|
|
155
|
+
final: Optional[bool] = None
|
|
156
|
+
r"""If enabled, stops the results of this Function from being passed to the downstream Functions"""
|
|
157
|
+
|
|
158
|
+
group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None
|
|
159
|
+
r"""Group ID"""
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .functionconfschemaautotimestamp import (
|
|
5
|
+
FunctionConfSchemaAutoTimestamp,
|
|
6
|
+
FunctionConfSchemaAutoTimestampTypedDict,
|
|
7
|
+
)
|
|
8
|
+
from cribl_control_plane.types import BaseModel
|
|
9
|
+
from enum import Enum
|
|
10
|
+
import pydantic
|
|
11
|
+
from typing import Optional
|
|
12
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class PipelineFunctionAutoTimestampID(str, Enum):
|
|
16
|
+
r"""Function ID"""
|
|
17
|
+
|
|
18
|
+
AUTO_TIMESTAMP = "auto_timestamp"
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class PipelineFunctionAutoTimestampTypedDict(TypedDict):
|
|
22
|
+
id: PipelineFunctionAutoTimestampID
|
|
23
|
+
r"""Function ID"""
|
|
24
|
+
conf: FunctionConfSchemaAutoTimestampTypedDict
|
|
25
|
+
filter_: NotRequired[str]
|
|
26
|
+
r"""Filter that selects data to be fed through this Function"""
|
|
27
|
+
description: NotRequired[str]
|
|
28
|
+
r"""Simple description of this step"""
|
|
29
|
+
disabled: NotRequired[bool]
|
|
30
|
+
r"""If true, data will not be pushed through this function"""
|
|
31
|
+
final: NotRequired[bool]
|
|
32
|
+
r"""If enabled, stops the results of this Function from being passed to the downstream Functions"""
|
|
33
|
+
group_id: NotRequired[str]
|
|
34
|
+
r"""Group ID"""
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
class PipelineFunctionAutoTimestamp(BaseModel):
|
|
38
|
+
id: PipelineFunctionAutoTimestampID
|
|
39
|
+
r"""Function ID"""
|
|
40
|
+
|
|
41
|
+
conf: FunctionConfSchemaAutoTimestamp
|
|
42
|
+
|
|
43
|
+
filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = "true"
|
|
44
|
+
r"""Filter that selects data to be fed through this Function"""
|
|
45
|
+
|
|
46
|
+
description: Optional[str] = None
|
|
47
|
+
r"""Simple description of this step"""
|
|
48
|
+
|
|
49
|
+
disabled: Optional[bool] = None
|
|
50
|
+
r"""If true, data will not be pushed through this function"""
|
|
51
|
+
|
|
52
|
+
final: Optional[bool] = None
|
|
53
|
+
r"""If enabled, stops the results of this Function from being passed to the downstream Functions"""
|
|
54
|
+
|
|
55
|
+
group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None
|
|
56
|
+
r"""Group ID"""
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .functionconfschemacef import (
|
|
5
|
+
FunctionConfSchemaCef,
|
|
6
|
+
FunctionConfSchemaCefInput,
|
|
7
|
+
FunctionConfSchemaCefInputTypedDict,
|
|
8
|
+
FunctionConfSchemaCefTypedDict,
|
|
9
|
+
)
|
|
10
|
+
from cribl_control_plane.types import BaseModel
|
|
11
|
+
from enum import Enum
|
|
12
|
+
import pydantic
|
|
13
|
+
from typing import Optional
|
|
14
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class PipelineFunctionCefID(str, Enum):
|
|
18
|
+
r"""Function ID"""
|
|
19
|
+
|
|
20
|
+
CEF = "cef"
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class PipelineFunctionCefTypedDict(TypedDict):
|
|
24
|
+
id: PipelineFunctionCefID
|
|
25
|
+
r"""Function ID"""
|
|
26
|
+
conf: FunctionConfSchemaCefTypedDict
|
|
27
|
+
filter_: NotRequired[str]
|
|
28
|
+
r"""Filter that selects data to be fed through this Function"""
|
|
29
|
+
description: NotRequired[str]
|
|
30
|
+
r"""Simple description of this step"""
|
|
31
|
+
disabled: NotRequired[bool]
|
|
32
|
+
r"""If true, data will not be pushed through this function"""
|
|
33
|
+
final: NotRequired[bool]
|
|
34
|
+
r"""If enabled, stops the results of this Function from being passed to the downstream Functions"""
|
|
35
|
+
group_id: NotRequired[str]
|
|
36
|
+
r"""Group ID"""
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
class PipelineFunctionCef(BaseModel):
|
|
40
|
+
id: PipelineFunctionCefID
|
|
41
|
+
r"""Function ID"""
|
|
42
|
+
|
|
43
|
+
conf: FunctionConfSchemaCef
|
|
44
|
+
|
|
45
|
+
filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = "true"
|
|
46
|
+
r"""Filter that selects data to be fed through this Function"""
|
|
47
|
+
|
|
48
|
+
description: Optional[str] = None
|
|
49
|
+
r"""Simple description of this step"""
|
|
50
|
+
|
|
51
|
+
disabled: Optional[bool] = None
|
|
52
|
+
r"""If true, data will not be pushed through this function"""
|
|
53
|
+
|
|
54
|
+
final: Optional[bool] = None
|
|
55
|
+
r"""If enabled, stops the results of this Function from being passed to the downstream Functions"""
|
|
56
|
+
|
|
57
|
+
group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None
|
|
58
|
+
r"""Group ID"""
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
class PipelineFunctionCefInputTypedDict(TypedDict):
|
|
62
|
+
id: PipelineFunctionCefID
|
|
63
|
+
r"""Function ID"""
|
|
64
|
+
conf: FunctionConfSchemaCefInputTypedDict
|
|
65
|
+
filter_: NotRequired[str]
|
|
66
|
+
r"""Filter that selects data to be fed through this Function"""
|
|
67
|
+
description: NotRequired[str]
|
|
68
|
+
r"""Simple description of this step"""
|
|
69
|
+
disabled: NotRequired[bool]
|
|
70
|
+
r"""If true, data will not be pushed through this function"""
|
|
71
|
+
final: NotRequired[bool]
|
|
72
|
+
r"""If enabled, stops the results of this Function from being passed to the downstream Functions"""
|
|
73
|
+
group_id: NotRequired[str]
|
|
74
|
+
r"""Group ID"""
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
class PipelineFunctionCefInput(BaseModel):
|
|
78
|
+
id: PipelineFunctionCefID
|
|
79
|
+
r"""Function ID"""
|
|
80
|
+
|
|
81
|
+
conf: FunctionConfSchemaCefInput
|
|
82
|
+
|
|
83
|
+
filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = "true"
|
|
84
|
+
r"""Filter that selects data to be fed through this Function"""
|
|
85
|
+
|
|
86
|
+
description: Optional[str] = None
|
|
87
|
+
r"""Simple description of this step"""
|
|
88
|
+
|
|
89
|
+
disabled: Optional[bool] = None
|
|
90
|
+
r"""If true, data will not be pushed through this function"""
|
|
91
|
+
|
|
92
|
+
final: Optional[bool] = None
|
|
93
|
+
r"""If enabled, stops the results of this Function from being passed to the downstream Functions"""
|
|
94
|
+
|
|
95
|
+
group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None
|
|
96
|
+
r"""Group ID"""
|