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.
Files changed (229) hide show
  1. cribl_control_plane/_version.py +3 -3
  2. cribl_control_plane/collectors_sdk.py +993 -0
  3. cribl_control_plane/models/__init__.py +2161 -734
  4. cribl_control_plane/models/configgroup.py +3 -0
  5. cribl_control_plane/models/countedsavedjob.py +20 -0
  6. cribl_control_plane/models/createsavedjobop.py +30 -0
  7. cribl_control_plane/models/deletesavedjobbyidop.py +42 -0
  8. cribl_control_plane/models/functionaggregatemetrics.py +7 -144
  9. cribl_control_plane/models/functionaggregation.py +7 -110
  10. cribl_control_plane/models/functionautotimestamp.py +7 -111
  11. cribl_control_plane/models/functioncef.py +6 -51
  12. cribl_control_plane/models/functionchain.py +6 -12
  13. cribl_control_plane/models/functionclone.py +7 -13
  14. cribl_control_plane/models/functioncode.py +8 -35
  15. cribl_control_plane/models/functioncomment.py +6 -12
  16. cribl_control_plane/models/functionconfschemaaggregatemetrics.py +153 -0
  17. cribl_control_plane/models/functionconfschemaaggregation.py +114 -0
  18. cribl_control_plane/models/functionconfschemaautotimestamp.py +116 -0
  19. cribl_control_plane/models/functionconfschemacef.py +83 -0
  20. cribl_control_plane/models/functionconfschemachain.py +16 -0
  21. cribl_control_plane/models/functionconfschemaclone.py +16 -0
  22. cribl_control_plane/models/functionconfschemacode.py +38 -0
  23. cribl_control_plane/models/functionconfschemacomment.py +16 -0
  24. cribl_control_plane/models/functionconfschemadistinct.py +41 -0
  25. cribl_control_plane/models/functionconfschemadnslookup.py +193 -0
  26. cribl_control_plane/models/functionconfschemadrop.py +13 -0
  27. cribl_control_plane/models/functionconfschemadropdimensions.py +31 -0
  28. cribl_control_plane/models/functionconfschemadynamicsampling.py +67 -0
  29. cribl_control_plane/models/functionconfschemaeval.py +44 -0
  30. cribl_control_plane/models/functionconfschemaeventbreaker.py +51 -0
  31. cribl_control_plane/models/functionconfschemaeventstats.py +34 -0
  32. cribl_control_plane/models/functionconfschemaexternaldata.py +13 -0
  33. cribl_control_plane/models/functionconfschemaflatten.py +31 -0
  34. cribl_control_plane/models/functionconfschemafoldkeys.py +31 -0
  35. cribl_control_plane/models/functionconfschemagenstats.py +14 -0
  36. cribl_control_plane/models/functionconfschemageoip.py +66 -0
  37. cribl_control_plane/models/functionconfschemagrok.py +38 -0
  38. cribl_control_plane/models/functionconfschemahandlebar.py +56 -0
  39. cribl_control_plane/models/functionconfschemajoin.py +55 -0
  40. cribl_control_plane/models/functionconfschemajsonunroll.py +21 -0
  41. cribl_control_plane/models/functionconfschemalakeexport.py +44 -0
  42. cribl_control_plane/models/functionconfschemalimit.py +16 -0
  43. cribl_control_plane/models/functionconfschemalocalsearchdatatypeparser.py +17 -0
  44. cribl_control_plane/models/functionconfschemalocalsearchrulesetrunner.py +40 -0
  45. cribl_control_plane/models/functionconfschemalookup.py +92 -0
  46. cribl_control_plane/models/functionconfschemamask.py +63 -0
  47. cribl_control_plane/models/functionconfschemamvexpand.py +76 -0
  48. cribl_control_plane/models/functionconfschemamvpull.py +45 -0
  49. cribl_control_plane/models/functionconfschemanotificationpolicies.py +129 -0
  50. cribl_control_plane/models/functionconfschemanotifications.py +26 -0
  51. cribl_control_plane/models/functionconfschemanotify.py +149 -0
  52. cribl_control_plane/models/functionconfschemanumerify.py +63 -0
  53. cribl_control_plane/models/functionconfschemaotlplogs.py +24 -0
  54. cribl_control_plane/models/functionconfschemaotlpmetrics.py +61 -0
  55. cribl_control_plane/models/functionconfschemaotlptraces.py +54 -0
  56. cribl_control_plane/models/functionconfschemapack.py +24 -0
  57. cribl_control_plane/models/functionconfschemapivot.py +31 -0
  58. cribl_control_plane/models/functionconfschemapublishmetrics.py +98 -0
  59. cribl_control_plane/models/functionconfschemaredis.py +121 -0
  60. cribl_control_plane/models/functionconfschemaregexextract.py +55 -0
  61. cribl_control_plane/models/functionconfschemaregexfilter.py +38 -0
  62. cribl_control_plane/models/functionconfschemarename.py +49 -0
  63. cribl_control_plane/models/functionconfschemarollupmetrics.py +57 -0
  64. cribl_control_plane/models/functionconfschemasampling.py +32 -0
  65. cribl_control_plane/models/functionconfschemasend.py +84 -0
  66. cribl_control_plane/models/functionconfschemasensitivedatascanner.py +75 -0
  67. cribl_control_plane/models/functionconfschemaserde.py +105 -0
  68. cribl_control_plane/models/functionconfschemaserialize.py +78 -0
  69. cribl_control_plane/models/functionconfschemasidlookup.py +34 -0
  70. cribl_control_plane/models/functionconfschemasnmptrapserialize.py +92 -0
  71. cribl_control_plane/models/functionconfschemasort.py +41 -0
  72. cribl_control_plane/models/functionconfschemastore.py +75 -0
  73. cribl_control_plane/models/functionconfschemasuppress.py +57 -0
  74. cribl_control_plane/models/functionconfschematee.py +32 -0
  75. cribl_control_plane/models/functionconfschematrimtimestamp.py +16 -0
  76. cribl_control_plane/models/functionconfschemaunion.py +22 -0
  77. cribl_control_plane/models/functionconfschemaunroll.py +22 -0
  78. cribl_control_plane/models/functionconfschemawindow.py +40 -0
  79. cribl_control_plane/models/functionconfschemaxmlunroll.py +34 -0
  80. cribl_control_plane/models/functiondistinct.py +7 -37
  81. cribl_control_plane/models/functiondnslookup.py +7 -188
  82. cribl_control_plane/models/functiondrop.py +8 -12
  83. cribl_control_plane/models/functiondropdimensions.py +7 -25
  84. cribl_control_plane/models/functiondynamicsampling.py +6 -58
  85. cribl_control_plane/models/functioneval.py +9 -43
  86. cribl_control_plane/models/functioneventbreaker.py +6 -40
  87. cribl_control_plane/models/functioneventstats.py +7 -30
  88. cribl_control_plane/models/functionexternaldata.py +6 -10
  89. cribl_control_plane/models/functionflatten.py +7 -28
  90. cribl_control_plane/models/functionfoldkeys.py +6 -26
  91. cribl_control_plane/models/functiongenstats.py +7 -11
  92. cribl_control_plane/models/functiongeoip.py +7 -58
  93. cribl_control_plane/models/functiongrok.py +9 -35
  94. cribl_control_plane/models/functionhandlebar.py +6 -49
  95. cribl_control_plane/models/functionjoin.py +9 -52
  96. cribl_control_plane/models/functionjsonunroll.py +6 -17
  97. cribl_control_plane/models/functionlakeexport.py +6 -39
  98. cribl_control_plane/models/functionlimit.py +6 -12
  99. cribl_control_plane/models/functionlocalsearchdatatypeparser.py +6 -12
  100. cribl_control_plane/models/functionlocalsearchrulesetrunner.py +7 -34
  101. cribl_control_plane/models/functionlookup.py +7 -86
  102. cribl_control_plane/models/functionmask.py +9 -61
  103. cribl_control_plane/models/functionmvexpand.py +7 -66
  104. cribl_control_plane/models/functionmvpull.py +6 -36
  105. cribl_control_plane/models/functionnotificationpolicies.py +8 -125
  106. cribl_control_plane/models/functionnotifications.py +6 -22
  107. cribl_control_plane/models/functionnotify.py +6 -133
  108. cribl_control_plane/models/functionnumerify.py +7 -57
  109. cribl_control_plane/models/functionotlplogs.py +6 -19
  110. cribl_control_plane/models/functionotlpmetrics.py +7 -56
  111. cribl_control_plane/models/functionotlptraces.py +6 -48
  112. cribl_control_plane/models/functionpack.py +9 -20
  113. cribl_control_plane/models/functionpivot.py +7 -23
  114. cribl_control_plane/models/functionpublishmetrics.py +7 -91
  115. cribl_control_plane/models/functionredis.py +7 -111
  116. cribl_control_plane/models/functionregexextract.py +7 -50
  117. cribl_control_plane/models/functionregexfilter.py +7 -33
  118. cribl_control_plane/models/functionrename.py +7 -45
  119. cribl_control_plane/models/functionrollupmetrics.py +7 -52
  120. cribl_control_plane/models/functionsampling.py +7 -28
  121. cribl_control_plane/models/functionsend.py +8 -80
  122. cribl_control_plane/models/functionsensitivedatascanner.py +7 -66
  123. cribl_control_plane/models/functionserde.py +6 -98
  124. cribl_control_plane/models/functionserialize.py +7 -72
  125. cribl_control_plane/models/functionsidlookup.py +7 -31
  126. cribl_control_plane/models/functionsnmptrapserialize.py +6 -81
  127. cribl_control_plane/models/functionsort.py +8 -36
  128. cribl_control_plane/models/functionstore.py +6 -69
  129. cribl_control_plane/models/functionsuppress.py +6 -52
  130. cribl_control_plane/models/functiontee.py +6 -30
  131. cribl_control_plane/models/functiontrimtimestamp.py +6 -12
  132. cribl_control_plane/models/functionunion.py +9 -20
  133. cribl_control_plane/models/functionunroll.py +6 -17
  134. cribl_control_plane/models/functionwindow.py +7 -34
  135. cribl_control_plane/models/functionxmlunroll.py +6 -29
  136. cribl_control_plane/models/getsavedjobbyidop.py +33 -0
  137. cribl_control_plane/models/getsavedjobop.py +40 -0
  138. cribl_control_plane/models/groupcreaterequest.py +3 -0
  139. cribl_control_plane/models/heartbeatmetadata.py +42 -0
  140. cribl_control_plane/models/input.py +1 -1
  141. cribl_control_plane/models/inputedgeprometheus.py +11 -11
  142. cribl_control_plane/models/inputprometheus.py +23 -18
  143. cribl_control_plane/models/nodeprovidedinfo.py +42 -0
  144. cribl_control_plane/models/output.py +15 -9
  145. cribl_control_plane/models/outputclickhouse.py +31 -0
  146. cribl_control_plane/models/outputcriblhttp.py +7 -0
  147. cribl_control_plane/models/outputcriblsearchengine.py +655 -0
  148. cribl_control_plane/models/outputnetflow.py +16 -2
  149. cribl_control_plane/models/pipeline.py +52 -4
  150. cribl_control_plane/models/pipelinefunctionaggregatemetrics.py +195 -0
  151. cribl_control_plane/models/pipelinefunctionaggregation.py +159 -0
  152. cribl_control_plane/models/pipelinefunctionautotimestamp.py +56 -0
  153. cribl_control_plane/models/pipelinefunctioncef.py +96 -0
  154. cribl_control_plane/models/pipelinefunctionchain.py +62 -0
  155. cribl_control_plane/models/pipelinefunctionclone.py +56 -0
  156. cribl_control_plane/models/pipelinefunctioncode.py +56 -0
  157. cribl_control_plane/models/pipelinefunctioncomment.py +56 -0
  158. cribl_control_plane/models/pipelinefunctionconf.py +343 -46
  159. cribl_control_plane/models/pipelinefunctionconf_input.py +353 -0
  160. cribl_control_plane/models/pipelinefunctiondistinct.py +86 -0
  161. cribl_control_plane/models/pipelinefunctiondnslookup.py +56 -0
  162. cribl_control_plane/models/pipelinefunctiondrop.py +56 -0
  163. cribl_control_plane/models/pipelinefunctiondropdimensions.py +74 -0
  164. cribl_control_plane/models/pipelinefunctiondynamicsampling.py +111 -0
  165. cribl_control_plane/models/pipelinefunctioneval.py +56 -0
  166. cribl_control_plane/models/pipelinefunctioneventbreaker.py +95 -0
  167. cribl_control_plane/models/pipelinefunctioneventstats.py +79 -0
  168. cribl_control_plane/models/pipelinefunctionexternaldata.py +56 -0
  169. cribl_control_plane/models/pipelinefunctionflatten.py +56 -0
  170. cribl_control_plane/models/pipelinefunctionfoldkeys.py +56 -0
  171. cribl_control_plane/models/pipelinefunctiongenstats.py +56 -0
  172. cribl_control_plane/models/pipelinefunctiongeoip.py +109 -0
  173. cribl_control_plane/models/pipelinefunctiongrok.py +83 -0
  174. cribl_control_plane/models/pipelinefunctionhandlebar.py +99 -0
  175. cribl_control_plane/models/pipelinefunctionjoin.py +100 -0
  176. cribl_control_plane/models/pipelinefunctionjsonunroll.py +67 -0
  177. cribl_control_plane/models/pipelinefunctionlakeexport.py +89 -0
  178. cribl_control_plane/models/pipelinefunctionlimit.py +56 -0
  179. cribl_control_plane/models/pipelinefunctionlocalsearchdatatypeparser.py +62 -0
  180. cribl_control_plane/models/pipelinefunctionlocalsearchrulesetrunner.py +56 -0
  181. cribl_control_plane/models/pipelinefunctionlookup.py +136 -0
  182. cribl_control_plane/models/pipelinefunctionmask.py +108 -0
  183. cribl_control_plane/models/pipelinefunctionmvexpand.py +116 -0
  184. cribl_control_plane/models/pipelinefunctionmvpull.py +86 -0
  185. cribl_control_plane/models/pipelinefunctionnotificationpolicies.py +56 -0
  186. cribl_control_plane/models/pipelinefunctionnotifications.py +72 -0
  187. cribl_control_plane/models/pipelinefunctionnotify.py +189 -0
  188. cribl_control_plane/models/pipelinefunctionnumerify.py +56 -0
  189. cribl_control_plane/models/pipelinefunctionotlplogs.py +56 -0
  190. cribl_control_plane/models/pipelinefunctionotlpmetrics.py +56 -0
  191. cribl_control_plane/models/pipelinefunctionotlptraces.py +56 -0
  192. cribl_control_plane/models/pipelinefunctionpack.py +67 -0
  193. cribl_control_plane/models/pipelinefunctionpivot.py +72 -0
  194. cribl_control_plane/models/pipelinefunctionpublishmetrics.py +56 -0
  195. cribl_control_plane/models/pipelinefunctionredis.py +165 -0
  196. cribl_control_plane/models/pipelinefunctionregexextract.py +100 -0
  197. cribl_control_plane/models/pipelinefunctionregexfilter.py +56 -0
  198. cribl_control_plane/models/pipelinefunctionrename.py +56 -0
  199. cribl_control_plane/models/pipelinefunctionrollupmetrics.py +56 -0
  200. cribl_control_plane/models/pipelinefunctionsampling.py +56 -0
  201. cribl_control_plane/models/pipelinefunctionsend.py +128 -0
  202. cribl_control_plane/models/pipelinefunctionsensitivedatascanner.py +120 -0
  203. cribl_control_plane/models/pipelinefunctionserde.py +149 -0
  204. cribl_control_plane/models/pipelinefunctionserialize.py +122 -0
  205. cribl_control_plane/models/pipelinefunctionsidlookup.py +56 -0
  206. cribl_control_plane/models/pipelinefunctionsnmptrapserialize.py +56 -0
  207. cribl_control_plane/models/pipelinefunctionsort.py +84 -0
  208. cribl_control_plane/models/pipelinefunctionstore.py +120 -0
  209. cribl_control_plane/models/pipelinefunctionsuppress.py +102 -0
  210. cribl_control_plane/models/pipelinefunctiontee.py +77 -0
  211. cribl_control_plane/models/pipelinefunctiontrimtimestamp.py +56 -0
  212. cribl_control_plane/models/pipelinefunctionunion.py +67 -0
  213. cribl_control_plane/models/pipelinefunctionunroll.py +67 -0
  214. cribl_control_plane/models/pipelinefunctionwindow.py +83 -0
  215. cribl_control_plane/models/pipelinefunctionxmlunroll.py +79 -0
  216. cribl_control_plane/models/runnablejobcollection.py +11 -10
  217. cribl_control_plane/models/runnablejobexecutor.py +8 -8
  218. cribl_control_plane/models/savedjob.py +26 -0
  219. cribl_control_plane/models/savedjobcollection.py +411 -0
  220. cribl_control_plane/models/savedjobexecutor.py +301 -0
  221. cribl_control_plane/models/savedjobscheduledsearch.py +278 -0
  222. cribl_control_plane/models/updatepipelinebyidop.py +4 -3
  223. cribl_control_plane/models/updatesavedjobbyidop.py +42 -0
  224. cribl_control_plane/pipelines.py +16 -16
  225. cribl_control_plane/sdk.py +4 -0
  226. {cribl_control_plane-0.4.0b23.dist-info → cribl_control_plane-0.5.0b3.dist-info}/METADATA +10 -2
  227. {cribl_control_plane-0.4.0b23.dist-info → cribl_control_plane-0.5.0b3.dist-info}/RECORD +229 -88
  228. {cribl_control_plane-0.4.0b23.dist-info → cribl_control_plane-0.5.0b3.dist-info}/WHEEL +0 -0
  229. {cribl_control_plane-0.4.0b23.dist-info → cribl_control_plane-0.5.0b3.dist-info}/licenses/LICENSE +0 -0
