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,120 @@
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 PipelineFunctionSensitiveDataScannerID(str, Enum):
12
+ r"""Function ID"""
13
+
14
+ SENSITIVE_DATA_SCANNER = "sensitive_data_scanner"
15
+
16
+
17
+ class PipelineFunctionSensitiveDataScannerRuleTypedDict(TypedDict):
18
+ ruleset_id: str
19
+ r"""The ID of the ruleset to use for the scan"""
20
+ replace_expr: NotRequired[str]
21
+ 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>."""
22
+ disabled: NotRequired[bool]
23
+
24
+
25
+ class PipelineFunctionSensitiveDataScannerRule(BaseModel):
26
+ ruleset_id: Annotated[str, pydantic.Field(alias="rulesetId")]
27
+ r"""The ID of the ruleset to use for the scan"""
28
+
29
+ replace_expr: Annotated[Optional[str], pydantic.Field(alias="replaceExpr")] = (
30
+ "'REDACTED'"
31
+ )
32
+ 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>."""
33
+
34
+ disabled: Optional[bool] = False
35
+
36
+
37
+ class PipelineFunctionSensitiveDataScannerFlagTypedDict(TypedDict):
38
+ value: str
39
+ name: NotRequired[str]
40
+
41
+
42
+ class PipelineFunctionSensitiveDataScannerFlag(BaseModel):
43
+ value: str
44
+
45
+ name: Optional[str] = None
46
+
47
+
48
+ class PipelineFunctionSensitiveDataScannerConfTypedDict(TypedDict):
49
+ rules: List[PipelineFunctionSensitiveDataScannerRuleTypedDict]
50
+ fields: NotRequired[List[str]]
51
+ r"""Rulesets act on the events contained in these fields. Mitigation expressions apply to the scan results. Supports wildcards (*)."""
52
+ exclude_fields: NotRequired[List[str]]
53
+ r"""Fields that the mitigation expression will not be applied to. Supports wildcards (*)."""
54
+ flags: NotRequired[List[PipelineFunctionSensitiveDataScannerFlagTypedDict]]
55
+ r"""Fields to add when mitigation is applied to an event"""
56
+ include_detected_rules: NotRequired[bool]
57
+ r"""Add matching ruleset IDs to a field called \"__detected\" """
58
+ background_detection: NotRequired[bool]
59
+
60
+
61
+ class PipelineFunctionSensitiveDataScannerConf(BaseModel):
62
+ rules: List[PipelineFunctionSensitiveDataScannerRule]
63
+
64
+ fields: Optional[List[str]] = None
65
+ r"""Rulesets act on the events contained in these fields. Mitigation expressions apply to the scan results. Supports wildcards (*)."""
66
+
67
+ exclude_fields: Annotated[
68
+ Optional[List[str]], pydantic.Field(alias="excludeFields")
69
+ ] = None
70
+ r"""Fields that the mitigation expression will not be applied to. Supports wildcards (*)."""
71
+
72
+ flags: Optional[List[PipelineFunctionSensitiveDataScannerFlag]] = None
73
+ r"""Fields to add when mitigation is applied to an event"""
74
+
75
+ include_detected_rules: Annotated[
76
+ Optional[bool], pydantic.Field(alias="includeDetectedRules")
77
+ ] = True
78
+ r"""Add matching ruleset IDs to a field called \"__detected\" """
79
+
80
+ background_detection: Annotated[
81
+ Optional[bool], pydantic.Field(alias="backgroundDetection")
82
+ ] = False
83
+
84
+
85
+ class PipelineFunctionSensitiveDataScannerTypedDict(TypedDict):
86
+ id: PipelineFunctionSensitiveDataScannerID
87
+ r"""Function ID"""
88
+ conf: PipelineFunctionSensitiveDataScannerConfTypedDict
89
+ filter_: NotRequired[str]
90
+ r"""Filter that selects data to be fed through this Function"""
91
+ description: NotRequired[str]
92
+ r"""Simple description of this step"""
93
+ disabled: NotRequired[bool]
94
+ r"""If true, data will not be pushed through this function"""
95
+ final: NotRequired[bool]
96
+ r"""If enabled, stops the results of this Function from being passed to the downstream Functions"""
97
+ group_id: NotRequired[str]
98
+ r"""Group ID"""
99
+
100
+
101
+ class PipelineFunctionSensitiveDataScanner(BaseModel):
102
+ id: PipelineFunctionSensitiveDataScannerID
103
+ r"""Function ID"""
104
+
105
+ conf: PipelineFunctionSensitiveDataScannerConf
106
+
107
+ filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = "true"
108
+ r"""Filter that selects data to be fed through this Function"""
109
+
110
+ description: Optional[str] = None
111
+ r"""Simple description of this step"""
112
+
113
+ disabled: Optional[bool] = None
114
+ r"""If true, data will not be pushed through this function"""
115
+
116
+ final: Optional[bool] = None
117
+ r"""If enabled, stops the results of this Function from being passed to the downstream Functions"""
118
+
119
+ group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None
120
+ r"""Group ID"""
@@ -0,0 +1,149 @@
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 Any, Optional
12
+ from typing_extensions import Annotated, NotRequired, TypedDict
13
+
14
+
15
+ class PipelineFunctionSerdeID(str, Enum):
16
+ r"""Function ID"""
17
+
18
+ SERDE = "serde"
19
+
20
+
21
+ class PipelineFunctionSerdeOperationMode(str, Enum, metaclass=utils.OpenEnumMeta):
22
+ r"""Extract creates new fields. Reserialize extracts and filters fields, and then reserializes."""
23
+
24
+ # Extract
25
+ EXTRACT = "extract"
26
+ # Reserialize
27
+ RESERIALIZE = "reserialize"
28
+
29
+
30
+ class PipelineFunctionSerdeType(str, Enum, metaclass=utils.OpenEnumMeta):
31
+ r"""Parser or formatter type to use"""
32
+
33
+ # CSV
34
+ CSV = "csv"
35
+ # Extended Log File Format
36
+ ELFF = "elff"
37
+ # Common Log Format
38
+ CLF = "clf"
39
+ # Key=Value Pairs
40
+ KVP = "kvp"
41
+ # JSON Object
42
+ JSON = "json"
43
+ # Delimited values
44
+ DELIM = "delim"
45
+ # Regular Expression
46
+ REGEX = "regex"
47
+ # Grok
48
+ GROK = "grok"
49
+
50
+
51
+ class PipelineFunctionSerdeConfTypedDict(TypedDict):
52
+ mode: NotRequired[PipelineFunctionSerdeOperationMode]
53
+ r"""Extract creates new fields. Reserialize extracts and filters fields, and then reserializes."""
54
+ type: NotRequired[PipelineFunctionSerdeType]
55
+ r"""Parser or formatter type to use"""
56
+ delim_char: NotRequired[Any]
57
+ quote_char: NotRequired[Any]
58
+ escape_char: NotRequired[Any]
59
+ null_value: NotRequired[Any]
60
+ src_field: NotRequired[str]
61
+ r"""Field containing text to be parsed"""
62
+ dst_field: NotRequired[str]
63
+ r"""Name of the field to add fields to. Extract mode only."""
64
+ clean_fields: NotRequired[Any]
65
+
66
+
67
+ class PipelineFunctionSerdeConf(BaseModel):
68
+ mode: Annotated[
69
+ Optional[PipelineFunctionSerdeOperationMode],
70
+ PlainValidator(validate_open_enum(False)),
71
+ ] = PipelineFunctionSerdeOperationMode.EXTRACT
72
+ r"""Extract creates new fields. Reserialize extracts and filters fields, and then reserializes."""
73
+
74
+ type: Annotated[
75
+ Optional[PipelineFunctionSerdeType], PlainValidator(validate_open_enum(False))
76
+ ] = PipelineFunctionSerdeType.CSV
77
+ r"""Parser or formatter type to use"""
78
+
79
+ delim_char: Annotated[Optional[Any], pydantic.Field(alias="delimChar")] = None
80
+
81
+ quote_char: Annotated[Optional[Any], pydantic.Field(alias="quoteChar")] = None
82
+
83
+ escape_char: Annotated[Optional[Any], pydantic.Field(alias="escapeChar")] = None
84
+
85
+ null_value: Annotated[Optional[Any], pydantic.Field(alias="nullValue")] = None
86
+
87
+ src_field: Annotated[Optional[str], pydantic.Field(alias="srcField")] = "_raw"
88
+ r"""Field containing text to be parsed"""
89
+
90
+ dst_field: Annotated[Optional[str], pydantic.Field(alias="dstField")] = None
91
+ r"""Name of the field to add fields to. Extract mode only."""
92
+
93
+ clean_fields: Annotated[Optional[Any], pydantic.Field(alias="cleanFields")] = None
94
+
95
+ @field_serializer("mode")
96
+ def serialize_mode(self, value):
97
+ if isinstance(value, str):
98
+ try:
99
+ return models.PipelineFunctionSerdeOperationMode(value)
100
+ except ValueError:
101
+ return value
102
+ return value
103
+
104
+ @field_serializer("type")
105
+ def serialize_type(self, value):
106
+ if isinstance(value, str):
107
+ try:
108
+ return models.PipelineFunctionSerdeType(value)
109
+ except ValueError:
110
+ return value
111
+ return value
112
+
113
+
114
+ class PipelineFunctionSerdeTypedDict(TypedDict):
115
+ id: PipelineFunctionSerdeID
116
+ r"""Function ID"""
117
+ conf: PipelineFunctionSerdeConfTypedDict
118
+ filter_: NotRequired[str]
119
+ r"""Filter that selects data to be fed through this Function"""
120
+ description: NotRequired[str]
121
+ r"""Simple description of this step"""
122
+ disabled: NotRequired[bool]
123
+ r"""If true, data will not be pushed through this function"""
124
+ final: NotRequired[bool]
125
+ r"""If enabled, stops the results of this Function from being passed to the downstream Functions"""
126
+ group_id: NotRequired[str]
127
+ r"""Group ID"""
128
+
129
+
130
+ class PipelineFunctionSerde(BaseModel):
131
+ id: PipelineFunctionSerdeID
132
+ r"""Function ID"""
133
+
134
+ conf: PipelineFunctionSerdeConf
135
+
136
+ filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = "true"
137
+ r"""Filter that selects data to be fed through this Function"""
138
+
139
+ description: Optional[str] = None
140
+ r"""Simple description of this step"""
141
+
142
+ disabled: Optional[bool] = None
143
+ r"""If true, data will not be pushed through this function"""
144
+
145
+ final: Optional[bool] = None
146
+ r"""If enabled, stops the results of this Function from being passed to the downstream Functions"""
147
+
148
+ group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None
149
+ r"""Group ID"""
@@ -0,0 +1,122 @@
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 Any, List, Optional
12
+ from typing_extensions import Annotated, NotRequired, TypedDict
13
+
14
+
15
+ class PipelineFunctionSerializeID(str, Enum):
16
+ r"""Function ID"""
17
+
18
+ SERIALIZE = "serialize"
19
+
20
+
21
+ class PipelineFunctionSerializeType(str, Enum, metaclass=utils.OpenEnumMeta):
22
+ r"""Data output format"""
23
+
24
+ # CSV
25
+ CSV = "csv"
26
+ # Extended Log File Format
27
+ ELFF = "elff"
28
+ # Common Log Format
29
+ CLF = "clf"
30
+ # Key=Value Pairs
31
+ KVP = "kvp"
32
+ # JSON Object
33
+ JSON = "json"
34
+ # Delimited values
35
+ DELIM = "delim"
36
+
37
+
38
+ class PipelineFunctionSerializeConfTypedDict(TypedDict):
39
+ type: NotRequired[PipelineFunctionSerializeType]
40
+ r"""Data output format"""
41
+ delim_char: NotRequired[Any]
42
+ quote_char: NotRequired[Any]
43
+ escape_char: NotRequired[Any]
44
+ null_value: NotRequired[Any]
45
+ fields: NotRequired[List[str]]
46
+ r"""Required for CSV, ELFF, CLF, and Delimited values. All other formats support wildcard field lists. Examples: host, array*, !host *"""
47
+ src_field: NotRequired[str]
48
+ r"""Field containing object to serialize. Leave blank to serialize top-level event fields."""
49
+ dst_field: NotRequired[str]
50
+ r"""Field to serialize data to"""
51
+
52
+
53
+ class PipelineFunctionSerializeConf(BaseModel):
54
+ type: Annotated[
55
+ Optional[PipelineFunctionSerializeType],
56
+ PlainValidator(validate_open_enum(False)),
57
+ ] = PipelineFunctionSerializeType.CSV
58
+ r"""Data output format"""
59
+
60
+ delim_char: Annotated[Optional[Any], pydantic.Field(alias="delimChar")] = None
61
+
62
+ quote_char: Annotated[Optional[Any], pydantic.Field(alias="quoteChar")] = None
63
+
64
+ escape_char: Annotated[Optional[Any], pydantic.Field(alias="escapeChar")] = None
65
+
66
+ null_value: Annotated[Optional[Any], pydantic.Field(alias="nullValue")] = None
67
+
68
+ fields: Optional[List[str]] = None
69
+ r"""Required for CSV, ELFF, CLF, and Delimited values. All other formats support wildcard field lists. Examples: host, array*, !host *"""
70
+
71
+ src_field: Annotated[Optional[str], pydantic.Field(alias="srcField")] = None
72
+ r"""Field containing object to serialize. Leave blank to serialize top-level event fields."""
73
+
74
+ dst_field: Annotated[Optional[str], pydantic.Field(alias="dstField")] = "_raw"
75
+ r"""Field to serialize data to"""
76
+
77
+ @field_serializer("type")
78
+ def serialize_type(self, value):
79
+ if isinstance(value, str):
80
+ try:
81
+ return models.PipelineFunctionSerializeType(value)
82
+ except ValueError:
83
+ return value
84
+ return value
85
+
86
+
87
+ class PipelineFunctionSerializeTypedDict(TypedDict):
88
+ id: PipelineFunctionSerializeID
89
+ r"""Function ID"""
90
+ conf: PipelineFunctionSerializeConfTypedDict
91
+ filter_: NotRequired[str]
92
+ r"""Filter that selects data to be fed through this Function"""
93
+ description: NotRequired[str]
94
+ r"""Simple description of this step"""
95
+ disabled: NotRequired[bool]
96
+ r"""If true, data will not be pushed through this function"""
97
+ final: NotRequired[bool]
98
+ r"""If enabled, stops the results of this Function from being passed to the downstream Functions"""
99
+ group_id: NotRequired[str]
100
+ r"""Group ID"""
101
+
102
+
103
+ class PipelineFunctionSerialize(BaseModel):
104
+ id: PipelineFunctionSerializeID
105
+ r"""Function ID"""
106
+
107
+ conf: PipelineFunctionSerializeConf
108
+
109
+ filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = "true"
110
+ r"""Filter that selects data to be fed through this Function"""
111
+
112
+ description: Optional[str] = None
113
+ r"""Simple description of this step"""
114
+
115
+ disabled: Optional[bool] = None
116
+ r"""If true, data will not be pushed through this function"""
117
+
118
+ final: Optional[bool] = None
119
+ r"""If enabled, stops the results of this Function from being passed to the downstream Functions"""
120
+
121
+ group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None
122
+ 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 .functionconfschemasidlookup import (
5
+ FunctionConfSchemaSidlookup,
6
+ FunctionConfSchemaSidlookupTypedDict,
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 PipelineFunctionSidlookupID(str, Enum):
16
+ r"""Function ID"""
17
+
18
+ SIDLOOKUP = "sidlookup"
19
+
20
+
21
+ class PipelineFunctionSidlookupTypedDict(TypedDict):
22
+ id: PipelineFunctionSidlookupID
23
+ r"""Function ID"""
24
+ conf: FunctionConfSchemaSidlookupTypedDict
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 PipelineFunctionSidlookup(BaseModel):
38
+ id: PipelineFunctionSidlookupID
39
+ r"""Function ID"""
40
+
41
+ conf: FunctionConfSchemaSidlookup
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 .functionconfschemasnmptrapserialize import (
5
+ FunctionConfSchemaSnmpTrapSerialize,
6
+ FunctionConfSchemaSnmpTrapSerializeTypedDict,
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 PipelineFunctionSnmpTrapSerializeID(str, Enum):
16
+ r"""Function ID"""
17
+
18
+ SNMP_TRAP_SERIALIZE = "snmp_trap_serialize"
19
+
20
+
21
+ class PipelineFunctionSnmpTrapSerializeTypedDict(TypedDict):
22
+ id: PipelineFunctionSnmpTrapSerializeID
23
+ r"""Function ID"""
24
+ conf: FunctionConfSchemaSnmpTrapSerializeTypedDict
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 PipelineFunctionSnmpTrapSerialize(BaseModel):
38
+ id: PipelineFunctionSnmpTrapSerializeID
39
+ r"""Function ID"""
40
+
41
+ conf: FunctionConfSchemaSnmpTrapSerialize
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,84 @@
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 Optional
8
+ from typing_extensions import Annotated, NotRequired, TypedDict
9
+
10
+
11
+ class PipelineFunctionSortID(str, Enum):
12
+ r"""Function ID"""
13
+
14
+ SORT = "sort"
15
+
16
+
17
+ class SortConfigurationTypedDict(TypedDict):
18
+ comparison_expression: str
19
+ r"""The expression can access the events via the 'left' and 'right' properties."""
20
+ sort_id: NotRequired[str]
21
+ r"""Has to be unique if there are multiple sorts on the pipeline."""
22
+ top_n: NotRequired[float]
23
+ r"""Limits the output to N (highest/lowest) events"""
24
+ max_events: NotRequired[float]
25
+ r"""Specifies the number of events that can flow into this function"""
26
+ suppress_previews: NotRequired[bool]
27
+ r"""Toggle this on to suppress generating previews of intermediate results"""
28
+
29
+
30
+ class SortConfiguration(BaseModel):
31
+ comparison_expression: Annotated[str, pydantic.Field(alias="comparisonExpression")]
32
+ r"""The expression can access the events via the 'left' and 'right' properties."""
33
+
34
+ sort_id: Annotated[Optional[str], pydantic.Field(alias="sortId")] = None
35
+ r"""Has to be unique if there are multiple sorts on the pipeline."""
36
+
37
+ top_n: Annotated[Optional[float], pydantic.Field(alias="topN")] = None
38
+ r"""Limits the output to N (highest/lowest) events"""
39
+
40
+ max_events: Annotated[Optional[float], pydantic.Field(alias="maxEvents")] = None
41
+ r"""Specifies the number of events that can flow into this function"""
42
+
43
+ suppress_previews: Annotated[
44
+ Optional[bool], pydantic.Field(alias="suppressPreviews")
45
+ ] = None
46
+ r"""Toggle this on to suppress generating previews of intermediate results"""
47
+
48
+
49
+ class PipelineFunctionSortTypedDict(TypedDict):
50
+ id: PipelineFunctionSortID
51
+ r"""Function ID"""
52
+ conf: SortConfigurationTypedDict
53
+ filter_: NotRequired[str]
54
+ r"""Filter that selects data to be fed through this Function"""
55
+ description: NotRequired[str]
56
+ r"""Simple description of this step"""
57
+ disabled: NotRequired[bool]
58
+ r"""If true, data will not be pushed through this function"""
59
+ final: NotRequired[bool]
60
+ r"""If enabled, stops the results of this Function from being passed to the downstream Functions"""
61
+ group_id: NotRequired[str]
62
+ r"""Group ID"""
63
+
64
+
65
+ class PipelineFunctionSort(BaseModel):
66
+ id: PipelineFunctionSortID
67
+ r"""Function ID"""
68
+
69
+ conf: SortConfiguration
70
+
71
+ filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = "true"
72
+ r"""Filter that selects data to be fed through this Function"""
73
+
74
+ description: Optional[str] = None
75
+ r"""Simple description of this step"""
76
+
77
+ disabled: Optional[bool] = None
78
+ r"""If true, data will not be pushed through this function"""
79
+
80
+ final: Optional[bool] = None
81
+ r"""If enabled, stops the results of this Function from being passed to the downstream Functions"""
82
+
83
+ group_id: Annotated[Optional[str], pydantic.Field(alias="groupId")] = None
84
+ r"""Group ID"""