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
|
@@ -0,0 +1,14 @@
|
|
|
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 typing import List, Optional
|
|
6
|
+
from typing_extensions import NotRequired, TypedDict
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class FunctionConfSchemaGenStatsTypedDict(TypedDict):
|
|
10
|
+
fields: NotRequired[List[str]]
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class FunctionConfSchemaGenStats(BaseModel):
|
|
14
|
+
fields: Optional[List[str]] = None
|
|
@@ -0,0 +1,66 @@
|
|
|
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 FunctionConfSchemaGeoipAdditionalFieldTypedDict(TypedDict):
|
|
11
|
+
extra_in_field: str
|
|
12
|
+
r"""Field name in which to find an IP to look up. Can be nested."""
|
|
13
|
+
extra_out_field: str
|
|
14
|
+
r"""Field name in which to store the GeoIP lookup results"""
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class FunctionConfSchemaGeoipAdditionalField(BaseModel):
|
|
18
|
+
extra_in_field: Annotated[str, pydantic.Field(alias="extraInField")]
|
|
19
|
+
r"""Field name in which to find an IP to look up. Can be nested."""
|
|
20
|
+
|
|
21
|
+
extra_out_field: Annotated[str, pydantic.Field(alias="extraOutField")]
|
|
22
|
+
r"""Field name in which to store the GeoIP lookup results"""
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class FunctionConfSchemaGeoipOutputFieldMappingsTypedDict(TypedDict):
|
|
26
|
+
r"""Search-specific mappings for granular control over event enrichment"""
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
class FunctionConfSchemaGeoipOutputFieldMappings(BaseModel):
|
|
30
|
+
r"""Search-specific mappings for granular control over event enrichment"""
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
class FunctionConfSchemaGeoipTypedDict(TypedDict):
|
|
34
|
+
file: NotRequired[str]
|
|
35
|
+
r"""Select an uploaded Maxmind database, or specify path to a Maxmind database with .mmdb extension"""
|
|
36
|
+
in_field: NotRequired[str]
|
|
37
|
+
r"""Field name in which to find an IP to look up. Can be nested."""
|
|
38
|
+
out_field: NotRequired[str]
|
|
39
|
+
r"""Field name in which to store the GeoIP lookup results"""
|
|
40
|
+
additional_fields: NotRequired[
|
|
41
|
+
List[FunctionConfSchemaGeoipAdditionalFieldTypedDict]
|
|
42
|
+
]
|
|
43
|
+
out_field_mappings: NotRequired[FunctionConfSchemaGeoipOutputFieldMappingsTypedDict]
|
|
44
|
+
r"""Search-specific mappings for granular control over event enrichment"""
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
class FunctionConfSchemaGeoip(BaseModel):
|
|
48
|
+
file: Optional[str] = None
|
|
49
|
+
r"""Select an uploaded Maxmind database, or specify path to a Maxmind database with .mmdb extension"""
|
|
50
|
+
|
|
51
|
+
in_field: Annotated[Optional[str], pydantic.Field(alias="inField")] = "ip"
|
|
52
|
+
r"""Field name in which to find an IP to look up. Can be nested."""
|
|
53
|
+
|
|
54
|
+
out_field: Annotated[Optional[str], pydantic.Field(alias="outField")] = "geoip"
|
|
55
|
+
r"""Field name in which to store the GeoIP lookup results"""
|
|
56
|
+
|
|
57
|
+
additional_fields: Annotated[
|
|
58
|
+
Optional[List[FunctionConfSchemaGeoipAdditionalField]],
|
|
59
|
+
pydantic.Field(alias="additionalFields"),
|
|
60
|
+
] = None
|
|
61
|
+
|
|
62
|
+
out_field_mappings: Annotated[
|
|
63
|
+
Optional[FunctionConfSchemaGeoipOutputFieldMappings],
|
|
64
|
+
pydantic.Field(alias="outFieldMappings"),
|
|
65
|
+
] = None
|
|
66
|
+
r"""Search-specific mappings for granular control over event enrichment"""
|
|
@@ -0,0 +1,38 @@
|
|
|
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 FunctionConfSchemaGrokPatternListTypedDict(TypedDict):
|
|
11
|
+
pattern: str
|
|
12
|
+
r"""Grok pattern to extract fields. Syntax supported: %{PATTERN_NAME:FIELD_NAME}"""
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class FunctionConfSchemaGrokPatternList(BaseModel):
|
|
16
|
+
pattern: str
|
|
17
|
+
r"""Grok pattern to extract fields. Syntax supported: %{PATTERN_NAME:FIELD_NAME}"""
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class FunctionConfSchemaGrokTypedDict(TypedDict):
|
|
21
|
+
pattern: NotRequired[str]
|
|
22
|
+
r"""Grok pattern to extract fields. Syntax supported: %{PATTERN_NAME:FIELD_NAME}"""
|
|
23
|
+
pattern_list: NotRequired[List[FunctionConfSchemaGrokPatternListTypedDict]]
|
|
24
|
+
source: NotRequired[str]
|
|
25
|
+
r"""Field on which to perform Grok extractions"""
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class FunctionConfSchemaGrok(BaseModel):
|
|
29
|
+
pattern: Optional[str] = None
|
|
30
|
+
r"""Grok pattern to extract fields. Syntax supported: %{PATTERN_NAME:FIELD_NAME}"""
|
|
31
|
+
|
|
32
|
+
pattern_list: Annotated[
|
|
33
|
+
Optional[List[FunctionConfSchemaGrokPatternList]],
|
|
34
|
+
pydantic.Field(alias="patternList"),
|
|
35
|
+
] = None
|
|
36
|
+
|
|
37
|
+
source: Optional[str] = "_raw"
|
|
38
|
+
r"""Field on which to perform Grok extractions"""
|
|
@@ -0,0 +1,56 @@
|
|
|
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 Dict, Optional
|
|
7
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class FunctionConfSchemaHandlebarTemplateDefinitionTypedDict(TypedDict):
|
|
11
|
+
content: str
|
|
12
|
+
r"""Handlebars template string"""
|
|
13
|
+
description: NotRequired[str]
|
|
14
|
+
r"""Optional description of what this template is used for"""
|
|
15
|
+
type: NotRequired[str]
|
|
16
|
+
r"""Type categorization for the template (e.g., Universal, Email, Slack)"""
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class FunctionConfSchemaHandlebarTemplateDefinition(BaseModel):
|
|
20
|
+
content: str
|
|
21
|
+
r"""Handlebars template string"""
|
|
22
|
+
|
|
23
|
+
description: Optional[str] = None
|
|
24
|
+
r"""Optional description of what this template is used for"""
|
|
25
|
+
|
|
26
|
+
type: Optional[str] = "Universal"
|
|
27
|
+
r"""Type categorization for the template (e.g., Universal, Email, Slack)"""
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
class FunctionConfSchemaHandlebarTypedDict(TypedDict):
|
|
31
|
+
templates: NotRequired[
|
|
32
|
+
Dict[str, FunctionConfSchemaHandlebarTemplateDefinitionTypedDict]
|
|
33
|
+
]
|
|
34
|
+
r"""Object with template_id as keys and template definitions as values. Uses event.__template_id to select template at runtime."""
|
|
35
|
+
target_field: NotRequired[str]
|
|
36
|
+
r"""Field name to store the rendered template result. Defaults to _raw."""
|
|
37
|
+
parse_json: NotRequired[bool]
|
|
38
|
+
r"""Parse the rendered template as JSON and store as an object instead of a string. Useful for building structured data like Slack blocks."""
|
|
39
|
+
remove_on_null: NotRequired[bool]
|
|
40
|
+
r"""Remove the target field if the rendered result is empty or null."""
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
class FunctionConfSchemaHandlebar(BaseModel):
|
|
44
|
+
templates: Optional[Dict[str, FunctionConfSchemaHandlebarTemplateDefinition]] = None
|
|
45
|
+
r"""Object with template_id as keys and template definitions as values. Uses event.__template_id to select template at runtime."""
|
|
46
|
+
|
|
47
|
+
target_field: Annotated[Optional[str], pydantic.Field(alias="targetField")] = "_raw"
|
|
48
|
+
r"""Field name to store the rendered template result. Defaults to _raw."""
|
|
49
|
+
|
|
50
|
+
parse_json: Annotated[Optional[bool], pydantic.Field(alias="parseJson")] = False
|
|
51
|
+
r"""Parse the rendered template as JSON and store as an object instead of a string. Useful for building structured data like Slack blocks."""
|
|
52
|
+
|
|
53
|
+
remove_on_null: Annotated[Optional[bool], pydantic.Field(alias="removeOnNull")] = (
|
|
54
|
+
True
|
|
55
|
+
)
|
|
56
|
+
r"""Remove the target field if the rendered result is empty or null."""
|
|
@@ -0,0 +1,55 @@
|
|
|
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 Dict, List, Optional
|
|
7
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class FunctionConfSchemaJoinFieldConditionTypedDict(TypedDict):
|
|
11
|
+
left_field_name: str
|
|
12
|
+
r"""The field name to join on, on the left side."""
|
|
13
|
+
right_field_name: str
|
|
14
|
+
r"""The field name on the right side of the data, i.e. the stage results, that we are joining with"""
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class FunctionConfSchemaJoinFieldCondition(BaseModel):
|
|
18
|
+
left_field_name: Annotated[str, pydantic.Field(alias="leftFieldName")]
|
|
19
|
+
r"""The field name to join on, on the left side."""
|
|
20
|
+
|
|
21
|
+
right_field_name: Annotated[str, pydantic.Field(alias="rightFieldName")]
|
|
22
|
+
r"""The field name on the right side of the data, i.e. the stage results, that we are joining with"""
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class FunctionConfSchemaJoinTypedDict(TypedDict):
|
|
26
|
+
kind: NotRequired[str]
|
|
27
|
+
r"""Join kind, e.g. inner"""
|
|
28
|
+
hints: NotRequired[Dict[str, str]]
|
|
29
|
+
r"""Hints passed to the join function"""
|
|
30
|
+
field_conditions: NotRequired[List[FunctionConfSchemaJoinFieldConditionTypedDict]]
|
|
31
|
+
r"""Fields to use when joining"""
|
|
32
|
+
search_job_id: NotRequired[str]
|
|
33
|
+
r"""The id for this search job."""
|
|
34
|
+
stage_id: NotRequired[str]
|
|
35
|
+
r"""The stage we are joining with."""
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
class FunctionConfSchemaJoin(BaseModel):
|
|
39
|
+
kind: Optional[str] = None
|
|
40
|
+
r"""Join kind, e.g. inner"""
|
|
41
|
+
|
|
42
|
+
hints: Optional[Dict[str, str]] = None
|
|
43
|
+
r"""Hints passed to the join function"""
|
|
44
|
+
|
|
45
|
+
field_conditions: Annotated[
|
|
46
|
+
Optional[List[FunctionConfSchemaJoinFieldCondition]],
|
|
47
|
+
pydantic.Field(alias="fieldConditions"),
|
|
48
|
+
] = None
|
|
49
|
+
r"""Fields to use when joining"""
|
|
50
|
+
|
|
51
|
+
search_job_id: Annotated[Optional[str], pydantic.Field(alias="searchJobId")] = None
|
|
52
|
+
r"""The id for this search job."""
|
|
53
|
+
|
|
54
|
+
stage_id: Annotated[Optional[str], pydantic.Field(alias="stageId")] = None
|
|
55
|
+
r"""The stage we are joining with."""
|
|
@@ -0,0 +1,21 @@
|
|
|
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 typing import Optional
|
|
6
|
+
from typing_extensions import NotRequired, TypedDict
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class FunctionConfSchemaJSONUnrollTypedDict(TypedDict):
|
|
10
|
+
path: NotRequired[str]
|
|
11
|
+
r"""Path to array to unroll, such as foo.0.bar"""
|
|
12
|
+
name: NotRequired[str]
|
|
13
|
+
r"""Name of each exploded array element in each new event. Leave empty to expand the array element with its original name."""
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class FunctionConfSchemaJSONUnroll(BaseModel):
|
|
17
|
+
path: Optional[str] = None
|
|
18
|
+
r"""Path to array to unroll, such as foo.0.bar"""
|
|
19
|
+
|
|
20
|
+
name: Optional[str] = None
|
|
21
|
+
r"""Name of each exploded array element in each new event. Leave empty to expand the array element with its original name."""
|
|
@@ -0,0 +1,44 @@
|
|
|
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 Optional
|
|
7
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class FunctionConfSchemaLakeExportTypedDict(TypedDict):
|
|
11
|
+
search_job_id: NotRequired[str]
|
|
12
|
+
r"""Id of the search job this function is running on."""
|
|
13
|
+
dataset: NotRequired[str]
|
|
14
|
+
r"""Name of the dataset"""
|
|
15
|
+
lake: NotRequired[str]
|
|
16
|
+
r"""Name of the lake"""
|
|
17
|
+
tee: NotRequired[str]
|
|
18
|
+
r"""Tee results to search. When set to true results will be shipped instead of stats"""
|
|
19
|
+
flush_ms: NotRequired[float]
|
|
20
|
+
r"""How often are stats flushed in ms"""
|
|
21
|
+
suppress_previews: NotRequired[bool]
|
|
22
|
+
r"""Disables generation of intermediate stats. When true stats will be emitted only on end"""
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class FunctionConfSchemaLakeExport(BaseModel):
|
|
26
|
+
search_job_id: Annotated[Optional[str], pydantic.Field(alias="searchJobId")] = None
|
|
27
|
+
r"""Id of the search job this function is running on."""
|
|
28
|
+
|
|
29
|
+
dataset: Optional[str] = None
|
|
30
|
+
r"""Name of the dataset"""
|
|
31
|
+
|
|
32
|
+
lake: Optional[str] = "default"
|
|
33
|
+
r"""Name of the lake"""
|
|
34
|
+
|
|
35
|
+
tee: Optional[str] = "false"
|
|
36
|
+
r"""Tee results to search. When set to true results will be shipped instead of stats"""
|
|
37
|
+
|
|
38
|
+
flush_ms: Annotated[Optional[float], pydantic.Field(alias="flushMs")] = 1000
|
|
39
|
+
r"""How often are stats flushed in ms"""
|
|
40
|
+
|
|
41
|
+
suppress_previews: Annotated[
|
|
42
|
+
Optional[bool], pydantic.Field(alias="suppressPreviews")
|
|
43
|
+
] = None
|
|
44
|
+
r"""Disables generation of intermediate stats. When true stats will be emitted only on end"""
|
|
@@ -0,0 +1,16 @@
|
|
|
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 typing import Optional
|
|
6
|
+
from typing_extensions import NotRequired, TypedDict
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class FunctionConfSchemaLimitTypedDict(TypedDict):
|
|
10
|
+
limit: NotRequired[int]
|
|
11
|
+
r"""Number of qualifying events to pass through"""
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class FunctionConfSchemaLimit(BaseModel):
|
|
15
|
+
limit: Optional[int] = 100
|
|
16
|
+
r"""Number of qualifying events to pass through"""
|
|
@@ -0,0 +1,17 @@
|
|
|
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 Optional
|
|
7
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class FunctionConfSchemaLocalSearchDatatypeParserTypedDict(TypedDict):
|
|
11
|
+
ruleset_id: NotRequired[str]
|
|
12
|
+
r"""ID of the local search datatype ruleset"""
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class FunctionConfSchemaLocalSearchDatatypeParser(BaseModel):
|
|
16
|
+
ruleset_id: Annotated[Optional[str], pydantic.Field(alias="rulesetId")] = None
|
|
17
|
+
r"""ID of the local search datatype ruleset"""
|
|
@@ -0,0 +1,40 @@
|
|
|
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 Optional
|
|
12
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class RulesetType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
16
|
+
DATASET = "dataset"
|
|
17
|
+
DATATYPE = "datatype"
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class FunctionConfSchemaLocalSearchRulesetRunnerTypedDict(TypedDict):
|
|
21
|
+
ruleset_type: NotRequired[RulesetType]
|
|
22
|
+
ruleset_id: NotRequired[str]
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class FunctionConfSchemaLocalSearchRulesetRunner(BaseModel):
|
|
26
|
+
ruleset_type: Annotated[
|
|
27
|
+
Annotated[Optional[RulesetType], PlainValidator(validate_open_enum(False))],
|
|
28
|
+
pydantic.Field(alias="rulesetType"),
|
|
29
|
+
] = None
|
|
30
|
+
|
|
31
|
+
ruleset_id: Annotated[Optional[str], pydantic.Field(alias="rulesetId")] = None
|
|
32
|
+
|
|
33
|
+
@field_serializer("ruleset_type")
|
|
34
|
+
def serialize_ruleset_type(self, value):
|
|
35
|
+
if isinstance(value, str):
|
|
36
|
+
try:
|
|
37
|
+
return models.RulesetType(value)
|
|
38
|
+
except ValueError:
|
|
39
|
+
return value
|
|
40
|
+
return value
|
|
@@ -0,0 +1,92 @@
|
|
|
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 Any, List, Optional
|
|
7
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class FunctionConfSchemaLookupInFieldTypedDict(TypedDict):
|
|
11
|
+
event_field: str
|
|
12
|
+
r"""Field name as it appears in events"""
|
|
13
|
+
lookup_field: NotRequired[str]
|
|
14
|
+
r"""Optional: The field name as it appears in the lookup file. Defaults to event field name"""
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class FunctionConfSchemaLookupInField(BaseModel):
|
|
18
|
+
event_field: Annotated[str, pydantic.Field(alias="eventField")]
|
|
19
|
+
r"""Field name as it appears in events"""
|
|
20
|
+
|
|
21
|
+
lookup_field: Annotated[Optional[str], pydantic.Field(alias="lookupField")] = None
|
|
22
|
+
r"""Optional: The field name as it appears in the lookup file. Defaults to event field name"""
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class FunctionConfSchemaLookupOutFieldTypedDict(TypedDict):
|
|
26
|
+
lookup_field: str
|
|
27
|
+
r"""The field name as it appears in the lookup file"""
|
|
28
|
+
event_field: NotRequired[str]
|
|
29
|
+
r"""Optional: Field name to add to event. Defaults to lookup field name."""
|
|
30
|
+
default_value: NotRequired[str]
|
|
31
|
+
r"""Optional: Value to assign if lookup entry is not found"""
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
class FunctionConfSchemaLookupOutField(BaseModel):
|
|
35
|
+
lookup_field: Annotated[str, pydantic.Field(alias="lookupField")]
|
|
36
|
+
r"""The field name as it appears in the lookup file"""
|
|
37
|
+
|
|
38
|
+
event_field: Annotated[Optional[str], pydantic.Field(alias="eventField")] = None
|
|
39
|
+
r"""Optional: Field name to add to event. Defaults to lookup field name."""
|
|
40
|
+
|
|
41
|
+
default_value: Annotated[Optional[str], pydantic.Field(alias="defaultValue")] = None
|
|
42
|
+
r"""Optional: Value to assign if lookup entry is not found"""
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
class FunctionConfSchemaLookupTypedDict(TypedDict):
|
|
46
|
+
file: NotRequired[str]
|
|
47
|
+
r"""Path to the lookup file. Reference environment variables via $. Example: $HOME/file.csv"""
|
|
48
|
+
db_lookup: NotRequired[bool]
|
|
49
|
+
r"""Enable to use a disk-based lookup. This option displays only the settings relevant to disk-based mode and hides those for in-memory lookups."""
|
|
50
|
+
match_mode: NotRequired[Any]
|
|
51
|
+
match_type: NotRequired[Any]
|
|
52
|
+
reload_period_sec: NotRequired[Any]
|
|
53
|
+
in_fields: NotRequired[List[FunctionConfSchemaLookupInFieldTypedDict]]
|
|
54
|
+
r"""Fields that should be used to key into the lookup table"""
|
|
55
|
+
out_fields: NotRequired[List[FunctionConfSchemaLookupOutFieldTypedDict]]
|
|
56
|
+
r"""Fields to add to events after matching lookup. Defaults to all if not specified."""
|
|
57
|
+
add_to_event: NotRequired[bool]
|
|
58
|
+
r"""Add the looked-up values to _raw, as key=value pairs"""
|
|
59
|
+
ignore_case: NotRequired[Any]
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
class FunctionConfSchemaLookup(BaseModel):
|
|
63
|
+
file: Optional[str] = None
|
|
64
|
+
r"""Path to the lookup file. Reference environment variables via $. Example: $HOME/file.csv"""
|
|
65
|
+
|
|
66
|
+
db_lookup: Annotated[Optional[bool], pydantic.Field(alias="dbLookup")] = False
|
|
67
|
+
r"""Enable to use a disk-based lookup. This option displays only the settings relevant to disk-based mode and hides those for in-memory lookups."""
|
|
68
|
+
|
|
69
|
+
match_mode: Annotated[Optional[Any], pydantic.Field(alias="matchMode")] = None
|
|
70
|
+
|
|
71
|
+
match_type: Annotated[Optional[Any], pydantic.Field(alias="matchType")] = None
|
|
72
|
+
|
|
73
|
+
reload_period_sec: Annotated[
|
|
74
|
+
Optional[Any], pydantic.Field(alias="reloadPeriodSec")
|
|
75
|
+
] = None
|
|
76
|
+
|
|
77
|
+
in_fields: Annotated[
|
|
78
|
+
Optional[List[FunctionConfSchemaLookupInField]],
|
|
79
|
+
pydantic.Field(alias="inFields"),
|
|
80
|
+
] = None
|
|
81
|
+
r"""Fields that should be used to key into the lookup table"""
|
|
82
|
+
|
|
83
|
+
out_fields: Annotated[
|
|
84
|
+
Optional[List[FunctionConfSchemaLookupOutField]],
|
|
85
|
+
pydantic.Field(alias="outFields"),
|
|
86
|
+
] = None
|
|
87
|
+
r"""Fields to add to events after matching lookup. Defaults to all if not specified."""
|
|
88
|
+
|
|
89
|
+
add_to_event: Annotated[Optional[bool], pydantic.Field(alias="addToEvent")] = False
|
|
90
|
+
r"""Add the looked-up values to _raw, as key=value pairs"""
|
|
91
|
+
|
|
92
|
+
ignore_case: Annotated[Optional[Any], pydantic.Field(alias="ignoreCase")] = None
|
|
@@ -0,0 +1,63 @@
|
|
|
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 FunctionConfSchemaMaskRuleTypedDict(TypedDict):
|
|
11
|
+
match_regex: str
|
|
12
|
+
r"""Pattern to replace. Use /g to replace all matches."""
|
|
13
|
+
replace_expr: NotRequired[str]
|
|
14
|
+
r"""A JavaScript expression or literal to replace the matching content. Capturing groups can be referenced as g1, g2, and so on, and event fields as event.<fieldName>."""
|
|
15
|
+
disabled: NotRequired[bool]
|
|
16
|
+
r"""Set to No to disable the evaluation of an individual rule"""
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class FunctionConfSchemaMaskRule(BaseModel):
|
|
20
|
+
match_regex: Annotated[str, pydantic.Field(alias="matchRegex")]
|
|
21
|
+
r"""Pattern to replace. Use /g to replace all matches."""
|
|
22
|
+
|
|
23
|
+
replace_expr: Annotated[Optional[str], pydantic.Field(alias="replaceExpr")] = "''"
|
|
24
|
+
r"""A JavaScript expression or literal to replace the matching content. Capturing groups can be referenced as g1, g2, and so on, and event fields as event.<fieldName>."""
|
|
25
|
+
|
|
26
|
+
disabled: Optional[bool] = False
|
|
27
|
+
r"""Set to No to disable the evaluation of an individual rule"""
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
class FunctionConfSchemaMaskFlagTypedDict(TypedDict):
|
|
31
|
+
value: str
|
|
32
|
+
r"""JavaScript expression to compute the value (can be constant)"""
|
|
33
|
+
name: NotRequired[str]
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
class FunctionConfSchemaMaskFlag(BaseModel):
|
|
37
|
+
value: str
|
|
38
|
+
r"""JavaScript expression to compute the value (can be constant)"""
|
|
39
|
+
|
|
40
|
+
name: Optional[str] = None
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
class FunctionConfSchemaMaskTypedDict(TypedDict):
|
|
44
|
+
rules: NotRequired[List[FunctionConfSchemaMaskRuleTypedDict]]
|
|
45
|
+
fields: NotRequired[List[str]]
|
|
46
|
+
r"""Fields on which to apply the masking rules. Supports * wildcards, except when used on internal fields."""
|
|
47
|
+
depth: NotRequired[int]
|
|
48
|
+
r"""Depth to which the Mask Function will search for fields to mask"""
|
|
49
|
+
flags: NotRequired[List[FunctionConfSchemaMaskFlagTypedDict]]
|
|
50
|
+
r"""Fields to evaluate if one or more masking rules are matched"""
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
class FunctionConfSchemaMask(BaseModel):
|
|
54
|
+
rules: Optional[List[FunctionConfSchemaMaskRule]] = None
|
|
55
|
+
|
|
56
|
+
fields: Optional[List[str]] = None
|
|
57
|
+
r"""Fields on which to apply the masking rules. Supports * wildcards, except when used on internal fields."""
|
|
58
|
+
|
|
59
|
+
depth: Optional[int] = 5
|
|
60
|
+
r"""Depth to which the Mask Function will search for fields to mask"""
|
|
61
|
+
|
|
62
|
+
flags: Optional[List[FunctionConfSchemaMaskFlag]] = None
|
|
63
|
+
r"""Fields to evaluate if one or more masking rules are matched"""
|
|
@@ -0,0 +1,76 @@
|
|
|
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 FunctionConfSchemaMvExpandBagExpansionMode(
|
|
16
|
+
str, Enum, metaclass=utils.OpenEnumMeta
|
|
17
|
+
):
|
|
18
|
+
r"""decides if bag-values are expanded to bags or arrays"""
|
|
19
|
+
|
|
20
|
+
# Store as object
|
|
21
|
+
BAG = "bag"
|
|
22
|
+
# Store as array
|
|
23
|
+
ARRAY = "array"
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class FunctionConfSchemaMvExpandTypedDict(TypedDict):
|
|
27
|
+
source_fields: NotRequired[List[str]]
|
|
28
|
+
r"""Array of property-/field-names to expand"""
|
|
29
|
+
target_names: NotRequired[List[str]]
|
|
30
|
+
r"""stores the value as new target field name"""
|
|
31
|
+
row_limit: NotRequired[float]
|
|
32
|
+
r"""max. number of rows generated out of every source events"""
|
|
33
|
+
item_index_name: NotRequired[str]
|
|
34
|
+
r"""name of an optional index property generated into the output"""
|
|
35
|
+
bag_expansion_mode: NotRequired[FunctionConfSchemaMvExpandBagExpansionMode]
|
|
36
|
+
r"""decides if bag-values are expanded to bags or arrays"""
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
class FunctionConfSchemaMvExpand(BaseModel):
|
|
40
|
+
source_fields: Annotated[
|
|
41
|
+
Optional[List[str]], pydantic.Field(alias="sourceFields")
|
|
42
|
+
] = None
|
|
43
|
+
r"""Array of property-/field-names to expand"""
|
|
44
|
+
|
|
45
|
+
target_names: Annotated[
|
|
46
|
+
Optional[List[str]], pydantic.Field(alias="targetNames")
|
|
47
|
+
] = None
|
|
48
|
+
r"""stores the value as new target field name"""
|
|
49
|
+
|
|
50
|
+
row_limit: Annotated[Optional[float], pydantic.Field(alias="rowLimit")] = (
|
|
51
|
+
9007199254740991
|
|
52
|
+
)
|
|
53
|
+
r"""max. number of rows generated out of every source events"""
|
|
54
|
+
|
|
55
|
+
item_index_name: Annotated[Optional[str], pydantic.Field(alias="itemIndexName")] = (
|
|
56
|
+
None
|
|
57
|
+
)
|
|
58
|
+
r"""name of an optional index property generated into the output"""
|
|
59
|
+
|
|
60
|
+
bag_expansion_mode: Annotated[
|
|
61
|
+
Annotated[
|
|
62
|
+
Optional[FunctionConfSchemaMvExpandBagExpansionMode],
|
|
63
|
+
PlainValidator(validate_open_enum(False)),
|
|
64
|
+
],
|
|
65
|
+
pydantic.Field(alias="bagExpansionMode"),
|
|
66
|
+
] = FunctionConfSchemaMvExpandBagExpansionMode.BAG
|
|
67
|
+
r"""decides if bag-values are expanded to bags or arrays"""
|
|
68
|
+
|
|
69
|
+
@field_serializer("bag_expansion_mode")
|
|
70
|
+
def serialize_bag_expansion_mode(self, value):
|
|
71
|
+
if isinstance(value, str):
|
|
72
|
+
try:
|
|
73
|
+
return models.FunctionConfSchemaMvExpandBagExpansionMode(value)
|
|
74
|
+
except ValueError:
|
|
75
|
+
return value
|
|
76
|
+
return value
|
|
@@ -0,0 +1,45 @@
|
|
|
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 Optional
|
|
7
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class FunctionConfSchemaMvPullTypedDict(TypedDict):
|
|
11
|
+
array_path: NotRequired[str]
|
|
12
|
+
r"""Field name of the array within events that contains the data objects of interest. Can be a path."""
|
|
13
|
+
relative_key_path: NotRequired[str]
|
|
14
|
+
r"""Extract the K-V pair's key from this field, relative to the data object."""
|
|
15
|
+
relative_value_path: NotRequired[str]
|
|
16
|
+
r"""Extract the K-V pair's value from this field, relative to the data object."""
|
|
17
|
+
target_bag_path: NotRequired[str]
|
|
18
|
+
r"""Optionally, specify a bag as the target for K-V entries. If not specified, these entries are stored on each top-level event."""
|
|
19
|
+
delete_original: NotRequired[bool]
|
|
20
|
+
r"""Toggle this on to remove each original array of data objects after extraction. If toggled off, arrays are retained."""
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class FunctionConfSchemaMvPull(BaseModel):
|
|
24
|
+
array_path: Annotated[Optional[str], pydantic.Field(alias="arrayPath")] = None
|
|
25
|
+
r"""Field name of the array within events that contains the data objects of interest. Can be a path."""
|
|
26
|
+
|
|
27
|
+
relative_key_path: Annotated[
|
|
28
|
+
Optional[str], pydantic.Field(alias="relativeKeyPath")
|
|
29
|
+
] = None
|
|
30
|
+
r"""Extract the K-V pair's key from this field, relative to the data object."""
|
|
31
|
+
|
|
32
|
+
relative_value_path: Annotated[
|
|
33
|
+
Optional[str], pydantic.Field(alias="relativeValuePath")
|
|
34
|
+
] = None
|
|
35
|
+
r"""Extract the K-V pair's value from this field, relative to the data object."""
|
|
36
|
+
|
|
37
|
+
target_bag_path: Annotated[Optional[str], pydantic.Field(alias="targetBagPath")] = (
|
|
38
|
+
None
|
|
39
|
+
)
|
|
40
|
+
r"""Optionally, specify a bag as the target for K-V entries. If not specified, these entries are stored on each top-level event."""
|
|
41
|
+
|
|
42
|
+
delete_original: Annotated[
|
|
43
|
+
Optional[bool], pydantic.Field(alias="deleteOriginal")
|
|
44
|
+
] = False
|
|
45
|
+
r"""Toggle this on to remove each original array of data objects after extraction. If toggled off, arrays are retained."""
|