cribl-control-plane 0.4.0b23__py3-none-any.whl → 0.5.0b3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- cribl_control_plane/_version.py +3 -3
- cribl_control_plane/collectors_sdk.py +993 -0
- cribl_control_plane/models/__init__.py +2161 -734
- cribl_control_plane/models/configgroup.py +3 -0
- cribl_control_plane/models/countedsavedjob.py +20 -0
- cribl_control_plane/models/createsavedjobop.py +30 -0
- cribl_control_plane/models/deletesavedjobbyidop.py +42 -0
- cribl_control_plane/models/functionaggregatemetrics.py +7 -144
- cribl_control_plane/models/functionaggregation.py +7 -110
- cribl_control_plane/models/functionautotimestamp.py +7 -111
- cribl_control_plane/models/functioncef.py +6 -51
- cribl_control_plane/models/functionchain.py +6 -12
- cribl_control_plane/models/functionclone.py +7 -13
- cribl_control_plane/models/functioncode.py +8 -35
- cribl_control_plane/models/functioncomment.py +6 -12
- cribl_control_plane/models/functionconfschemaaggregatemetrics.py +153 -0
- cribl_control_plane/models/functionconfschemaaggregation.py +114 -0
- cribl_control_plane/models/functionconfschemaautotimestamp.py +116 -0
- cribl_control_plane/models/functionconfschemacef.py +83 -0
- cribl_control_plane/models/functionconfschemachain.py +16 -0
- cribl_control_plane/models/functionconfschemaclone.py +16 -0
- cribl_control_plane/models/functionconfschemacode.py +38 -0
- cribl_control_plane/models/functionconfschemacomment.py +16 -0
- cribl_control_plane/models/functionconfschemadistinct.py +41 -0
- cribl_control_plane/models/functionconfschemadnslookup.py +193 -0
- cribl_control_plane/models/functionconfschemadrop.py +13 -0
- cribl_control_plane/models/functionconfschemadropdimensions.py +31 -0
- cribl_control_plane/models/functionconfschemadynamicsampling.py +67 -0
- cribl_control_plane/models/functionconfschemaeval.py +44 -0
- cribl_control_plane/models/functionconfschemaeventbreaker.py +51 -0
- cribl_control_plane/models/functionconfschemaeventstats.py +34 -0
- cribl_control_plane/models/functionconfschemaexternaldata.py +13 -0
- cribl_control_plane/models/functionconfschemaflatten.py +31 -0
- cribl_control_plane/models/functionconfschemafoldkeys.py +31 -0
- cribl_control_plane/models/functionconfschemagenstats.py +14 -0
- cribl_control_plane/models/functionconfschemageoip.py +66 -0
- cribl_control_plane/models/functionconfschemagrok.py +38 -0
- cribl_control_plane/models/functionconfschemahandlebar.py +56 -0
- cribl_control_plane/models/functionconfschemajoin.py +55 -0
- cribl_control_plane/models/functionconfschemajsonunroll.py +21 -0
- cribl_control_plane/models/functionconfschemalakeexport.py +44 -0
- cribl_control_plane/models/functionconfschemalimit.py +16 -0
- cribl_control_plane/models/functionconfschemalocalsearchdatatypeparser.py +17 -0
- cribl_control_plane/models/functionconfschemalocalsearchrulesetrunner.py +40 -0
- cribl_control_plane/models/functionconfschemalookup.py +92 -0
- cribl_control_plane/models/functionconfschemamask.py +63 -0
- cribl_control_plane/models/functionconfschemamvexpand.py +76 -0
- cribl_control_plane/models/functionconfschemamvpull.py +45 -0
- cribl_control_plane/models/functionconfschemanotificationpolicies.py +129 -0
- cribl_control_plane/models/functionconfschemanotifications.py +26 -0
- cribl_control_plane/models/functionconfschemanotify.py +149 -0
- cribl_control_plane/models/functionconfschemanumerify.py +63 -0
- cribl_control_plane/models/functionconfschemaotlplogs.py +24 -0
- cribl_control_plane/models/functionconfschemaotlpmetrics.py +61 -0
- cribl_control_plane/models/functionconfschemaotlptraces.py +54 -0
- cribl_control_plane/models/functionconfschemapack.py +24 -0
- cribl_control_plane/models/functionconfschemapivot.py +31 -0
- cribl_control_plane/models/functionconfschemapublishmetrics.py +98 -0
- cribl_control_plane/models/functionconfschemaredis.py +121 -0
- cribl_control_plane/models/functionconfschemaregexextract.py +55 -0
- cribl_control_plane/models/functionconfschemaregexfilter.py +38 -0
- cribl_control_plane/models/functionconfschemarename.py +49 -0
- cribl_control_plane/models/functionconfschemarollupmetrics.py +57 -0
- cribl_control_plane/models/functionconfschemasampling.py +32 -0
- cribl_control_plane/models/functionconfschemasend.py +84 -0
- cribl_control_plane/models/functionconfschemasensitivedatascanner.py +75 -0
- cribl_control_plane/models/functionconfschemaserde.py +105 -0
- cribl_control_plane/models/functionconfschemaserialize.py +78 -0
- cribl_control_plane/models/functionconfschemasidlookup.py +34 -0
- cribl_control_plane/models/functionconfschemasnmptrapserialize.py +92 -0
- cribl_control_plane/models/functionconfschemasort.py +41 -0
- cribl_control_plane/models/functionconfschemastore.py +75 -0
- cribl_control_plane/models/functionconfschemasuppress.py +57 -0
- cribl_control_plane/models/functionconfschematee.py +32 -0
- cribl_control_plane/models/functionconfschematrimtimestamp.py +16 -0
- cribl_control_plane/models/functionconfschemaunion.py +22 -0
- cribl_control_plane/models/functionconfschemaunroll.py +22 -0
- cribl_control_plane/models/functionconfschemawindow.py +40 -0
- cribl_control_plane/models/functionconfschemaxmlunroll.py +34 -0
- cribl_control_plane/models/functiondistinct.py +7 -37
- cribl_control_plane/models/functiondnslookup.py +7 -188
- cribl_control_plane/models/functiondrop.py +8 -12
- cribl_control_plane/models/functiondropdimensions.py +7 -25
- cribl_control_plane/models/functiondynamicsampling.py +6 -58
- cribl_control_plane/models/functioneval.py +9 -43
- cribl_control_plane/models/functioneventbreaker.py +6 -40
- cribl_control_plane/models/functioneventstats.py +7 -30
- cribl_control_plane/models/functionexternaldata.py +6 -10
- cribl_control_plane/models/functionflatten.py +7 -28
- cribl_control_plane/models/functionfoldkeys.py +6 -26
- cribl_control_plane/models/functiongenstats.py +7 -11
- cribl_control_plane/models/functiongeoip.py +7 -58
- cribl_control_plane/models/functiongrok.py +9 -35
- cribl_control_plane/models/functionhandlebar.py +6 -49
- cribl_control_plane/models/functionjoin.py +9 -52
- cribl_control_plane/models/functionjsonunroll.py +6 -17
- cribl_control_plane/models/functionlakeexport.py +6 -39
- cribl_control_plane/models/functionlimit.py +6 -12
- cribl_control_plane/models/functionlocalsearchdatatypeparser.py +6 -12
- cribl_control_plane/models/functionlocalsearchrulesetrunner.py +7 -34
- cribl_control_plane/models/functionlookup.py +7 -86
- cribl_control_plane/models/functionmask.py +9 -61
- cribl_control_plane/models/functionmvexpand.py +7 -66
- cribl_control_plane/models/functionmvpull.py +6 -36
- cribl_control_plane/models/functionnotificationpolicies.py +8 -125
- cribl_control_plane/models/functionnotifications.py +6 -22
- cribl_control_plane/models/functionnotify.py +6 -133
- cribl_control_plane/models/functionnumerify.py +7 -57
- cribl_control_plane/models/functionotlplogs.py +6 -19
- cribl_control_plane/models/functionotlpmetrics.py +7 -56
- cribl_control_plane/models/functionotlptraces.py +6 -48
- cribl_control_plane/models/functionpack.py +9 -20
- cribl_control_plane/models/functionpivot.py +7 -23
- cribl_control_plane/models/functionpublishmetrics.py +7 -91
- cribl_control_plane/models/functionredis.py +7 -111
- cribl_control_plane/models/functionregexextract.py +7 -50
- cribl_control_plane/models/functionregexfilter.py +7 -33
- cribl_control_plane/models/functionrename.py +7 -45
- cribl_control_plane/models/functionrollupmetrics.py +7 -52
- cribl_control_plane/models/functionsampling.py +7 -28
- cribl_control_plane/models/functionsend.py +8 -80
- cribl_control_plane/models/functionsensitivedatascanner.py +7 -66
- cribl_control_plane/models/functionserde.py +6 -98
- cribl_control_plane/models/functionserialize.py +7 -72
- cribl_control_plane/models/functionsidlookup.py +7 -31
- cribl_control_plane/models/functionsnmptrapserialize.py +6 -81
- cribl_control_plane/models/functionsort.py +8 -36
- cribl_control_plane/models/functionstore.py +6 -69
- cribl_control_plane/models/functionsuppress.py +6 -52
- cribl_control_plane/models/functiontee.py +6 -30
- cribl_control_plane/models/functiontrimtimestamp.py +6 -12
- cribl_control_plane/models/functionunion.py +9 -20
- cribl_control_plane/models/functionunroll.py +6 -17
- cribl_control_plane/models/functionwindow.py +7 -34
- cribl_control_plane/models/functionxmlunroll.py +6 -29
- cribl_control_plane/models/getsavedjobbyidop.py +33 -0
- cribl_control_plane/models/getsavedjobop.py +40 -0
- cribl_control_plane/models/groupcreaterequest.py +3 -0
- cribl_control_plane/models/heartbeatmetadata.py +42 -0
- cribl_control_plane/models/input.py +1 -1
- cribl_control_plane/models/inputedgeprometheus.py +11 -11
- cribl_control_plane/models/inputprometheus.py +23 -18
- cribl_control_plane/models/nodeprovidedinfo.py +42 -0
- cribl_control_plane/models/output.py +15 -9
- cribl_control_plane/models/outputclickhouse.py +31 -0
- cribl_control_plane/models/outputcriblhttp.py +7 -0
- cribl_control_plane/models/outputcriblsearchengine.py +655 -0
- cribl_control_plane/models/outputnetflow.py +16 -2
- cribl_control_plane/models/pipeline.py +52 -4
- cribl_control_plane/models/pipelinefunctionaggregatemetrics.py +195 -0
- cribl_control_plane/models/pipelinefunctionaggregation.py +159 -0
- cribl_control_plane/models/pipelinefunctionautotimestamp.py +56 -0
- cribl_control_plane/models/pipelinefunctioncef.py +96 -0
- cribl_control_plane/models/pipelinefunctionchain.py +62 -0
- cribl_control_plane/models/pipelinefunctionclone.py +56 -0
- cribl_control_plane/models/pipelinefunctioncode.py +56 -0
- cribl_control_plane/models/pipelinefunctioncomment.py +56 -0
- cribl_control_plane/models/pipelinefunctionconf.py +343 -46
- cribl_control_plane/models/pipelinefunctionconf_input.py +353 -0
- cribl_control_plane/models/pipelinefunctiondistinct.py +86 -0
- cribl_control_plane/models/pipelinefunctiondnslookup.py +56 -0
- cribl_control_plane/models/pipelinefunctiondrop.py +56 -0
- cribl_control_plane/models/pipelinefunctiondropdimensions.py +74 -0
- cribl_control_plane/models/pipelinefunctiondynamicsampling.py +111 -0
- cribl_control_plane/models/pipelinefunctioneval.py +56 -0
- cribl_control_plane/models/pipelinefunctioneventbreaker.py +95 -0
- cribl_control_plane/models/pipelinefunctioneventstats.py +79 -0
- cribl_control_plane/models/pipelinefunctionexternaldata.py +56 -0
- cribl_control_plane/models/pipelinefunctionflatten.py +56 -0
- cribl_control_plane/models/pipelinefunctionfoldkeys.py +56 -0
- cribl_control_plane/models/pipelinefunctiongenstats.py +56 -0
- cribl_control_plane/models/pipelinefunctiongeoip.py +109 -0
- cribl_control_plane/models/pipelinefunctiongrok.py +83 -0
- cribl_control_plane/models/pipelinefunctionhandlebar.py +99 -0
- cribl_control_plane/models/pipelinefunctionjoin.py +100 -0
- cribl_control_plane/models/pipelinefunctionjsonunroll.py +67 -0
- cribl_control_plane/models/pipelinefunctionlakeexport.py +89 -0
- cribl_control_plane/models/pipelinefunctionlimit.py +56 -0
- cribl_control_plane/models/pipelinefunctionlocalsearchdatatypeparser.py +62 -0
- cribl_control_plane/models/pipelinefunctionlocalsearchrulesetrunner.py +56 -0
- cribl_control_plane/models/pipelinefunctionlookup.py +136 -0
- cribl_control_plane/models/pipelinefunctionmask.py +108 -0
- cribl_control_plane/models/pipelinefunctionmvexpand.py +116 -0
- cribl_control_plane/models/pipelinefunctionmvpull.py +86 -0
- cribl_control_plane/models/pipelinefunctionnotificationpolicies.py +56 -0
- cribl_control_plane/models/pipelinefunctionnotifications.py +72 -0
- cribl_control_plane/models/pipelinefunctionnotify.py +189 -0
- cribl_control_plane/models/pipelinefunctionnumerify.py +56 -0
- cribl_control_plane/models/pipelinefunctionotlplogs.py +56 -0
- cribl_control_plane/models/pipelinefunctionotlpmetrics.py +56 -0
- cribl_control_plane/models/pipelinefunctionotlptraces.py +56 -0
- cribl_control_plane/models/pipelinefunctionpack.py +67 -0
- cribl_control_plane/models/pipelinefunctionpivot.py +72 -0
- cribl_control_plane/models/pipelinefunctionpublishmetrics.py +56 -0
- cribl_control_plane/models/pipelinefunctionredis.py +165 -0
- cribl_control_plane/models/pipelinefunctionregexextract.py +100 -0
- cribl_control_plane/models/pipelinefunctionregexfilter.py +56 -0
- cribl_control_plane/models/pipelinefunctionrename.py +56 -0
- cribl_control_plane/models/pipelinefunctionrollupmetrics.py +56 -0
- cribl_control_plane/models/pipelinefunctionsampling.py +56 -0
- cribl_control_plane/models/pipelinefunctionsend.py +128 -0
- cribl_control_plane/models/pipelinefunctionsensitivedatascanner.py +120 -0
- cribl_control_plane/models/pipelinefunctionserde.py +149 -0
- cribl_control_plane/models/pipelinefunctionserialize.py +122 -0
- cribl_control_plane/models/pipelinefunctionsidlookup.py +56 -0
- cribl_control_plane/models/pipelinefunctionsnmptrapserialize.py +56 -0
- cribl_control_plane/models/pipelinefunctionsort.py +84 -0
- cribl_control_plane/models/pipelinefunctionstore.py +120 -0
- cribl_control_plane/models/pipelinefunctionsuppress.py +102 -0
- cribl_control_plane/models/pipelinefunctiontee.py +77 -0
- cribl_control_plane/models/pipelinefunctiontrimtimestamp.py +56 -0
- cribl_control_plane/models/pipelinefunctionunion.py +67 -0
- cribl_control_plane/models/pipelinefunctionunroll.py +67 -0
- cribl_control_plane/models/pipelinefunctionwindow.py +83 -0
- cribl_control_plane/models/pipelinefunctionxmlunroll.py +79 -0
- cribl_control_plane/models/runnablejobcollection.py +11 -10
- cribl_control_plane/models/runnablejobexecutor.py +8 -8
- cribl_control_plane/models/savedjob.py +26 -0
- cribl_control_plane/models/savedjobcollection.py +411 -0
- cribl_control_plane/models/savedjobexecutor.py +301 -0
- cribl_control_plane/models/savedjobscheduledsearch.py +278 -0
- cribl_control_plane/models/updatepipelinebyidop.py +4 -3
- cribl_control_plane/models/updatesavedjobbyidop.py +42 -0
- cribl_control_plane/pipelines.py +16 -16
- cribl_control_plane/sdk.py +4 -0
- {cribl_control_plane-0.4.0b23.dist-info → cribl_control_plane-0.5.0b3.dist-info}/METADATA +10 -2
- {cribl_control_plane-0.4.0b23.dist-info → cribl_control_plane-0.5.0b3.dist-info}/RECORD +229 -88
- {cribl_control_plane-0.4.0b23.dist-info → cribl_control_plane-0.5.0b3.dist-info}/WHEEL +0 -0
- {cribl_control_plane-0.4.0b23.dist-info → cribl_control_plane-0.5.0b3.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
+
from .functionconfschemalocalsearchdatatypeparser import (
|
|
5
|
+
FunctionConfSchemaLocalSearchDatatypeParser,
|
|
6
|
+
FunctionConfSchemaLocalSearchDatatypeParserTypedDict,
|
|
7
|
+
)
|
|
4
8
|
from cribl_control_plane.types import BaseModel
|
|
5
9
|
from enum import Enum
|
|
6
10
|
import pydantic
|
|
@@ -12,16 +16,6 @@ class FunctionLocalSearchDatatypeParserID(str, Enum):
|
|
|
12
16
|
LOCAL_SEARCH_DATATYPE_PARSER = "local_search_datatype_parser"
|
|
13
17
|
|
|
14
18
|
|
|
15
|
-
class FunctionLocalSearchDatatypeParserSchemaTypedDict(TypedDict):
|
|
16
|
-
ruleset_id: str
|
|
17
|
-
r"""ID of the local search datatype ruleset"""
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
class FunctionLocalSearchDatatypeParserSchema(BaseModel):
|
|
21
|
-
ruleset_id: Annotated[str, pydantic.Field(alias="rulesetId")]
|
|
22
|
-
r"""ID of the local search datatype ruleset"""
|
|
23
|
-
|
|
24
|
-
|
|
25
19
|
class FunctionLocalSearchDatatypeParserTypedDict(TypedDict):
|
|
26
20
|
filename: str
|
|
27
21
|
group: str
|
|
@@ -36,7 +30,7 @@ class FunctionLocalSearchDatatypeParserTypedDict(TypedDict):
|
|
|
36
30
|
disabled: NotRequired[bool]
|
|
37
31
|
handle_signals: NotRequired[bool]
|
|
38
32
|
sync: NotRequired[bool]
|
|
39
|
-
schema_: NotRequired[
|
|
33
|
+
schema_: NotRequired[FunctionConfSchemaLocalSearchDatatypeParserTypedDict]
|
|
40
34
|
|
|
41
35
|
|
|
42
36
|
class FunctionLocalSearchDatatypeParser(BaseModel):
|
|
@@ -71,6 +65,6 @@ class FunctionLocalSearchDatatypeParser(BaseModel):
|
|
|
71
65
|
sync: Optional[bool] = None
|
|
72
66
|
|
|
73
67
|
schema_: Annotated[
|
|
74
|
-
Optional[
|
|
68
|
+
Optional[FunctionConfSchemaLocalSearchDatatypeParser],
|
|
75
69
|
pydantic.Field(alias="schema"),
|
|
76
70
|
] = None
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
-
from
|
|
4
|
+
from .functionconfschemalocalsearchrulesetrunner import (
|
|
5
|
+
FunctionConfSchemaLocalSearchRulesetRunner,
|
|
6
|
+
FunctionConfSchemaLocalSearchRulesetRunnerTypedDict,
|
|
7
|
+
)
|
|
5
8
|
from cribl_control_plane.types import BaseModel
|
|
6
|
-
from cribl_control_plane.utils import validate_open_enum
|
|
7
9
|
from enum import Enum
|
|
8
10
|
import pydantic
|
|
9
|
-
from pydantic import field_serializer
|
|
10
|
-
from pydantic.functional_validators import PlainValidator
|
|
11
11
|
from typing import Any, Dict, Optional
|
|
12
12
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
13
13
|
|
|
@@ -16,34 +16,6 @@ class FunctionLocalSearchRulesetRunnerID(str, Enum):
|
|
|
16
16
|
LOCAL_SEARCH_RULESET_RUNNER = "local_search_ruleset_runner"
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
class RulesetType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
20
|
-
DATASET = "dataset"
|
|
21
|
-
DATATYPE = "datatype"
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
class FunctionLocalSearchRulesetRunnerSchemaTypedDict(TypedDict):
|
|
25
|
-
ruleset_type: NotRequired[RulesetType]
|
|
26
|
-
ruleset_id: NotRequired[str]
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
class FunctionLocalSearchRulesetRunnerSchema(BaseModel):
|
|
30
|
-
ruleset_type: Annotated[
|
|
31
|
-
Annotated[Optional[RulesetType], PlainValidator(validate_open_enum(False))],
|
|
32
|
-
pydantic.Field(alias="rulesetType"),
|
|
33
|
-
] = None
|
|
34
|
-
|
|
35
|
-
ruleset_id: Annotated[Optional[str], pydantic.Field(alias="rulesetId")] = None
|
|
36
|
-
|
|
37
|
-
@field_serializer("ruleset_type")
|
|
38
|
-
def serialize_ruleset_type(self, value):
|
|
39
|
-
if isinstance(value, str):
|
|
40
|
-
try:
|
|
41
|
-
return models.RulesetType(value)
|
|
42
|
-
except ValueError:
|
|
43
|
-
return value
|
|
44
|
-
return value
|
|
45
|
-
|
|
46
|
-
|
|
47
19
|
class FunctionLocalSearchRulesetRunnerTypedDict(TypedDict):
|
|
48
20
|
filename: str
|
|
49
21
|
group: str
|
|
@@ -58,7 +30,7 @@ class FunctionLocalSearchRulesetRunnerTypedDict(TypedDict):
|
|
|
58
30
|
disabled: NotRequired[bool]
|
|
59
31
|
handle_signals: NotRequired[bool]
|
|
60
32
|
sync: NotRequired[bool]
|
|
61
|
-
schema_: NotRequired[
|
|
33
|
+
schema_: NotRequired[FunctionConfSchemaLocalSearchRulesetRunnerTypedDict]
|
|
62
34
|
|
|
63
35
|
|
|
64
36
|
class FunctionLocalSearchRulesetRunner(BaseModel):
|
|
@@ -93,5 +65,6 @@ class FunctionLocalSearchRulesetRunner(BaseModel):
|
|
|
93
65
|
sync: Optional[bool] = None
|
|
94
66
|
|
|
95
67
|
schema_: Annotated[
|
|
96
|
-
Optional[
|
|
68
|
+
Optional[FunctionConfSchemaLocalSearchRulesetRunner],
|
|
69
|
+
pydantic.Field(alias="schema"),
|
|
97
70
|
] = None
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
+
from .functionconfschemalookup import (
|
|
5
|
+
FunctionConfSchemaLookup,
|
|
6
|
+
FunctionConfSchemaLookupTypedDict,
|
|
7
|
+
)
|
|
4
8
|
from cribl_control_plane.types import BaseModel
|
|
5
9
|
from enum import Enum
|
|
6
10
|
import pydantic
|
|
7
|
-
from typing import Any, Dict,
|
|
11
|
+
from typing import Any, Dict, Optional
|
|
8
12
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
13
|
|
|
10
14
|
|
|
@@ -12,89 +16,6 @@ class FunctionLookupID(str, Enum):
|
|
|
12
16
|
LOOKUP = "lookup"
|
|
13
17
|
|
|
14
18
|
|
|
15
|
-
class InFieldTypedDict(TypedDict):
|
|
16
|
-
event_field: str
|
|
17
|
-
r"""Field name as it appears in events"""
|
|
18
|
-
lookup_field: NotRequired[str]
|
|
19
|
-
r"""Optional: The field name as it appears in the lookup file. Defaults to event field name"""
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
class InField(BaseModel):
|
|
23
|
-
event_field: Annotated[str, pydantic.Field(alias="eventField")]
|
|
24
|
-
r"""Field name as it appears in events"""
|
|
25
|
-
|
|
26
|
-
lookup_field: Annotated[Optional[str], pydantic.Field(alias="lookupField")] = None
|
|
27
|
-
r"""Optional: The field name as it appears in the lookup file. Defaults to event field name"""
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
class OutFieldTypedDict(TypedDict):
|
|
31
|
-
lookup_field: str
|
|
32
|
-
r"""The field name as it appears in the lookup file"""
|
|
33
|
-
event_field: NotRequired[str]
|
|
34
|
-
r"""Optional: Field name to add to event. Defaults to lookup field name."""
|
|
35
|
-
default_value: NotRequired[str]
|
|
36
|
-
r"""Optional: Value to assign if lookup entry is not found"""
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
class OutField(BaseModel):
|
|
40
|
-
lookup_field: Annotated[str, pydantic.Field(alias="lookupField")]
|
|
41
|
-
r"""The field name as it appears in the lookup file"""
|
|
42
|
-
|
|
43
|
-
event_field: Annotated[Optional[str], pydantic.Field(alias="eventField")] = None
|
|
44
|
-
r"""Optional: Field name to add to event. Defaults to lookup field name."""
|
|
45
|
-
|
|
46
|
-
default_value: Annotated[Optional[str], pydantic.Field(alias="defaultValue")] = None
|
|
47
|
-
r"""Optional: Value to assign if lookup entry is not found"""
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
class FunctionLookupSchemaTypedDict(TypedDict):
|
|
51
|
-
file: str
|
|
52
|
-
r"""Path to the lookup file. Reference environment variables via $. Example: $HOME/file.csv"""
|
|
53
|
-
db_lookup: NotRequired[bool]
|
|
54
|
-
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."""
|
|
55
|
-
match_mode: NotRequired[Any]
|
|
56
|
-
match_type: NotRequired[Any]
|
|
57
|
-
reload_period_sec: NotRequired[Any]
|
|
58
|
-
in_fields: NotRequired[List[InFieldTypedDict]]
|
|
59
|
-
r"""Fields that should be used to key into the lookup table"""
|
|
60
|
-
out_fields: NotRequired[List[OutFieldTypedDict]]
|
|
61
|
-
r"""Fields to add to events after matching lookup. Defaults to all if not specified."""
|
|
62
|
-
add_to_event: NotRequired[bool]
|
|
63
|
-
r"""Add the looked-up values to _raw, as key=value pairs"""
|
|
64
|
-
ignore_case: NotRequired[Any]
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
class FunctionLookupSchema(BaseModel):
|
|
68
|
-
file: str
|
|
69
|
-
r"""Path to the lookup file. Reference environment variables via $. Example: $HOME/file.csv"""
|
|
70
|
-
|
|
71
|
-
db_lookup: Annotated[Optional[bool], pydantic.Field(alias="dbLookup")] = False
|
|
72
|
-
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."""
|
|
73
|
-
|
|
74
|
-
match_mode: Annotated[Optional[Any], pydantic.Field(alias="matchMode")] = None
|
|
75
|
-
|
|
76
|
-
match_type: Annotated[Optional[Any], pydantic.Field(alias="matchType")] = None
|
|
77
|
-
|
|
78
|
-
reload_period_sec: Annotated[
|
|
79
|
-
Optional[Any], pydantic.Field(alias="reloadPeriodSec")
|
|
80
|
-
] = None
|
|
81
|
-
|
|
82
|
-
in_fields: Annotated[Optional[List[InField]], pydantic.Field(alias="inFields")] = (
|
|
83
|
-
None
|
|
84
|
-
)
|
|
85
|
-
r"""Fields that should be used to key into the lookup table"""
|
|
86
|
-
|
|
87
|
-
out_fields: Annotated[
|
|
88
|
-
Optional[List[OutField]], pydantic.Field(alias="outFields")
|
|
89
|
-
] = None
|
|
90
|
-
r"""Fields to add to events after matching lookup. Defaults to all if not specified."""
|
|
91
|
-
|
|
92
|
-
add_to_event: Annotated[Optional[bool], pydantic.Field(alias="addToEvent")] = False
|
|
93
|
-
r"""Add the looked-up values to _raw, as key=value pairs"""
|
|
94
|
-
|
|
95
|
-
ignore_case: Annotated[Optional[Any], pydantic.Field(alias="ignoreCase")] = None
|
|
96
|
-
|
|
97
|
-
|
|
98
19
|
class FunctionLookupTypedDict(TypedDict):
|
|
99
20
|
filename: str
|
|
100
21
|
group: str
|
|
@@ -109,7 +30,7 @@ class FunctionLookupTypedDict(TypedDict):
|
|
|
109
30
|
disabled: NotRequired[bool]
|
|
110
31
|
handle_signals: NotRequired[bool]
|
|
111
32
|
sync: NotRequired[bool]
|
|
112
|
-
schema_: NotRequired[
|
|
33
|
+
schema_: NotRequired[FunctionConfSchemaLookupTypedDict]
|
|
113
34
|
|
|
114
35
|
|
|
115
36
|
class FunctionLookup(BaseModel):
|
|
@@ -144,5 +65,5 @@ class FunctionLookup(BaseModel):
|
|
|
144
65
|
sync: Optional[bool] = None
|
|
145
66
|
|
|
146
67
|
schema_: Annotated[
|
|
147
|
-
Optional[
|
|
68
|
+
Optional[FunctionConfSchemaLookup], pydantic.Field(alias="schema")
|
|
148
69
|
] = None
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
+
from .functionconfschemamask import (
|
|
5
|
+
FunctionConfSchemaMask,
|
|
6
|
+
FunctionConfSchemaMaskTypedDict,
|
|
7
|
+
)
|
|
4
8
|
from cribl_control_plane.types import BaseModel
|
|
5
9
|
from enum import Enum
|
|
6
10
|
import pydantic
|
|
7
|
-
from typing import Any, Dict,
|
|
11
|
+
from typing import Any, Dict, Optional
|
|
8
12
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
13
|
|
|
10
14
|
|
|
@@ -12,62 +16,6 @@ class FunctionMaskID(str, Enum):
|
|
|
12
16
|
MASK = "mask"
|
|
13
17
|
|
|
14
18
|
|
|
15
|
-
class FunctionMaskRuleTypedDict(TypedDict):
|
|
16
|
-
match_regex: str
|
|
17
|
-
r"""Pattern to replace. Use /g to replace all matches."""
|
|
18
|
-
replace_expr: NotRequired[str]
|
|
19
|
-
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>."""
|
|
20
|
-
disabled: NotRequired[bool]
|
|
21
|
-
r"""Set to No to disable the evaluation of an individual rule"""
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
class FunctionMaskRule(BaseModel):
|
|
25
|
-
match_regex: Annotated[str, pydantic.Field(alias="matchRegex")]
|
|
26
|
-
r"""Pattern to replace. Use /g to replace all matches."""
|
|
27
|
-
|
|
28
|
-
replace_expr: Annotated[Optional[str], pydantic.Field(alias="replaceExpr")] = "''"
|
|
29
|
-
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>."""
|
|
30
|
-
|
|
31
|
-
disabled: Optional[bool] = False
|
|
32
|
-
r"""Set to No to disable the evaluation of an individual rule"""
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
class FunctionMaskFlagTypedDict(TypedDict):
|
|
36
|
-
value: str
|
|
37
|
-
r"""JavaScript expression to compute the value (can be constant)"""
|
|
38
|
-
name: NotRequired[str]
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
class FunctionMaskFlag(BaseModel):
|
|
42
|
-
value: str
|
|
43
|
-
r"""JavaScript expression to compute the value (can be constant)"""
|
|
44
|
-
|
|
45
|
-
name: Optional[str] = None
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
class FunctionMaskSchemaTypedDict(TypedDict):
|
|
49
|
-
rules: List[FunctionMaskRuleTypedDict]
|
|
50
|
-
fields: NotRequired[List[str]]
|
|
51
|
-
r"""Fields on which to apply the masking rules. Supports * wildcards, except when used on internal fields."""
|
|
52
|
-
depth: NotRequired[int]
|
|
53
|
-
r"""Depth to which the Mask Function will search for fields to mask"""
|
|
54
|
-
flags: NotRequired[List[FunctionMaskFlagTypedDict]]
|
|
55
|
-
r"""Fields to evaluate if one or more masking rules are matched"""
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
class FunctionMaskSchema(BaseModel):
|
|
59
|
-
rules: List[FunctionMaskRule]
|
|
60
|
-
|
|
61
|
-
fields: Optional[List[str]] = None
|
|
62
|
-
r"""Fields on which to apply the masking rules. Supports * wildcards, except when used on internal fields."""
|
|
63
|
-
|
|
64
|
-
depth: Optional[int] = 5
|
|
65
|
-
r"""Depth to which the Mask Function will search for fields to mask"""
|
|
66
|
-
|
|
67
|
-
flags: Optional[List[FunctionMaskFlag]] = None
|
|
68
|
-
r"""Fields to evaluate if one or more masking rules are matched"""
|
|
69
|
-
|
|
70
|
-
|
|
71
19
|
class FunctionMaskTypedDict(TypedDict):
|
|
72
20
|
filename: str
|
|
73
21
|
group: str
|
|
@@ -82,7 +30,7 @@ class FunctionMaskTypedDict(TypedDict):
|
|
|
82
30
|
disabled: NotRequired[bool]
|
|
83
31
|
handle_signals: NotRequired[bool]
|
|
84
32
|
sync: NotRequired[bool]
|
|
85
|
-
schema_: NotRequired[
|
|
33
|
+
schema_: NotRequired[FunctionConfSchemaMaskTypedDict]
|
|
86
34
|
|
|
87
35
|
|
|
88
36
|
class FunctionMask(BaseModel):
|
|
@@ -116,6 +64,6 @@ class FunctionMask(BaseModel):
|
|
|
116
64
|
|
|
117
65
|
sync: Optional[bool] = None
|
|
118
66
|
|
|
119
|
-
schema_: Annotated[
|
|
120
|
-
|
|
121
|
-
|
|
67
|
+
schema_: Annotated[
|
|
68
|
+
Optional[FunctionConfSchemaMask], pydantic.Field(alias="schema")
|
|
69
|
+
] = None
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
-
from
|
|
4
|
+
from .functionconfschemamvexpand import (
|
|
5
|
+
FunctionConfSchemaMvExpand,
|
|
6
|
+
FunctionConfSchemaMvExpandTypedDict,
|
|
7
|
+
)
|
|
5
8
|
from cribl_control_plane.types import BaseModel
|
|
6
|
-
from cribl_control_plane.utils import validate_open_enum
|
|
7
9
|
from enum import Enum
|
|
8
10
|
import pydantic
|
|
9
|
-
from
|
|
10
|
-
from pydantic.functional_validators import PlainValidator
|
|
11
|
-
from typing import Any, Dict, List, Optional
|
|
11
|
+
from typing import Any, Dict, Optional
|
|
12
12
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
13
13
|
|
|
14
14
|
|
|
@@ -16,65 +16,6 @@ class FunctionMvExpandID(str, Enum):
|
|
|
16
16
|
MV_EXPAND = "mv_expand"
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
class BagExpansionMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
20
|
-
r"""decides if bag-values are expanded to bags or arrays"""
|
|
21
|
-
|
|
22
|
-
# Store as object
|
|
23
|
-
BAG = "bag"
|
|
24
|
-
# Store as array
|
|
25
|
-
ARRAY = "array"
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
class FunctionMvExpandSchemaTypedDict(TypedDict):
|
|
29
|
-
source_fields: List[str]
|
|
30
|
-
r"""Array of property-/field-names to expand"""
|
|
31
|
-
target_names: NotRequired[List[str]]
|
|
32
|
-
r"""stores the value as new target field name"""
|
|
33
|
-
row_limit: NotRequired[float]
|
|
34
|
-
r"""max. number of rows generated out of every source events"""
|
|
35
|
-
item_index_name: NotRequired[str]
|
|
36
|
-
r"""name of an optional index property generated into the output"""
|
|
37
|
-
bag_expansion_mode: NotRequired[BagExpansionMode]
|
|
38
|
-
r"""decides if bag-values are expanded to bags or arrays"""
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
class FunctionMvExpandSchema(BaseModel):
|
|
42
|
-
source_fields: Annotated[List[str], pydantic.Field(alias="sourceFields")]
|
|
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[BagExpansionMode], PlainValidator(validate_open_enum(False))
|
|
63
|
-
],
|
|
64
|
-
pydantic.Field(alias="bagExpansionMode"),
|
|
65
|
-
] = BagExpansionMode.BAG
|
|
66
|
-
r"""decides if bag-values are expanded to bags or arrays"""
|
|
67
|
-
|
|
68
|
-
@field_serializer("bag_expansion_mode")
|
|
69
|
-
def serialize_bag_expansion_mode(self, value):
|
|
70
|
-
if isinstance(value, str):
|
|
71
|
-
try:
|
|
72
|
-
return models.BagExpansionMode(value)
|
|
73
|
-
except ValueError:
|
|
74
|
-
return value
|
|
75
|
-
return value
|
|
76
|
-
|
|
77
|
-
|
|
78
19
|
class FunctionMvExpandTypedDict(TypedDict):
|
|
79
20
|
filename: str
|
|
80
21
|
group: str
|
|
@@ -89,7 +30,7 @@ class FunctionMvExpandTypedDict(TypedDict):
|
|
|
89
30
|
disabled: NotRequired[bool]
|
|
90
31
|
handle_signals: NotRequired[bool]
|
|
91
32
|
sync: NotRequired[bool]
|
|
92
|
-
schema_: NotRequired[
|
|
33
|
+
schema_: NotRequired[FunctionConfSchemaMvExpandTypedDict]
|
|
93
34
|
|
|
94
35
|
|
|
95
36
|
class FunctionMvExpand(BaseModel):
|
|
@@ -124,5 +65,5 @@ class FunctionMvExpand(BaseModel):
|
|
|
124
65
|
sync: Optional[bool] = None
|
|
125
66
|
|
|
126
67
|
schema_: Annotated[
|
|
127
|
-
Optional[
|
|
68
|
+
Optional[FunctionConfSchemaMvExpand], pydantic.Field(alias="schema")
|
|
128
69
|
] = None
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
+
from .functionconfschemamvpull import (
|
|
5
|
+
FunctionConfSchemaMvPull,
|
|
6
|
+
FunctionConfSchemaMvPullTypedDict,
|
|
7
|
+
)
|
|
4
8
|
from cribl_control_plane.types import BaseModel
|
|
5
9
|
from enum import Enum
|
|
6
10
|
import pydantic
|
|
@@ -12,40 +16,6 @@ class FunctionMvPullID(str, Enum):
|
|
|
12
16
|
MV_PULL = "mv_pull"
|
|
13
17
|
|
|
14
18
|
|
|
15
|
-
class FunctionMvPullSchemaTypedDict(TypedDict):
|
|
16
|
-
array_path: str
|
|
17
|
-
r"""Field name of the array within events that contains the data objects of interest. Can be a path."""
|
|
18
|
-
relative_key_path: str
|
|
19
|
-
r"""Extract the K-V pair's key from this field, relative to the data object."""
|
|
20
|
-
relative_value_path: str
|
|
21
|
-
r"""Extract the K-V pair's value from this field, relative to the data object."""
|
|
22
|
-
target_bag_path: NotRequired[str]
|
|
23
|
-
r"""Optionally, specify a bag as the target for K-V entries. If not specified, these entries are stored on each top-level event."""
|
|
24
|
-
delete_original: NotRequired[bool]
|
|
25
|
-
r"""Toggle this on to remove each original array of data objects after extraction. If toggled off, arrays are retained."""
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
class FunctionMvPullSchema(BaseModel):
|
|
29
|
-
array_path: Annotated[str, pydantic.Field(alias="arrayPath")]
|
|
30
|
-
r"""Field name of the array within events that contains the data objects of interest. Can be a path."""
|
|
31
|
-
|
|
32
|
-
relative_key_path: Annotated[str, pydantic.Field(alias="relativeKeyPath")]
|
|
33
|
-
r"""Extract the K-V pair's key from this field, relative to the data object."""
|
|
34
|
-
|
|
35
|
-
relative_value_path: Annotated[str, pydantic.Field(alias="relativeValuePath")]
|
|
36
|
-
r"""Extract the K-V pair's value from this field, relative to the data object."""
|
|
37
|
-
|
|
38
|
-
target_bag_path: Annotated[Optional[str], pydantic.Field(alias="targetBagPath")] = (
|
|
39
|
-
None
|
|
40
|
-
)
|
|
41
|
-
r"""Optionally, specify a bag as the target for K-V entries. If not specified, these entries are stored on each top-level event."""
|
|
42
|
-
|
|
43
|
-
delete_original: Annotated[
|
|
44
|
-
Optional[bool], pydantic.Field(alias="deleteOriginal")
|
|
45
|
-
] = False
|
|
46
|
-
r"""Toggle this on to remove each original array of data objects after extraction. If toggled off, arrays are retained."""
|
|
47
|
-
|
|
48
|
-
|
|
49
19
|
class FunctionMvPullTypedDict(TypedDict):
|
|
50
20
|
filename: str
|
|
51
21
|
group: str
|
|
@@ -60,7 +30,7 @@ class FunctionMvPullTypedDict(TypedDict):
|
|
|
60
30
|
disabled: NotRequired[bool]
|
|
61
31
|
handle_signals: NotRequired[bool]
|
|
62
32
|
sync: NotRequired[bool]
|
|
63
|
-
schema_: NotRequired[
|
|
33
|
+
schema_: NotRequired[FunctionConfSchemaMvPullTypedDict]
|
|
64
34
|
|
|
65
35
|
|
|
66
36
|
class FunctionMvPull(BaseModel):
|
|
@@ -95,5 +65,5 @@ class FunctionMvPull(BaseModel):
|
|
|
95
65
|
sync: Optional[bool] = None
|
|
96
66
|
|
|
97
67
|
schema_: Annotated[
|
|
98
|
-
Optional[
|
|
68
|
+
Optional[FunctionConfSchemaMvPull], pydantic.Field(alias="schema")
|
|
99
69
|
] = None
|
|
@@ -1,138 +1,21 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
-
from
|
|
4
|
+
from .functionconfschemanotificationpolicies import (
|
|
5
|
+
FunctionConfSchemaNotificationPolicies,
|
|
6
|
+
FunctionConfSchemaNotificationPoliciesTypedDict,
|
|
7
|
+
)
|
|
5
8
|
from cribl_control_plane.types import BaseModel
|
|
6
|
-
from cribl_control_plane.utils import validate_open_enum
|
|
7
9
|
from enum import Enum
|
|
8
10
|
import pydantic
|
|
9
|
-
from
|
|
10
|
-
from
|
|
11
|
-
from typing import Any, Dict, List, Optional, Union
|
|
12
|
-
from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
|
|
11
|
+
from typing import Any, Dict, Optional
|
|
12
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
class FunctionNotificationPoliciesID(str, Enum):
|
|
16
16
|
NOTIFICATION_POLICIES = "notification_policies"
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
class Operator(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
20
|
-
r"""Comparison operator"""
|
|
21
|
-
|
|
22
|
-
EQUAL = "="
|
|
23
|
-
NOT_EQUAL = "!="
|
|
24
|
-
REGEX_MATCH = "=~"
|
|
25
|
-
REGEX_NOT_MATCH = "!~"
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
ValueTypedDict = TypeAliasType("ValueTypedDict", Union[str, float, bool])
|
|
29
|
-
r"""Value to compare against (string, number, boolean)"""
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
Value = TypeAliasType("Value", Union[str, float, bool])
|
|
33
|
-
r"""Value to compare against (string, number, boolean)"""
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
class ConditionTypedDict(TypedDict):
|
|
37
|
-
key: str
|
|
38
|
-
r"""Event field name to match against"""
|
|
39
|
-
operator: Operator
|
|
40
|
-
r"""Comparison operator"""
|
|
41
|
-
value: ValueTypedDict
|
|
42
|
-
r"""Value to compare against (string, number, boolean)"""
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
class Condition(BaseModel):
|
|
46
|
-
key: str
|
|
47
|
-
r"""Event field name to match against"""
|
|
48
|
-
|
|
49
|
-
operator: Annotated[Operator, PlainValidator(validate_open_enum(False))]
|
|
50
|
-
r"""Comparison operator"""
|
|
51
|
-
|
|
52
|
-
value: Value
|
|
53
|
-
r"""Value to compare against (string, number, boolean)"""
|
|
54
|
-
|
|
55
|
-
@field_serializer("operator")
|
|
56
|
-
def serialize_operator(self, value):
|
|
57
|
-
if isinstance(value, str):
|
|
58
|
-
try:
|
|
59
|
-
return models.Operator(value)
|
|
60
|
-
except ValueError:
|
|
61
|
-
return value
|
|
62
|
-
return value
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
class TemplateTargetPairTypedDict(TypedDict):
|
|
66
|
-
template_id: str
|
|
67
|
-
r"""ID of the notification template to use"""
|
|
68
|
-
target_id: str
|
|
69
|
-
r"""ID of the notification target (output)"""
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
class TemplateTargetPair(BaseModel):
|
|
73
|
-
template_id: Annotated[str, pydantic.Field(alias="templateId")]
|
|
74
|
-
r"""ID of the notification template to use"""
|
|
75
|
-
|
|
76
|
-
target_id: Annotated[str, pydantic.Field(alias="targetId")]
|
|
77
|
-
r"""ID of the notification target (output)"""
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
class PolicyTypedDict(TypedDict):
|
|
81
|
-
id: str
|
|
82
|
-
r"""Unique identifier for this policy"""
|
|
83
|
-
template_target_pairs: List[TemplateTargetPairTypedDict]
|
|
84
|
-
r"""List of targets to route to and the templates to use"""
|
|
85
|
-
disabled: NotRequired[bool]
|
|
86
|
-
r"""If true, this policy will be skipped during evaluation"""
|
|
87
|
-
wait_to_group: NotRequired[float]
|
|
88
|
-
r"""Time to wait (in minutes) to group similar alerts before sending"""
|
|
89
|
-
group_by_labels: NotRequired[List[str]]
|
|
90
|
-
r"""Event fields to use for grouping"""
|
|
91
|
-
conditions: NotRequired[List[List[ConditionTypedDict]]]
|
|
92
|
-
r"""List of conditions. If ANY condition matches (OR), the policy applies. Each condition is a list of tags that must ALL match (AND)."""
|
|
93
|
-
final: NotRequired[bool]
|
|
94
|
-
r"""If true, stop evaluating further policies after this one matches"""
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
class Policy(BaseModel):
|
|
98
|
-
id: str
|
|
99
|
-
r"""Unique identifier for this policy"""
|
|
100
|
-
|
|
101
|
-
template_target_pairs: Annotated[
|
|
102
|
-
List[TemplateTargetPair], pydantic.Field(alias="templateTargetPairs")
|
|
103
|
-
]
|
|
104
|
-
r"""List of targets to route to and the templates to use"""
|
|
105
|
-
|
|
106
|
-
disabled: Optional[bool] = False
|
|
107
|
-
r"""If true, this policy will be skipped during evaluation"""
|
|
108
|
-
|
|
109
|
-
wait_to_group: Annotated[Optional[float], pydantic.Field(alias="waitToGroup")] = (
|
|
110
|
-
None
|
|
111
|
-
)
|
|
112
|
-
r"""Time to wait (in minutes) to group similar alerts before sending"""
|
|
113
|
-
|
|
114
|
-
group_by_labels: Annotated[
|
|
115
|
-
Optional[List[str]], pydantic.Field(alias="groupByLabels")
|
|
116
|
-
] = None
|
|
117
|
-
r"""Event fields to use for grouping"""
|
|
118
|
-
|
|
119
|
-
conditions: Optional[List[List[Condition]]] = None
|
|
120
|
-
r"""List of conditions. If ANY condition matches (OR), the policy applies. Each condition is a list of tags that must ALL match (AND)."""
|
|
121
|
-
|
|
122
|
-
final: Optional[bool] = False
|
|
123
|
-
r"""If true, stop evaluating further policies after this one matches"""
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
class NotificationPoliciesConfigurationTypedDict(TypedDict):
|
|
127
|
-
policies: NotRequired[List[PolicyTypedDict]]
|
|
128
|
-
r"""List of notification routing policies evaluated in order"""
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
class NotificationPoliciesConfiguration(BaseModel):
|
|
132
|
-
policies: Optional[List[Policy]] = None
|
|
133
|
-
r"""List of notification routing policies evaluated in order"""
|
|
134
|
-
|
|
135
|
-
|
|
136
19
|
class FunctionNotificationPoliciesTypedDict(TypedDict):
|
|
137
20
|
filename: str
|
|
138
21
|
group: str
|
|
@@ -147,7 +30,7 @@ class FunctionNotificationPoliciesTypedDict(TypedDict):
|
|
|
147
30
|
disabled: NotRequired[bool]
|
|
148
31
|
handle_signals: NotRequired[bool]
|
|
149
32
|
sync: NotRequired[bool]
|
|
150
|
-
schema_: NotRequired[
|
|
33
|
+
schema_: NotRequired[FunctionConfSchemaNotificationPoliciesTypedDict]
|
|
151
34
|
|
|
152
35
|
|
|
153
36
|
class FunctionNotificationPolicies(BaseModel):
|
|
@@ -182,5 +65,5 @@ class FunctionNotificationPolicies(BaseModel):
|
|
|
182
65
|
sync: Optional[bool] = None
|
|
183
66
|
|
|
184
67
|
schema_: Annotated[
|
|
185
|
-
Optional[
|
|
68
|
+
Optional[FunctionConfSchemaNotificationPolicies], pydantic.Field(alias="schema")
|
|
186
69
|
] = None
|