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,20 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .savedjob import SavedJob, SavedJobTypedDict
|
|
5
|
+
from cribl_control_plane.types import BaseModel
|
|
6
|
+
from typing import List, Optional
|
|
7
|
+
from typing_extensions import NotRequired, TypedDict
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class CountedSavedJobTypedDict(TypedDict):
|
|
11
|
+
count: NotRequired[int]
|
|
12
|
+
r"""number of items present in the items array"""
|
|
13
|
+
items: NotRequired[List[SavedJobTypedDict]]
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class CountedSavedJob(BaseModel):
|
|
17
|
+
count: Optional[int] = None
|
|
18
|
+
r"""number of items present in the items array"""
|
|
19
|
+
|
|
20
|
+
items: Optional[List[SavedJob]] = None
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .savedjob import SavedJob, SavedJobTypedDict
|
|
5
|
+
from cribl_control_plane.types import BaseModel
|
|
6
|
+
from cribl_control_plane.utils import FieldMetadata, QueryParamMetadata, RequestMetadata
|
|
7
|
+
import pydantic
|
|
8
|
+
from typing import Optional
|
|
9
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class CreateSavedJobRequestTypedDict(TypedDict):
|
|
13
|
+
saved_job: SavedJobTypedDict
|
|
14
|
+
r"""SavedJob object"""
|
|
15
|
+
cribl_pack: NotRequired[str]
|
|
16
|
+
r"""The <code>id</code> of the Pack to create the Collector in."""
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class CreateSavedJobRequest(BaseModel):
|
|
20
|
+
saved_job: Annotated[
|
|
21
|
+
SavedJob, FieldMetadata(request=RequestMetadata(media_type="application/json"))
|
|
22
|
+
]
|
|
23
|
+
r"""SavedJob object"""
|
|
24
|
+
|
|
25
|
+
cribl_pack: Annotated[
|
|
26
|
+
Optional[str],
|
|
27
|
+
pydantic.Field(alias="criblPack"),
|
|
28
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
29
|
+
] = None
|
|
30
|
+
r"""The <code>id</code> of the Pack to create the Collector in."""
|
|
@@ -0,0 +1,42 @@
|
|
|
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 cribl_control_plane.utils import (
|
|
6
|
+
FieldMetadata,
|
|
7
|
+
PathParamMetadata,
|
|
8
|
+
QueryParamMetadata,
|
|
9
|
+
)
|
|
10
|
+
import pydantic
|
|
11
|
+
from typing import Optional
|
|
12
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class DeleteSavedJobByIDRequestTypedDict(TypedDict):
|
|
16
|
+
id: str
|
|
17
|
+
r"""The <code>id</code> of the Collector to delete."""
|
|
18
|
+
cribl_pack: NotRequired[str]
|
|
19
|
+
r"""The <code>id</code> of the Pack that includes the Collector to delete."""
|
|
20
|
+
group_id: NotRequired[str]
|
|
21
|
+
r"""The <code>id</code> of the Worker Group that includes the Collector to delete."""
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class DeleteSavedJobByIDRequest(BaseModel):
|
|
25
|
+
id: Annotated[
|
|
26
|
+
str, FieldMetadata(path=PathParamMetadata(style="simple", explode=False))
|
|
27
|
+
]
|
|
28
|
+
r"""The <code>id</code> of the Collector to delete."""
|
|
29
|
+
|
|
30
|
+
cribl_pack: Annotated[
|
|
31
|
+
Optional[str],
|
|
32
|
+
pydantic.Field(alias="criblPack"),
|
|
33
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
34
|
+
] = None
|
|
35
|
+
r"""The <code>id</code> of the Pack that includes the Collector to delete."""
|
|
36
|
+
|
|
37
|
+
group_id: Annotated[
|
|
38
|
+
Optional[str],
|
|
39
|
+
pydantic.Field(alias="groupId"),
|
|
40
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
41
|
+
] = None
|
|
42
|
+
r"""The <code>id</code> of the Worker Group that includes the Collector to delete."""
|
|
@@ -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 .functionconfschemaaggregatemetrics import (
|
|
5
|
+
FunctionConfSchemaAggregateMetrics,
|
|
6
|
+
FunctionConfSchemaAggregateMetricsTypedDict,
|
|
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,143 +16,6 @@ class FunctionAggregateMetricsID(str, Enum):
|
|
|
16
16
|
AGGREGATE_METRICS = "aggregate_metrics"
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
class FunctionAggregateMetricsMetricType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
20
|
-
r"""The output metric type"""
|
|
21
|
-
|
|
22
|
-
AUTOMATIC = "automatic"
|
|
23
|
-
COUNTER = "counter"
|
|
24
|
-
DISTRIBUTION = "distribution"
|
|
25
|
-
GAUGE = "gauge"
|
|
26
|
-
HISTOGRAM = "histogram"
|
|
27
|
-
SUMMARY = "summary"
|
|
28
|
-
TIMER = "timer"
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
class AggregationTypedDict(TypedDict):
|
|
32
|
-
agg: str
|
|
33
|
-
r"""Aggregate function to perform on events. Example: sum(bytes).where(action=='REJECT').as(TotalBytes)"""
|
|
34
|
-
metric_type: NotRequired[FunctionAggregateMetricsMetricType]
|
|
35
|
-
r"""The output metric type"""
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
class Aggregation(BaseModel):
|
|
39
|
-
agg: str
|
|
40
|
-
r"""Aggregate function to perform on events. Example: sum(bytes).where(action=='REJECT').as(TotalBytes)"""
|
|
41
|
-
|
|
42
|
-
metric_type: Annotated[
|
|
43
|
-
Annotated[
|
|
44
|
-
Optional[FunctionAggregateMetricsMetricType],
|
|
45
|
-
PlainValidator(validate_open_enum(False)),
|
|
46
|
-
],
|
|
47
|
-
pydantic.Field(alias="metricType"),
|
|
48
|
-
] = FunctionAggregateMetricsMetricType.AUTOMATIC
|
|
49
|
-
r"""The output metric type"""
|
|
50
|
-
|
|
51
|
-
@field_serializer("metric_type")
|
|
52
|
-
def serialize_metric_type(self, value):
|
|
53
|
-
if isinstance(value, str):
|
|
54
|
-
try:
|
|
55
|
-
return models.FunctionAggregateMetricsMetricType(value)
|
|
56
|
-
except ValueError:
|
|
57
|
-
return value
|
|
58
|
-
return value
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
class FunctionAggregateMetricsAddTypedDict(TypedDict):
|
|
62
|
-
value: str
|
|
63
|
-
r"""JavaScript expression to compute the value (can be constant)"""
|
|
64
|
-
name: NotRequired[str]
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
class FunctionAggregateMetricsAdd(BaseModel):
|
|
68
|
-
value: str
|
|
69
|
-
r"""JavaScript expression to compute the value (can be constant)"""
|
|
70
|
-
|
|
71
|
-
name: Optional[str] = None
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
class FunctionAggregateMetricsSchemaTypedDict(TypedDict):
|
|
75
|
-
aggregations: List[AggregationTypedDict]
|
|
76
|
-
r"""Combination of Aggregation function and output metric type"""
|
|
77
|
-
passthrough: NotRequired[bool]
|
|
78
|
-
r"""Pass through the original events along with the aggregation events"""
|
|
79
|
-
preserve_group_bys: NotRequired[bool]
|
|
80
|
-
r"""Preserve the structure of the original aggregation event's groupby fields"""
|
|
81
|
-
sufficient_stats_only: NotRequired[bool]
|
|
82
|
-
r"""Output only statistics that are sufficient for the supplied aggregations"""
|
|
83
|
-
prefix: NotRequired[str]
|
|
84
|
-
r"""A prefix that is prepended to all of the fields output by this Aggregations Function"""
|
|
85
|
-
time_window: NotRequired[str]
|
|
86
|
-
r"""The time span of the tumbling window for aggregating events. Must be a valid time string (such as 10s)."""
|
|
87
|
-
groupbys: NotRequired[List[str]]
|
|
88
|
-
r"""Optional: One or more dimensions to group aggregates by. Supports wildcard expressions. Wrap dimension names in quotes if using literal identifiers, such as 'service.name'. Warning: Using wildcard '*' causes all dimensions in the event to be included, which can result in high cardinality and increased memory usage. Exclude dimensions that can result in high cardinality before using wildcards. Example: !_time, !_numericValue, *"""
|
|
89
|
-
flush_event_limit: NotRequired[float]
|
|
90
|
-
r"""The maximum number of events to include in any given aggregation event"""
|
|
91
|
-
flush_mem_limit: NotRequired[str]
|
|
92
|
-
r"""The memory usage limit to impose upon aggregations. Defaults to 80% of the process memory; value configured above default limit is ignored. Accepts numerals with units like KB and MB (example: 128MB)."""
|
|
93
|
-
cumulative: NotRequired[bool]
|
|
94
|
-
r"""Enable to retain aggregations for cumulative aggregations when flushing out an aggregation table event. When disabled (the default), aggregations are reset to 0 on flush."""
|
|
95
|
-
should_treat_dots_as_literals: NotRequired[bool]
|
|
96
|
-
r"""Treat dots in dimension names as literals. This is useful for top-level dimensions that contain dots, such as 'service.name'."""
|
|
97
|
-
add: NotRequired[List[FunctionAggregateMetricsAddTypedDict]]
|
|
98
|
-
r"""Set of key-value pairs to evaluate and add/set"""
|
|
99
|
-
flush_on_input_close: NotRequired[bool]
|
|
100
|
-
r"""Flush aggregations when an input stream is closed. If disabled, Time Window Settings control flush behavior."""
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
class FunctionAggregateMetricsSchema(BaseModel):
|
|
104
|
-
aggregations: List[Aggregation]
|
|
105
|
-
r"""Combination of Aggregation function and output metric type"""
|
|
106
|
-
|
|
107
|
-
passthrough: Optional[bool] = False
|
|
108
|
-
r"""Pass through the original events along with the aggregation events"""
|
|
109
|
-
|
|
110
|
-
preserve_group_bys: Annotated[
|
|
111
|
-
Optional[bool], pydantic.Field(alias="preserveGroupBys")
|
|
112
|
-
] = False
|
|
113
|
-
r"""Preserve the structure of the original aggregation event's groupby fields"""
|
|
114
|
-
|
|
115
|
-
sufficient_stats_only: Annotated[
|
|
116
|
-
Optional[bool], pydantic.Field(alias="sufficientStatsOnly")
|
|
117
|
-
] = False
|
|
118
|
-
r"""Output only statistics that are sufficient for the supplied aggregations"""
|
|
119
|
-
|
|
120
|
-
prefix: Optional[str] = None
|
|
121
|
-
r"""A prefix that is prepended to all of the fields output by this Aggregations Function"""
|
|
122
|
-
|
|
123
|
-
time_window: Annotated[Optional[str], pydantic.Field(alias="timeWindow")] = "10s"
|
|
124
|
-
r"""The time span of the tumbling window for aggregating events. Must be a valid time string (such as 10s)."""
|
|
125
|
-
|
|
126
|
-
groupbys: Optional[List[str]] = None
|
|
127
|
-
r"""Optional: One or more dimensions to group aggregates by. Supports wildcard expressions. Wrap dimension names in quotes if using literal identifiers, such as 'service.name'. Warning: Using wildcard '*' causes all dimensions in the event to be included, which can result in high cardinality and increased memory usage. Exclude dimensions that can result in high cardinality before using wildcards. Example: !_time, !_numericValue, *"""
|
|
128
|
-
|
|
129
|
-
flush_event_limit: Annotated[
|
|
130
|
-
Optional[float], pydantic.Field(alias="flushEventLimit")
|
|
131
|
-
] = None
|
|
132
|
-
r"""The maximum number of events to include in any given aggregation event"""
|
|
133
|
-
|
|
134
|
-
flush_mem_limit: Annotated[Optional[str], pydantic.Field(alias="flushMemLimit")] = (
|
|
135
|
-
None
|
|
136
|
-
)
|
|
137
|
-
r"""The memory usage limit to impose upon aggregations. Defaults to 80% of the process memory; value configured above default limit is ignored. Accepts numerals with units like KB and MB (example: 128MB)."""
|
|
138
|
-
|
|
139
|
-
cumulative: Optional[bool] = False
|
|
140
|
-
r"""Enable to retain aggregations for cumulative aggregations when flushing out an aggregation table event. When disabled (the default), aggregations are reset to 0 on flush."""
|
|
141
|
-
|
|
142
|
-
should_treat_dots_as_literals: Annotated[
|
|
143
|
-
Optional[bool], pydantic.Field(alias="shouldTreatDotsAsLiterals")
|
|
144
|
-
] = True
|
|
145
|
-
r"""Treat dots in dimension names as literals. This is useful for top-level dimensions that contain dots, such as 'service.name'."""
|
|
146
|
-
|
|
147
|
-
add: Optional[List[FunctionAggregateMetricsAdd]] = None
|
|
148
|
-
r"""Set of key-value pairs to evaluate and add/set"""
|
|
149
|
-
|
|
150
|
-
flush_on_input_close: Annotated[
|
|
151
|
-
Optional[bool], pydantic.Field(alias="flushOnInputClose")
|
|
152
|
-
] = True
|
|
153
|
-
r"""Flush aggregations when an input stream is closed. If disabled, Time Window Settings control flush behavior."""
|
|
154
|
-
|
|
155
|
-
|
|
156
19
|
class FunctionAggregateMetricsTypedDict(TypedDict):
|
|
157
20
|
filename: str
|
|
158
21
|
group: str
|
|
@@ -167,7 +30,7 @@ class FunctionAggregateMetricsTypedDict(TypedDict):
|
|
|
167
30
|
disabled: NotRequired[bool]
|
|
168
31
|
handle_signals: NotRequired[bool]
|
|
169
32
|
sync: NotRequired[bool]
|
|
170
|
-
schema_: NotRequired[
|
|
33
|
+
schema_: NotRequired[FunctionConfSchemaAggregateMetricsTypedDict]
|
|
171
34
|
|
|
172
35
|
|
|
173
36
|
class FunctionAggregateMetrics(BaseModel):
|
|
@@ -202,5 +65,5 @@ class FunctionAggregateMetrics(BaseModel):
|
|
|
202
65
|
sync: Optional[bool] = None
|
|
203
66
|
|
|
204
67
|
schema_: Annotated[
|
|
205
|
-
Optional[
|
|
68
|
+
Optional[FunctionConfSchemaAggregateMetrics], pydantic.Field(alias="schema")
|
|
206
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 .functionconfschemaaggregation import (
|
|
5
|
+
FunctionConfSchemaAggregation,
|
|
6
|
+
FunctionConfSchemaAggregationTypedDict,
|
|
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,113 +16,6 @@ class FunctionAggregationID(str, Enum):
|
|
|
12
16
|
AGGREGATION = "aggregation"
|
|
13
17
|
|
|
14
18
|
|
|
15
|
-
class FunctionAggregationAddTypedDict(TypedDict):
|
|
16
|
-
value: str
|
|
17
|
-
r"""JavaScript expression to compute the value (can be constant)"""
|
|
18
|
-
name: NotRequired[str]
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
class FunctionAggregationAdd(BaseModel):
|
|
22
|
-
value: str
|
|
23
|
-
r"""JavaScript expression to compute the value (can be constant)"""
|
|
24
|
-
|
|
25
|
-
name: Optional[str] = None
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
class FunctionAggregationSchemaTypedDict(TypedDict):
|
|
29
|
-
aggregations: List[str]
|
|
30
|
-
r"""Aggregate function to perform on events. Example: sum(bytes).where(action=='REJECT').as(TotalBytes)"""
|
|
31
|
-
passthrough: NotRequired[bool]
|
|
32
|
-
r"""Pass through the original events along with the aggregation events"""
|
|
33
|
-
preserve_group_bys: NotRequired[bool]
|
|
34
|
-
r"""Preserve the structure of the original aggregation event's groupby fields"""
|
|
35
|
-
sufficient_stats_only: NotRequired[bool]
|
|
36
|
-
r"""Output only statistics that are sufficient for the supplied aggregations"""
|
|
37
|
-
metrics_mode: NotRequired[bool]
|
|
38
|
-
r"""Enable to output the aggregates as metrics. When disabled, aggregates are output as events."""
|
|
39
|
-
prefix: NotRequired[str]
|
|
40
|
-
r"""A prefix that is prepended to all of the fields output by this Aggregations Function"""
|
|
41
|
-
time_window: NotRequired[str]
|
|
42
|
-
r"""The time span of the tumbling window for aggregating events. Must be a valid time string (such as 10s)."""
|
|
43
|
-
groupbys: NotRequired[List[str]]
|
|
44
|
-
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, *"""
|
|
45
|
-
flush_event_limit: NotRequired[float]
|
|
46
|
-
r"""The maximum number of events to include in any given aggregation event"""
|
|
47
|
-
flush_mem_limit: NotRequired[str]
|
|
48
|
-
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)."""
|
|
49
|
-
cumulative: NotRequired[bool]
|
|
50
|
-
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."""
|
|
51
|
-
search_agg_mode: NotRequired[str]
|
|
52
|
-
r"""Allows Cribl Search-specific aggregation configuration"""
|
|
53
|
-
add: NotRequired[List[FunctionAggregationAddTypedDict]]
|
|
54
|
-
r"""Set of key-value pairs to evaluate and add/set"""
|
|
55
|
-
should_treat_dots_as_literals: NotRequired[bool]
|
|
56
|
-
r"""Treat dots in dimension names as literals. This is useful for top-level dimensions that contain dots, such as 'service.name'."""
|
|
57
|
-
flush_on_input_close: NotRequired[bool]
|
|
58
|
-
r"""Flush aggregations when an input stream is closed. If disabled, Time Window Settings control flush behavior."""
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
class FunctionAggregationSchema(BaseModel):
|
|
62
|
-
aggregations: List[str]
|
|
63
|
-
r"""Aggregate function to perform on events. Example: sum(bytes).where(action=='REJECT').as(TotalBytes)"""
|
|
64
|
-
|
|
65
|
-
passthrough: Optional[bool] = False
|
|
66
|
-
r"""Pass through the original events along with the aggregation events"""
|
|
67
|
-
|
|
68
|
-
preserve_group_bys: Annotated[
|
|
69
|
-
Optional[bool], pydantic.Field(alias="preserveGroupBys")
|
|
70
|
-
] = False
|
|
71
|
-
r"""Preserve the structure of the original aggregation event's groupby fields"""
|
|
72
|
-
|
|
73
|
-
sufficient_stats_only: Annotated[
|
|
74
|
-
Optional[bool], pydantic.Field(alias="sufficientStatsOnly")
|
|
75
|
-
] = False
|
|
76
|
-
r"""Output only statistics that are sufficient for the supplied aggregations"""
|
|
77
|
-
|
|
78
|
-
metrics_mode: Annotated[Optional[bool], pydantic.Field(alias="metricsMode")] = False
|
|
79
|
-
r"""Enable to output the aggregates as metrics. When disabled, aggregates are output as events."""
|
|
80
|
-
|
|
81
|
-
prefix: Optional[str] = None
|
|
82
|
-
r"""A prefix that is prepended to all of the fields output by this Aggregations Function"""
|
|
83
|
-
|
|
84
|
-
time_window: Annotated[Optional[str], pydantic.Field(alias="timeWindow")] = "10s"
|
|
85
|
-
r"""The time span of the tumbling window for aggregating events. Must be a valid time string (such as 10s)."""
|
|
86
|
-
|
|
87
|
-
groupbys: Optional[List[str]] = None
|
|
88
|
-
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, *"""
|
|
89
|
-
|
|
90
|
-
flush_event_limit: Annotated[
|
|
91
|
-
Optional[float], pydantic.Field(alias="flushEventLimit")
|
|
92
|
-
] = None
|
|
93
|
-
r"""The maximum number of events to include in any given aggregation event"""
|
|
94
|
-
|
|
95
|
-
flush_mem_limit: Annotated[Optional[str], pydantic.Field(alias="flushMemLimit")] = (
|
|
96
|
-
None
|
|
97
|
-
)
|
|
98
|
-
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)."""
|
|
99
|
-
|
|
100
|
-
cumulative: Optional[bool] = False
|
|
101
|
-
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."""
|
|
102
|
-
|
|
103
|
-
search_agg_mode: Annotated[Optional[str], pydantic.Field(alias="searchAggMode")] = (
|
|
104
|
-
None
|
|
105
|
-
)
|
|
106
|
-
r"""Allows Cribl Search-specific aggregation configuration"""
|
|
107
|
-
|
|
108
|
-
add: Optional[List[FunctionAggregationAdd]] = None
|
|
109
|
-
r"""Set of key-value pairs to evaluate and add/set"""
|
|
110
|
-
|
|
111
|
-
should_treat_dots_as_literals: Annotated[
|
|
112
|
-
Optional[bool], pydantic.Field(alias="shouldTreatDotsAsLiterals")
|
|
113
|
-
] = False
|
|
114
|
-
r"""Treat dots in dimension names as literals. This is useful for top-level dimensions that contain dots, such as 'service.name'."""
|
|
115
|
-
|
|
116
|
-
flush_on_input_close: Annotated[
|
|
117
|
-
Optional[bool], pydantic.Field(alias="flushOnInputClose")
|
|
118
|
-
] = True
|
|
119
|
-
r"""Flush aggregations when an input stream is closed. If disabled, Time Window Settings control flush behavior."""
|
|
120
|
-
|
|
121
|
-
|
|
122
19
|
class FunctionAggregationTypedDict(TypedDict):
|
|
123
20
|
filename: str
|
|
124
21
|
group: str
|
|
@@ -133,7 +30,7 @@ class FunctionAggregationTypedDict(TypedDict):
|
|
|
133
30
|
disabled: NotRequired[bool]
|
|
134
31
|
handle_signals: NotRequired[bool]
|
|
135
32
|
sync: NotRequired[bool]
|
|
136
|
-
schema_: NotRequired[
|
|
33
|
+
schema_: NotRequired[FunctionConfSchemaAggregationTypedDict]
|
|
137
34
|
|
|
138
35
|
|
|
139
36
|
class FunctionAggregation(BaseModel):
|
|
@@ -168,5 +65,5 @@ class FunctionAggregation(BaseModel):
|
|
|
168
65
|
sync: Optional[bool] = None
|
|
169
66
|
|
|
170
67
|
schema_: Annotated[
|
|
171
|
-
Optional[
|
|
68
|
+
Optional[FunctionConfSchemaAggregation], pydantic.Field(alias="schema")
|
|
172
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 .functionconfschemaautotimestamp import (
|
|
5
|
+
FunctionConfSchemaAutoTimestamp,
|
|
6
|
+
FunctionConfSchemaAutoTimestampTypedDict,
|
|
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,110 +16,6 @@ class FunctionAutoTimestampID(str, Enum):
|
|
|
16
16
|
AUTO_TIMESTAMP = "auto_timestamp"
|
|
17
17
|
|
|
18
18
|
|
|
19
|
-
class DefaultTime(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
20
|
-
r"""How to set the time field if no timestamp is found"""
|
|
21
|
-
|
|
22
|
-
# Current Time
|
|
23
|
-
NOW = "now"
|
|
24
|
-
# Last Event's Time
|
|
25
|
-
LAST = "last"
|
|
26
|
-
# None
|
|
27
|
-
NONE = "none"
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
class TimestampTypedDict(TypedDict):
|
|
31
|
-
regex: str
|
|
32
|
-
r"""Regex with first capturing group matching the timestamp"""
|
|
33
|
-
strptime: str
|
|
34
|
-
r"""Select or enter strptime format for the captured timestamp"""
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
class Timestamp(BaseModel):
|
|
38
|
-
regex: str
|
|
39
|
-
r"""Regex with first capturing group matching the timestamp"""
|
|
40
|
-
|
|
41
|
-
strptime: str
|
|
42
|
-
r"""Select or enter strptime format for the captured timestamp"""
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
class FunctionAutoTimestampSchemaTypedDict(TypedDict):
|
|
46
|
-
src_field: NotRequired[str]
|
|
47
|
-
r"""Field to search for a timestamp"""
|
|
48
|
-
dst_field: NotRequired[str]
|
|
49
|
-
r"""Field to place timestamp in"""
|
|
50
|
-
default_timezone: NotRequired[str]
|
|
51
|
-
r"""Timezone to assign to timestamps without timezone info"""
|
|
52
|
-
time_expression: NotRequired[str]
|
|
53
|
-
r"""Expression to use to format time. Current time, as a JavaScript Date object, is in global `time`. You can access other fields' values via __e.<fieldName>."""
|
|
54
|
-
offset: NotRequired[float]
|
|
55
|
-
r"""The offset into the string from which to look for a timestamp"""
|
|
56
|
-
max_len: NotRequired[float]
|
|
57
|
-
r"""Maximum string length at which to look for a timestamp"""
|
|
58
|
-
default_time: NotRequired[DefaultTime]
|
|
59
|
-
r"""How to set the time field if no timestamp is found"""
|
|
60
|
-
latest_date_allowed: NotRequired[str]
|
|
61
|
-
r"""The latest timestamp value allowed relative to now, such as +42days. Parsed values after this date will be set to the Default time."""
|
|
62
|
-
spacer: NotRequired[str]
|
|
63
|
-
earliest_date_allowed: NotRequired[str]
|
|
64
|
-
r"""The earliest timestamp value allowed relative to now, such as -42years. Parsed values prior to this date will be set to the Default time."""
|
|
65
|
-
timestamps: NotRequired[List[TimestampTypedDict]]
|
|
66
|
-
r"""Add regex/strptime pairs to extract additional timestamp formats"""
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
class FunctionAutoTimestampSchema(BaseModel):
|
|
70
|
-
src_field: Annotated[Optional[str], pydantic.Field(alias="srcField")] = "_raw"
|
|
71
|
-
r"""Field to search for a timestamp"""
|
|
72
|
-
|
|
73
|
-
dst_field: Annotated[Optional[str], pydantic.Field(alias="dstField")] = "_time"
|
|
74
|
-
r"""Field to place timestamp in"""
|
|
75
|
-
|
|
76
|
-
default_timezone: Annotated[
|
|
77
|
-
Optional[str], pydantic.Field(alias="defaultTimezone")
|
|
78
|
-
] = "local"
|
|
79
|
-
r"""Timezone to assign to timestamps without timezone info"""
|
|
80
|
-
|
|
81
|
-
time_expression: Annotated[
|
|
82
|
-
Optional[str], pydantic.Field(alias="timeExpression")
|
|
83
|
-
] = "time.getTime() / 1000"
|
|
84
|
-
r"""Expression to use to format time. Current time, as a JavaScript Date object, is in global `time`. You can access other fields' values via __e.<fieldName>."""
|
|
85
|
-
|
|
86
|
-
offset: Optional[float] = 0
|
|
87
|
-
r"""The offset into the string from which to look for a timestamp"""
|
|
88
|
-
|
|
89
|
-
max_len: Annotated[Optional[float], pydantic.Field(alias="maxLen")] = 150
|
|
90
|
-
r"""Maximum string length at which to look for a timestamp"""
|
|
91
|
-
|
|
92
|
-
default_time: Annotated[
|
|
93
|
-
Annotated[Optional[DefaultTime], PlainValidator(validate_open_enum(False))],
|
|
94
|
-
pydantic.Field(alias="defaultTime"),
|
|
95
|
-
] = DefaultTime.NOW
|
|
96
|
-
r"""How to set the time field if no timestamp is found"""
|
|
97
|
-
|
|
98
|
-
latest_date_allowed: Annotated[
|
|
99
|
-
Optional[str], pydantic.Field(alias="latestDateAllowed")
|
|
100
|
-
] = "+1week"
|
|
101
|
-
r"""The latest timestamp value allowed relative to now, such as +42days. Parsed values after this date will be set to the Default time."""
|
|
102
|
-
|
|
103
|
-
spacer: Optional[str] = None
|
|
104
|
-
|
|
105
|
-
earliest_date_allowed: Annotated[
|
|
106
|
-
Optional[str], pydantic.Field(alias="earliestDateAllowed")
|
|
107
|
-
] = "-420weeks"
|
|
108
|
-
r"""The earliest timestamp value allowed relative to now, such as -42years. Parsed values prior to this date will be set to the Default time."""
|
|
109
|
-
|
|
110
|
-
timestamps: Optional[List[Timestamp]] = None
|
|
111
|
-
r"""Add regex/strptime pairs to extract additional timestamp formats"""
|
|
112
|
-
|
|
113
|
-
@field_serializer("default_time")
|
|
114
|
-
def serialize_default_time(self, value):
|
|
115
|
-
if isinstance(value, str):
|
|
116
|
-
try:
|
|
117
|
-
return models.DefaultTime(value)
|
|
118
|
-
except ValueError:
|
|
119
|
-
return value
|
|
120
|
-
return value
|
|
121
|
-
|
|
122
|
-
|
|
123
19
|
class FunctionAutoTimestampTypedDict(TypedDict):
|
|
124
20
|
filename: str
|
|
125
21
|
group: str
|
|
@@ -134,7 +30,7 @@ class FunctionAutoTimestampTypedDict(TypedDict):
|
|
|
134
30
|
disabled: NotRequired[bool]
|
|
135
31
|
handle_signals: NotRequired[bool]
|
|
136
32
|
sync: NotRequired[bool]
|
|
137
|
-
schema_: NotRequired[
|
|
33
|
+
schema_: NotRequired[FunctionConfSchemaAutoTimestampTypedDict]
|
|
138
34
|
|
|
139
35
|
|
|
140
36
|
class FunctionAutoTimestamp(BaseModel):
|
|
@@ -169,5 +65,5 @@ class FunctionAutoTimestamp(BaseModel):
|
|
|
169
65
|
sync: Optional[bool] = None
|
|
170
66
|
|
|
171
67
|
schema_: Annotated[
|
|
172
|
-
Optional[
|
|
68
|
+
Optional[FunctionConfSchemaAutoTimestamp], pydantic.Field(alias="schema")
|
|
173
69
|
] = None
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
+
from .functionconfschemacef import FunctionConfSchemaCef, FunctionConfSchemaCefTypedDict
|
|
4
5
|
from cribl_control_plane.types import BaseModel
|
|
5
6
|
from enum import Enum
|
|
6
7
|
import pydantic
|
|
7
|
-
from typing import Any, Dict,
|
|
8
|
+
from typing import Any, Dict, Optional
|
|
8
9
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
10
|
|
|
10
11
|
|
|
@@ -12,52 +13,6 @@ class FunctionCefID(str, Enum):
|
|
|
12
13
|
CEF = "cef"
|
|
13
14
|
|
|
14
15
|
|
|
15
|
-
class HeaderTypedDict(TypedDict):
|
|
16
|
-
value: str
|
|
17
|
-
r"""JavaScript expression to compute the value (can be constant)"""
|
|
18
|
-
name: NotRequired[str]
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
class Header(BaseModel):
|
|
22
|
-
value: str
|
|
23
|
-
r"""JavaScript expression to compute the value (can be constant)"""
|
|
24
|
-
|
|
25
|
-
name: Optional[str] = None
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
class ExtensionTypedDict(TypedDict):
|
|
29
|
-
name: str
|
|
30
|
-
value: str
|
|
31
|
-
r"""JavaScript expression to compute the value (can be constant)"""
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
class Extension(BaseModel):
|
|
35
|
-
name: str
|
|
36
|
-
|
|
37
|
-
value: str
|
|
38
|
-
r"""JavaScript expression to compute the value (can be constant)"""
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
class FunctionCefSchemaTypedDict(TypedDict):
|
|
42
|
-
output_field: NotRequired[str]
|
|
43
|
-
r"""The field to which the CEF formatted event will be output"""
|
|
44
|
-
header: NotRequired[List[HeaderTypedDict]]
|
|
45
|
-
r"""Set of header key/value pairs"""
|
|
46
|
-
extension: NotRequired[List[ExtensionTypedDict]]
|
|
47
|
-
r"""Set of extension key-value pairs"""
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
class FunctionCefSchema(BaseModel):
|
|
51
|
-
output_field: Annotated[Optional[str], pydantic.Field(alias="outputField")] = "_raw"
|
|
52
|
-
r"""The field to which the CEF formatted event will be output"""
|
|
53
|
-
|
|
54
|
-
header: Optional[List[Header]] = None
|
|
55
|
-
r"""Set of header key/value pairs"""
|
|
56
|
-
|
|
57
|
-
extension: Optional[List[Extension]] = None
|
|
58
|
-
r"""Set of extension key-value pairs"""
|
|
59
|
-
|
|
60
|
-
|
|
61
16
|
class FunctionCefTypedDict(TypedDict):
|
|
62
17
|
filename: str
|
|
63
18
|
group: str
|
|
@@ -72,7 +27,7 @@ class FunctionCefTypedDict(TypedDict):
|
|
|
72
27
|
disabled: NotRequired[bool]
|
|
73
28
|
handle_signals: NotRequired[bool]
|
|
74
29
|
sync: NotRequired[bool]
|
|
75
|
-
schema_: NotRequired[
|
|
30
|
+
schema_: NotRequired[FunctionConfSchemaCefTypedDict]
|
|
76
31
|
|
|
77
32
|
|
|
78
33
|
class FunctionCef(BaseModel):
|
|
@@ -106,6 +61,6 @@ class FunctionCef(BaseModel):
|
|
|
106
61
|
|
|
107
62
|
sync: Optional[bool] = None
|
|
108
63
|
|
|
109
|
-
schema_: Annotated[
|
|
110
|
-
|
|
111
|
-
|
|
64
|
+
schema_: Annotated[
|
|
65
|
+
Optional[FunctionConfSchemaCef], pydantic.Field(alias="schema")
|
|
66
|
+
] = None
|