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