@@ -55,6 +55,9 @@ class ConfigGroupGit(BaseModel):
55
55
 
56
56
 
57
57
  class ConfigGroupType(str, Enum, metaclass=utils.OpenEnumMeta):
58
+ EDGE = "edge"
59
+ STREAM = "stream"
60
+ SEARCH = "search"
58
61
  LAKE_ACCESS = "lake_access"
59
62
  LOCAL_SEARCH = "local_search"
60
63
 
@@ -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 cribl_control_plane import models, utils
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 pydantic import field_serializer
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[FunctionAggregateMetricsSchemaTypedDict]
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[FunctionAggregateMetricsSchema], pydantic.Field(alias="schema")
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, List, Optional
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[FunctionAggregationSchemaTypedDict]
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[FunctionAggregationSchema], pydantic.Field(alias="schema")
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 cribl_control_plane import models, utils
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 pydantic import field_serializer
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[FunctionAutoTimestampSchemaTypedDict]
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[FunctionAutoTimestampSchema], pydantic.Field(alias="schema")
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, List, Optional
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[FunctionCefSchemaTypedDict]
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[Optional[FunctionCefSchema], pydantic.Field(alias="schema")] = (
110
- None
111
- )
64
+ schema_: Annotated[
65
+ Optional[FunctionConfSchemaCef], pydantic.Field(alias="schema")
66
+ ] = None