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,111 @@
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 PipelineFunctionDynamicSamplingID(str, Enum):
16
+ r"""Function ID"""
17
+
18
+ DYNAMIC_SAMPLING = "dynamic_sampling"
19
+
20
+
21
+ class PipelineFunctionDynamicSamplingSampleMode(
22
+ str, Enum, metaclass=utils.OpenEnumMeta
23
+ ):
24
+ r"""Defines how sample rate will be derived: log(previousPeriodCount) or sqrt(previousPeriodCount)"""
25
+
26
+ # Logarithmic
27
+ LOG = "log"
28
+ # Square Root
29
+ SQRT = "sqrt"
30
+
31
+
32
+ class PipelineFunctionDynamicSamplingConfTypedDict(TypedDict):
33
+ mode: NotRequired[PipelineFunctionDynamicSamplingSampleMode]
34
+ r"""Defines how sample rate will be derived: log(previousPeriodCount) or sqrt(previousPeriodCount)"""
35
+ key_expr: NotRequired[str]
36
+ r"""Expression used to derive sample group key. Example:`${domain}:${status}`. Each sample group will have its own derived sampling rate based on volume. Defaults to `${host}`."""
37
+ sample_period: NotRequired[float]
38
+ r"""How often (in seconds) sample rates will be adjusted"""
39
+ min_events: NotRequired[float]
40
+ r"""Minimum number of events that must be received in previous sample period for sampling mode to be applied to current period. If the number of events received for a sample group is less than this minimum, a sample rate of 1:1 is used."""
41
+ max_sample_rate: NotRequired[float]
42
+ r"""Maximum sampling rate. If computed sampling rate is above this value, it will be limited to this value."""
43
+
44
+
45
+ class PipelineFunctionDynamicSamplingConf(BaseModel):
46
+ mode: Annotated[
47
+ Optional[PipelineFunctionDynamicSamplingSampleMode],
48
+ PlainValidator(validate_open_enum(False)),
49
+ ] = PipelineFunctionDynamicSamplingSampleMode.LOG
50
+ r"""Defines how sample rate will be derived: log(previousPeriodCount) or sqrt(previousPeriodCount)"""
51
+
52
+ key_expr: Annotated[Optional[str], pydantic.Field(alias="keyExpr")] = "`${host}`"
53
+ r"""Expression used to derive sample group key. Example:`${domain}:${status}`. Each sample group will have its own derived sampling rate based on volume. Defaults to `${host}`."""
54
+
55
+ sample_period: Annotated[Optional[float], pydantic.Field(alias="samplePeriod")] = 30
56
+ r"""How often (in seconds) sample rates will be adjusted"""
57
+
58
+ min_events: Annotated[Optional[float], pydantic.Field(alias="minEvents")] = 30
59
+ r"""Minimum number of events that must be received in previous sample period for sampling mode to be applied to current period. If the number of events received for a sample group is less than this minimum, a sample rate of 1:1 is used."""
60
+
61
+ max_sample_rate: Annotated[
62
+ Optional[float], pydantic.Field(alias="maxSampleRate")
63
+ ] = 100
64
+ r"""Maximum sampling rate. If computed sampling rate is above this value, it will be limited to this value."""
65
+
66
+ @field_serializer("mode")
67
+ def serialize_mode(self, value):
68
+ if isinstance(value, str):
69
+ try:
70
+ return models.PipelineFunctionDynamicSamplingSampleMode(value)
71
+ except ValueError:
72
+ return value
73
+ return value
74
+
75
+
76
+ class PipelineFunctionDynamicSamplingTypedDict(TypedDict):
77
+ id: PipelineFunctionDynamicSamplingID
78
+ r"""Function ID"""
79
+ conf: PipelineFunctionDynamicSamplingConfTypedDict
80
+ filter_: NotRequired[str]
81
+ r"""Filter that selects data to be fed through this Function"""
82
+ description: NotRequired[str]
83
+ r"""Simple description of this step"""
84
+ disabled: NotRequired[bool]
85
+ r"""If true, data will not be pushed through this function"""
86
+ final: NotRequired[bool]
87
+ r"""If enabled, stops the results of this Function from being passed to the downstream Functions"""
88
+ group_id: NotRequired[str]
89
+ r"""Group ID"""
90
+
91
+
92
+ class PipelineFunctionDynamicSampling(BaseModel):
93
+ id: PipelineFunctionDynamicSamplingID
94
+ r"""Function ID"""
95
+
96
+ conf: PipelineFunctionDynamicSamplingConf
97
+
98
+ filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = "true"
99
+ r"""Filter that selects data to be fed through this Function"""
100
+
101
+ description: Optional[str] = None
102
+ r"""Simple description of this step"""
103
+
104
+ disabled: Optional[bool] = None
105
+ r"""If true, data will not be pushed through this function"""
106
+
107
+ final: Optional[bool] = None
108
+ r"""If enabled, stops the results of this Function from being passed to the downstream Functions"""
109
+
110
+ group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None
111
+ r"""Group ID"""
@@ -0,0 +1,56 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .functionconfschemaeval import (
5
+ FunctionConfSchemaEval,
6
+ FunctionConfSchemaEvalTypedDict,
7
+ )
8
+ from cribl_control_plane.types import BaseModel
9
+ from enum import Enum
10
+ import pydantic
11
+ from typing import Optional
12
+ from typing_extensions import Annotated, NotRequired, TypedDict
13
+
14
+
15
+ class PipelineFunctionEvalID(str, Enum):
16
+ r"""Function ID"""
17
+
18
+ EVAL = "eval"
19
+
20
+
21
+ class PipelineFunctionEvalTypedDict(TypedDict):
22
+ id: PipelineFunctionEvalID
23
+ r"""Function ID"""
24
+ conf: FunctionConfSchemaEvalTypedDict
25
+ filter_: NotRequired[str]
26
+ r"""Filter that selects data to be fed through this Function"""
27
+ description: NotRequired[str]
28
+ r"""Simple description of this step"""
29
+ disabled: NotRequired[bool]
30
+ r"""If true, data will not be pushed through this function"""
31
+ final: NotRequired[bool]
32
+ r"""If enabled, stops the results of this Function from being passed to the downstream Functions"""
33
+ group_id: NotRequired[str]
34
+ r"""Group ID"""
35
+
36
+
37
+ class PipelineFunctionEval(BaseModel):
38
+ id: PipelineFunctionEvalID
39
+ r"""Function ID"""
40
+
41
+ conf: FunctionConfSchemaEval
42
+
43
+ filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = "true"
44
+ r"""Filter that selects data to be fed through this Function"""
45
+
46
+ description: Optional[str] = None
47
+ r"""Simple description of this step"""
48
+
49
+ disabled: Optional[bool] = None
50
+ r"""If true, data will not be pushed through this function"""
51
+
52
+ final: Optional[bool] = None
53
+ r"""If enabled, stops the results of this Function from being passed to the downstream Functions"""
54
+
55
+ group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None
56
+ r"""Group ID"""
@@ -0,0 +1,95 @@
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 PipelineFunctionEventBreakerID(str, Enum):
16
+ r"""Function ID"""
17
+
18
+ EVENT_BREAKER = "event_breaker"
19
+
20
+
21
+ class PipelineFunctionEventBreakerExistingOrNew(
22
+ str, Enum, metaclass=utils.OpenEnumMeta
23
+ ):
24
+ # Use Existing
25
+ EXISTING = "existing"
26
+ # Create New
27
+ NEW = "new"
28
+
29
+
30
+ class PipelineFunctionEventBreakerConfTypedDict(TypedDict):
31
+ existing_or_new: NotRequired[PipelineFunctionEventBreakerExistingOrNew]
32
+ should_mark_cribl_breaker: NotRequired[bool]
33
+ r"""Add this Function name to the cribl_breaker field"""
34
+
35
+
36
+ class PipelineFunctionEventBreakerConf(BaseModel):
37
+ existing_or_new: Annotated[
38
+ Annotated[
39
+ Optional[PipelineFunctionEventBreakerExistingOrNew],
40
+ PlainValidator(validate_open_enum(False)),
41
+ ],
42
+ pydantic.Field(alias="existingOrNew"),
43
+ ] = PipelineFunctionEventBreakerExistingOrNew.EXISTING
44
+
45
+ should_mark_cribl_breaker: Annotated[
46
+ Optional[bool], pydantic.Field(alias="shouldMarkCriblBreaker")
47
+ ] = True
48
+ r"""Add this Function name to the cribl_breaker field"""
49
+
50
+ @field_serializer("existing_or_new")
51
+ def serialize_existing_or_new(self, value):
52
+ if isinstance(value, str):
53
+ try:
54
+ return models.PipelineFunctionEventBreakerExistingOrNew(value)
55
+ except ValueError:
56
+ return value
57
+ return value
58
+
59
+
60
+ class PipelineFunctionEventBreakerTypedDict(TypedDict):
61
+ id: PipelineFunctionEventBreakerID
62
+ r"""Function ID"""
63
+ conf: PipelineFunctionEventBreakerConfTypedDict
64
+ filter_: NotRequired[str]
65
+ r"""Filter that selects data to be fed through this Function"""
66
+ description: NotRequired[str]
67
+ r"""Simple description of this step"""
68
+ disabled: NotRequired[bool]
69
+ r"""If true, data will not be pushed through this function"""
70
+ final: NotRequired[bool]
71
+ r"""If enabled, stops the results of this Function from being passed to the downstream Functions"""
72
+ group_id: NotRequired[str]
73
+ r"""Group ID"""
74
+
75
+
76
+ class PipelineFunctionEventBreaker(BaseModel):
77
+ id: PipelineFunctionEventBreakerID
78
+ r"""Function ID"""
79
+
80
+ conf: PipelineFunctionEventBreakerConf
81
+
82
+ filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = "true"
83
+ r"""Filter that selects data to be fed through this Function"""
84
+
85
+ description: Optional[str] = None
86
+ r"""Simple description of this step"""
87
+
88
+ disabled: Optional[bool] = None
89
+ r"""If true, data will not be pushed through this function"""
90
+
91
+ final: Optional[bool] = None
92
+ r"""If enabled, stops the results of this Function from being passed to the downstream Functions"""
93
+
94
+ group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None
95
+ r"""Group ID"""
@@ -0,0 +1,79 @@
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 enum import Enum
6
+ import pydantic
7
+ from typing import List, Optional
8
+ from typing_extensions import Annotated, NotRequired, TypedDict
9
+
10
+
11
+ class PipelineFunctionEventstatsID(str, Enum):
12
+ r"""Function ID"""
13
+
14
+ EVENTSTATS = "eventstats"
15
+
16
+
17
+ class EventstatsConfigurationTypedDict(TypedDict):
18
+ aggregations: List[str]
19
+ r"""Aggregate function(s) to perform on events. E.g., sum(bytes).where(action=='REJECT').as(TotalBytes)"""
20
+ group_bys: NotRequired[List[str]]
21
+ r"""Fields to group aggregates by, supports wildcard expressions."""
22
+ max_events: NotRequired[float]
23
+ r"""Specifies how many events are at max kept in memory to be enriched with aggregations"""
24
+ flush_on_input_close: NotRequired[bool]
25
+ r"""Determines if aggregations should flush when an input stream is closed. If disabled, time window settings will control flush behavior."""
26
+
27
+
28
+ class EventstatsConfiguration(BaseModel):
29
+ aggregations: List[str]
30
+ r"""Aggregate function(s) to perform on events. E.g., sum(bytes).where(action=='REJECT').as(TotalBytes)"""
31
+
32
+ group_bys: Annotated[Optional[List[str]], pydantic.Field(alias="groupBys")] = None
33
+ r"""Fields to group aggregates by, supports wildcard expressions."""
34
+
35
+ max_events: Annotated[Optional[float], pydantic.Field(alias="maxEvents")] = 50000
36
+ r"""Specifies how many events are at max kept in memory to be enriched with aggregations"""
37
+
38
+ flush_on_input_close: Annotated[
39
+ Optional[bool], pydantic.Field(alias="flushOnInputClose")
40
+ ] = False
41
+ r"""Determines if aggregations should flush when an input stream is closed. If disabled, time window settings will control flush behavior."""
42
+
43
+
44
+ class PipelineFunctionEventstatsTypedDict(TypedDict):
45
+ id: PipelineFunctionEventstatsID
46
+ r"""Function ID"""
47
+ conf: EventstatsConfigurationTypedDict
48
+ filter_: NotRequired[str]
49
+ r"""Filter that selects data to be fed through this Function"""
50
+ description: NotRequired[str]
51
+ r"""Simple description of this step"""
52
+ disabled: NotRequired[bool]
53
+ r"""If true, data will not be pushed through this function"""
54
+ final: NotRequired[bool]
55
+ r"""If enabled, stops the results of this Function from being passed to the downstream Functions"""
56
+ group_id: NotRequired[str]
57
+ r"""Group ID"""
58
+
59
+
60
+ class PipelineFunctionEventstats(BaseModel):
61
+ id: PipelineFunctionEventstatsID
62
+ r"""Function ID"""
63
+
64
+ conf: EventstatsConfiguration
65
+
66
+ filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = "true"
67
+ r"""Filter that selects data to be fed through this Function"""
68
+
69
+ description: Optional[str] = None
70
+ r"""Simple description of this step"""
71
+
72
+ disabled: Optional[bool] = None
73
+ r"""If true, data will not be pushed through this function"""
74
+
75
+ final: Optional[bool] = None
76
+ r"""If enabled, stops the results of this Function from being passed to the downstream Functions"""
77
+
78
+ group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None
79
+ r"""Group ID"""
@@ -0,0 +1,56 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .functionconfschemaexternaldata import (
5
+ FunctionConfSchemaExternaldata,
6
+ FunctionConfSchemaExternaldataTypedDict,
7
+ )
8
+ from cribl_control_plane.types import BaseModel
9
+ from enum import Enum
10
+ import pydantic
11
+ from typing import Optional
12
+ from typing_extensions import Annotated, NotRequired, TypedDict
13
+
14
+
15
+ class PipelineFunctionExternaldataID(str, Enum):
16
+ r"""Function ID"""
17
+
18
+ EXTERNALDATA = "externaldata"
19
+
20
+
21
+ class PipelineFunctionExternaldataTypedDict(TypedDict):
22
+ id: PipelineFunctionExternaldataID
23
+ r"""Function ID"""
24
+ conf: FunctionConfSchemaExternaldataTypedDict
25
+ filter_: NotRequired[str]
26
+ r"""Filter that selects data to be fed through this Function"""
27
+ description: NotRequired[str]
28
+ r"""Simple description of this step"""
29
+ disabled: NotRequired[bool]
30
+ r"""If true, data will not be pushed through this function"""
31
+ final: NotRequired[bool]
32
+ r"""If enabled, stops the results of this Function from being passed to the downstream Functions"""
33
+ group_id: NotRequired[str]
34
+ r"""Group ID"""
35
+
36
+
37
+ class PipelineFunctionExternaldata(BaseModel):
38
+ id: PipelineFunctionExternaldataID
39
+ r"""Function ID"""
40
+
41
+ conf: FunctionConfSchemaExternaldata
42
+
43
+ filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = "true"
44
+ r"""Filter that selects data to be fed through this Function"""
45
+
46
+ description: Optional[str] = None
47
+ r"""Simple description of this step"""
48
+
49
+ disabled: Optional[bool] = None
50
+ r"""If true, data will not be pushed through this function"""
51
+
52
+ final: Optional[bool] = None
53
+ r"""If enabled, stops the results of this Function from being passed to the downstream Functions"""
54
+
55
+ group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None
56
+ r"""Group ID"""
@@ -0,0 +1,56 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .functionconfschemaflatten import (
5
+ FunctionConfSchemaFlatten,
6
+ FunctionConfSchemaFlattenTypedDict,
7
+ )
8
+ from cribl_control_plane.types import BaseModel
9
+ from enum import Enum
10
+ import pydantic
11
+ from typing import Optional
12
+ from typing_extensions import Annotated, NotRequired, TypedDict
13
+
14
+
15
+ class PipelineFunctionFlattenID(str, Enum):
16
+ r"""Function ID"""
17
+
18
+ FLATTEN = "flatten"
19
+
20
+
21
+ class PipelineFunctionFlattenTypedDict(TypedDict):
22
+ id: PipelineFunctionFlattenID
23
+ r"""Function ID"""
24
+ conf: FunctionConfSchemaFlattenTypedDict
25
+ filter_: NotRequired[str]
26
+ r"""Filter that selects data to be fed through this Function"""
27
+ description: NotRequired[str]
28
+ r"""Simple description of this step"""
29
+ disabled: NotRequired[bool]
30
+ r"""If true, data will not be pushed through this function"""
31
+ final: NotRequired[bool]
32
+ r"""If enabled, stops the results of this Function from being passed to the downstream Functions"""
33
+ group_id: NotRequired[str]
34
+ r"""Group ID"""
35
+
36
+
37
+ class PipelineFunctionFlatten(BaseModel):
38
+ id: PipelineFunctionFlattenID
39
+ r"""Function ID"""
40
+
41
+ conf: FunctionConfSchemaFlatten
42
+
43
+ filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = "true"
44
+ r"""Filter that selects data to be fed through this Function"""
45
+
46
+ description: Optional[str] = None
47
+ r"""Simple description of this step"""
48
+
49
+ disabled: Optional[bool] = None
50
+ r"""If true, data will not be pushed through this function"""
51
+
52
+ final: Optional[bool] = None
53
+ r"""If enabled, stops the results of this Function from being passed to the downstream Functions"""
54
+
55
+ group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None
56
+ r"""Group ID"""
@@ -0,0 +1,56 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .functionconfschemafoldkeys import (
5
+ FunctionConfSchemaFoldkeys,
6
+ FunctionConfSchemaFoldkeysTypedDict,
7
+ )
8
+ from cribl_control_plane.types import BaseModel
9
+ from enum import Enum
10
+ import pydantic
11
+ from typing import Optional
12
+ from typing_extensions import Annotated, NotRequired, TypedDict
13
+
14
+
15
+ class PipelineFunctionFoldkeysID(str, Enum):
16
+ r"""Function ID"""
17
+
18
+ FOLDKEYS = "foldkeys"
19
+
20
+
21
+ class PipelineFunctionFoldkeysTypedDict(TypedDict):
22
+ id: PipelineFunctionFoldkeysID
23
+ r"""Function ID"""
24
+ conf: FunctionConfSchemaFoldkeysTypedDict
25
+ filter_: NotRequired[str]
26
+ r"""Filter that selects data to be fed through this Function"""
27
+ description: NotRequired[str]
28
+ r"""Simple description of this step"""
29
+ disabled: NotRequired[bool]
30
+ r"""If true, data will not be pushed through this function"""
31
+ final: NotRequired[bool]
32
+ r"""If enabled, stops the results of this Function from being passed to the downstream Functions"""
33
+ group_id: NotRequired[str]
34
+ r"""Group ID"""
35
+
36
+
37
+ class PipelineFunctionFoldkeys(BaseModel):
38
+ id: PipelineFunctionFoldkeysID
39
+ r"""Function ID"""
40
+
41
+ conf: FunctionConfSchemaFoldkeys
42
+
43
+ filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = "true"
44
+ r"""Filter that selects data to be fed through this Function"""
45
+
46
+ description: Optional[str] = None
47
+ r"""Simple description of this step"""
48
+
49
+ disabled: Optional[bool] = None
50
+ r"""If true, data will not be pushed through this function"""
51
+
52
+ final: Optional[bool] = None
53
+ r"""If enabled, stops the results of this Function from being passed to the downstream Functions"""
54
+
55
+ group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None
56
+ r"""Group ID"""
@@ -0,0 +1,56 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .functionconfschemagenstats import (
5
+ FunctionConfSchemaGenStats,
6
+ FunctionConfSchemaGenStatsTypedDict,
7
+ )
8
+ from cribl_control_plane.types import BaseModel
9
+ from enum import Enum
10
+ import pydantic
11
+ from typing import Optional
12
+ from typing_extensions import Annotated, NotRequired, TypedDict
13
+
14
+
15
+ class PipelineFunctionGenStatsID(str, Enum):
16
+ r"""Function ID"""
17
+
18
+ GEN_STATS = "gen_stats"
19
+
20
+
21
+ class PipelineFunctionGenStatsTypedDict(TypedDict):
22
+ id: PipelineFunctionGenStatsID
23
+ r"""Function ID"""
24
+ conf: FunctionConfSchemaGenStatsTypedDict
25
+ filter_: NotRequired[str]
26
+ r"""Filter that selects data to be fed through this Function"""
27
+ description: NotRequired[str]
28
+ r"""Simple description of this step"""
29
+ disabled: NotRequired[bool]
30
+ r"""If true, data will not be pushed through this function"""
31
+ final: NotRequired[bool]
32
+ r"""If enabled, stops the results of this Function from being passed to the downstream Functions"""
33
+ group_id: NotRequired[str]
34
+ r"""Group ID"""
35
+
36
+
37
+ class PipelineFunctionGenStats(BaseModel):
38
+ id: PipelineFunctionGenStatsID
39
+ r"""Function ID"""
40
+
41
+ conf: FunctionConfSchemaGenStats
42
+
43
+ filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = "true"
44
+ r"""Filter that selects data to be fed through this Function"""
45
+
46
+ description: Optional[str] = None
47
+ r"""Simple description of this step"""
48
+
49
+ disabled: Optional[bool] = None
50
+ r"""If true, data will not be pushed through this function"""
51
+
52
+ final: Optional[bool] = None
53
+ r"""If enabled, stops the results of this Function from being passed to the downstream Functions"""
54
+
55
+ group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None
56
+ r"""Group ID"""
@@ -0,0 +1,109 @@
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 enum import Enum
6
+ import pydantic
7
+ from typing import List, Optional
8
+ from typing_extensions import Annotated, NotRequired, TypedDict
9
+
10
+
11
+ class PipelineFunctionGeoipID(str, Enum):
12
+ r"""Function ID"""
13
+
14
+ GEOIP = "geoip"
15
+
16
+
17
+ class PipelineFunctionGeoipAdditionalFieldTypedDict(TypedDict):
18
+ extra_in_field: str
19
+ r"""Field name in which to find an IP to look up. Can be nested."""
20
+ extra_out_field: str
21
+ r"""Field name in which to store the GeoIP lookup results"""
22
+
23
+
24
+ class PipelineFunctionGeoipAdditionalField(BaseModel):
25
+ extra_in_field: Annotated[str, pydantic.Field(alias="extraInField")]
26
+ r"""Field name in which to find an IP to look up. Can be nested."""
27
+
28
+ extra_out_field: Annotated[str, pydantic.Field(alias="extraOutField")]
29
+ r"""Field name in which to store the GeoIP lookup results"""
30
+
31
+
32
+ class PipelineFunctionGeoipOutputFieldMappingsTypedDict(TypedDict):
33
+ r"""Search-specific mappings for granular control over event enrichment"""
34
+
35
+
36
+ class PipelineFunctionGeoipOutputFieldMappings(BaseModel):
37
+ r"""Search-specific mappings for granular control over event enrichment"""
38
+
39
+
40
+ class PipelineFunctionGeoipConfTypedDict(TypedDict):
41
+ file: str
42
+ r"""Select an uploaded Maxmind database, or specify path to a Maxmind database with .mmdb extension"""
43
+ in_field: NotRequired[str]
44
+ r"""Field name in which to find an IP to look up. Can be nested."""
45
+ out_field: NotRequired[str]
46
+ r"""Field name in which to store the GeoIP lookup results"""
47
+ additional_fields: NotRequired[List[PipelineFunctionGeoipAdditionalFieldTypedDict]]
48
+ out_field_mappings: NotRequired[PipelineFunctionGeoipOutputFieldMappingsTypedDict]
49
+ r"""Search-specific mappings for granular control over event enrichment"""
50
+
51
+
52
+ class PipelineFunctionGeoipConf(BaseModel):
53
+ file: str
54
+ r"""Select an uploaded Maxmind database, or specify path to a Maxmind database with .mmdb extension"""
55
+
56
+ in_field: Annotated[Optional[str], pydantic.Field(alias="inField")] = "ip"
57
+ r"""Field name in which to find an IP to look up. Can be nested."""
58
+
59
+ out_field: Annotated[Optional[str], pydantic.Field(alias="outField")] = "geoip"
60
+ r"""Field name in which to store the GeoIP lookup results"""
61
+
62
+ additional_fields: Annotated[
63
+ Optional[List[PipelineFunctionGeoipAdditionalField]],
64
+ pydantic.Field(alias="additionalFields"),
65
+ ] = None
66
+
67
+ out_field_mappings: Annotated[
68
+ Optional[PipelineFunctionGeoipOutputFieldMappings],
69
+ pydantic.Field(alias="outFieldMappings"),
70
+ ] = None
71
+ r"""Search-specific mappings for granular control over event enrichment"""
72
+
73
+
74
+ class PipelineFunctionGeoipTypedDict(TypedDict):
75
+ id: PipelineFunctionGeoipID
76
+ r"""Function ID"""
77
+ conf: PipelineFunctionGeoipConfTypedDict
78
+ filter_: NotRequired[str]
79
+ r"""Filter that selects data to be fed through this Function"""
80
+ description: NotRequired[str]
81
+ r"""Simple description of this step"""
82
+ disabled: NotRequired[bool]
83
+ r"""If true, data will not be pushed through this function"""
84
+ final: NotRequired[bool]
85
+ r"""If enabled, stops the results of this Function from being passed to the downstream Functions"""
86
+ group_id: NotRequired[str]
87
+ r"""Group ID"""
88
+
89
+
90
+ class PipelineFunctionGeoip(BaseModel):
91
+ id: PipelineFunctionGeoipID
92
+ r"""Function ID"""
93
+
94
+ conf: PipelineFunctionGeoipConf
95
+
96
+ filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = "true"
97
+ r"""Filter that selects data to be fed through this Function"""
98
+
99
+ description: Optional[str] = None
100
+ r"""Simple description of this step"""
101
+
102
+ disabled: Optional[bool] = None
103
+ r"""If true, data will not be pushed through this function"""
104
+
105
+ final: Optional[bool] = None
106
+ r"""If enabled, stops the results of this Function from being passed to the downstream Functions"""
107
+
108
+ group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None
109
+ r"""Group ID"""