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,129 @@
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, Union
12
+ from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
13
+
14
+
15
+ class Operator(str, Enum, metaclass=utils.OpenEnumMeta):
16
+ r"""Comparison operator"""
17
+
18
+ EQUAL = "="
19
+ NOT_EQUAL = "!="
20
+ REGEX_MATCH = "=~"
21
+ REGEX_NOT_MATCH = "!~"
22
+
23
+
24
+ ValueTypedDict = TypeAliasType("ValueTypedDict", Union[str, float, bool])
25
+ r"""Value to compare against (string, number, boolean)"""
26
+
27
+
28
+ Value = TypeAliasType("Value", Union[str, float, bool])
29
+ r"""Value to compare against (string, number, boolean)"""
30
+
31
+
32
+ class ConditionTypedDict(TypedDict):
33
+ key: str
34
+ r"""Event field name to match against"""
35
+ operator: Operator
36
+ r"""Comparison operator"""
37
+ value: ValueTypedDict
38
+ r"""Value to compare against (string, number, boolean)"""
39
+
40
+
41
+ class Condition(BaseModel):
42
+ key: str
43
+ r"""Event field name to match against"""
44
+
45
+ operator: Annotated[Operator, PlainValidator(validate_open_enum(False))]
46
+ r"""Comparison operator"""
47
+
48
+ value: Value
49
+ r"""Value to compare against (string, number, boolean)"""
50
+
51
+ @field_serializer("operator")
52
+ def serialize_operator(self, value):
53
+ if isinstance(value, str):
54
+ try:
55
+ return models.Operator(value)
56
+ except ValueError:
57
+ return value
58
+ return value
59
+
60
+
61
+ class TemplateTargetPairTypedDict(TypedDict):
62
+ template_id: str
63
+ r"""ID of the notification template to use"""
64
+ target_id: str
65
+ r"""ID of the notification target (output)"""
66
+
67
+
68
+ class TemplateTargetPair(BaseModel):
69
+ template_id: Annotated[str, pydantic.Field(alias="templateId")]
70
+ r"""ID of the notification template to use"""
71
+
72
+ target_id: Annotated[str, pydantic.Field(alias="targetId")]
73
+ r"""ID of the notification target (output)"""
74
+
75
+
76
+ class PolicyTypedDict(TypedDict):
77
+ id: str
78
+ r"""Unique identifier for this policy"""
79
+ template_target_pairs: List[TemplateTargetPairTypedDict]
80
+ r"""List of targets to route to and the templates to use"""
81
+ disabled: NotRequired[bool]
82
+ r"""If true, this policy will be skipped during evaluation"""
83
+ wait_to_group: NotRequired[float]
84
+ r"""Time to wait (in minutes) to group similar alerts before sending"""
85
+ group_by_labels: NotRequired[List[str]]
86
+ r"""Event fields to use for grouping"""
87
+ conditions: NotRequired[List[List[ConditionTypedDict]]]
88
+ r"""List of conditions. If ANY condition matches (OR), the policy applies. Each condition is a list of tags that must ALL match (AND)."""
89
+ final: NotRequired[bool]
90
+ r"""If true, stop evaluating further policies after this one matches"""
91
+
92
+
93
+ class Policy(BaseModel):
94
+ id: str
95
+ r"""Unique identifier for this policy"""
96
+
97
+ template_target_pairs: Annotated[
98
+ List[TemplateTargetPair], pydantic.Field(alias="templateTargetPairs")
99
+ ]
100
+ r"""List of targets to route to and the templates to use"""
101
+
102
+ disabled: Optional[bool] = False
103
+ r"""If true, this policy will be skipped during evaluation"""
104
+
105
+ wait_to_group: Annotated[Optional[float], pydantic.Field(alias="waitToGroup")] = (
106
+ None
107
+ )
108
+ r"""Time to wait (in minutes) to group similar alerts before sending"""
109
+
110
+ group_by_labels: Annotated[
111
+ Optional[List[str]], pydantic.Field(alias="groupByLabels")
112
+ ] = None
113
+ r"""Event fields to use for grouping"""
114
+
115
+ conditions: Optional[List[List[Condition]]] = None
116
+ r"""List of conditions. If ANY condition matches (OR), the policy applies. Each condition is a list of tags that must ALL match (AND)."""
117
+
118
+ final: Optional[bool] = False
119
+ r"""If true, stop evaluating further policies after this one matches"""
120
+
121
+
122
+ class FunctionConfSchemaNotificationPoliciesTypedDict(TypedDict):
123
+ policies: NotRequired[List[PolicyTypedDict]]
124
+ r"""List of notification routing policies evaluated in order"""
125
+
126
+
127
+ class FunctionConfSchemaNotificationPolicies(BaseModel):
128
+ policies: Optional[List[Policy]] = None
129
+ r"""List of notification routing policies evaluated in order"""
@@ -0,0 +1,26 @@
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 FunctionConfSchemaNotificationsTypedDict(TypedDict):
10
+ id: NotRequired[str]
11
+ r"""Notification ID"""
12
+ field: NotRequired[str]
13
+ r"""Notification event state field name"""
14
+ deduplicate: NotRequired[bool]
15
+ r"""Toggle deduplication."""
16
+
17
+
18
+ class FunctionConfSchemaNotifications(BaseModel):
19
+ id: Optional[str] = None
20
+ r"""Notification ID"""
21
+
22
+ field: Optional[str] = None
23
+ r"""Notification event state field name"""
24
+
25
+ deduplicate: Optional[bool] = None
26
+ r"""Toggle deduplication."""
@@ -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 Optional
12
+ from typing_extensions import Annotated, NotRequired, TypedDict
13
+
14
+
15
+ class FunctionConfSchemaNotifyTriggerType(str, Enum, metaclass=utils.OpenEnumMeta):
16
+ r"""Type of the trigger condition. custom applies a kusto expression over the results, and results count applies a comparison over results count"""
17
+
18
+ # Where
19
+ CUSTOM = "custom"
20
+ # Count of Results
21
+ RESULTS_COUNT = "resultsCount"
22
+
23
+
24
+ class FunctionConfSchemaNotifyCountComparator(str, Enum, metaclass=utils.OpenEnumMeta):
25
+ r"""Operation to be applied over the results count"""
26
+
27
+ # greater than
28
+ GREATER_THAN_ = ">"
29
+ # less than
30
+ LESS_THAN_ = "<"
31
+ # equals
32
+ EQUAL_EQUAL_EQUAL_ = "==="
33
+ # not equal to
34
+ NOT_EQUAL_EQUAL_ = "!=="
35
+ # greater than or equal to
36
+ GREATER_THAN_EQUAL_ = ">="
37
+ # less than or equal to
38
+ LESS_THAN_EQUAL_ = "<="
39
+
40
+
41
+ class FunctionConfSchemaNotifyTypedDict(TypedDict):
42
+ group: NotRequired[str]
43
+ r"""Group the notification belongs to"""
44
+ notification_id: NotRequired[str]
45
+ r"""Workspace within the deployment to send the search results to."""
46
+ search_id: NotRequired[str]
47
+ r"""Id of the search this function is running on."""
48
+ saved_query_id: NotRequired[str]
49
+ r"""Id of the saved query"""
50
+ trigger: NotRequired[str]
51
+ r"""Js expression that filters events, a greater than 'Trigger Count' events will trigger the notification"""
52
+ trigger_type: NotRequired[FunctionConfSchemaNotifyTriggerType]
53
+ r"""Type of the trigger condition. custom applies a kusto expression over the results, and results count applies a comparison over results count"""
54
+ trigger_comparator: NotRequired[FunctionConfSchemaNotifyCountComparator]
55
+ r"""Operation to be applied over the results count"""
56
+ trigger_count: NotRequired[float]
57
+ r"""How many results that match trigger the condition"""
58
+ results_limit: NotRequired[float]
59
+ r"""Number of results to include in the notification event"""
60
+ search_url: NotRequired[str]
61
+ r"""Url of the search results"""
62
+ message: NotRequired[str]
63
+ r"""Message content template, available fields: searchId, resultSet, savedQueryId, notificationId, searchResultsUrl"""
64
+ auth_token: NotRequired[str]
65
+ r"""Auth token for sending notification messages"""
66
+ messages_endpoint: NotRequired[str]
67
+ r"""System messages api endpoint"""
68
+ tenant_id: NotRequired[str]
69
+ r"""Current tenant id"""
70
+
71
+
72
+ class FunctionConfSchemaNotify(BaseModel):
73
+ group: Optional[str] = "default"
74
+ r"""Group the notification belongs to"""
75
+
76
+ notification_id: Annotated[
77
+ Optional[str], pydantic.Field(alias="notificationId")
78
+ ] = "main"
79
+ r"""Workspace within the deployment to send the search results to."""
80
+
81
+ search_id: Annotated[Optional[str], pydantic.Field(alias="searchId")] = None
82
+ r"""Id of the search this function is running on."""
83
+
84
+ saved_query_id: Annotated[Optional[str], pydantic.Field(alias="savedQueryId")] = (
85
+ None
86
+ )
87
+ r"""Id of the saved query"""
88
+
89
+ trigger: Optional[str] = None
90
+ r"""Js expression that filters events, a greater than 'Trigger Count' events will trigger the notification"""
91
+
92
+ trigger_type: Annotated[
93
+ Annotated[
94
+ Optional[FunctionConfSchemaNotifyTriggerType],
95
+ PlainValidator(validate_open_enum(False)),
96
+ ],
97
+ pydantic.Field(alias="triggerType"),
98
+ ] = None
99
+ r"""Type of the trigger condition. custom applies a kusto expression over the results, and results count applies a comparison over results count"""
100
+
101
+ trigger_comparator: Annotated[
102
+ Annotated[
103
+ Optional[FunctionConfSchemaNotifyCountComparator],
104
+ PlainValidator(validate_open_enum(False)),
105
+ ],
106
+ pydantic.Field(alias="triggerComparator"),
107
+ ] = None
108
+ r"""Operation to be applied over the results count"""
109
+
110
+ trigger_count: Annotated[Optional[float], pydantic.Field(alias="triggerCount")] = 0
111
+ r"""How many results that match trigger the condition"""
112
+
113
+ results_limit: Annotated[Optional[float], pydantic.Field(alias="resultsLimit")] = 50
114
+ r"""Number of results to include in the notification event"""
115
+
116
+ search_url: Annotated[Optional[str], pydantic.Field(alias="searchUrl")] = None
117
+ r"""Url of the search results"""
118
+
119
+ message: Optional[str] = None
120
+ r"""Message content template, available fields: searchId, resultSet, savedQueryId, notificationId, searchResultsUrl"""
121
+
122
+ auth_token: Annotated[Optional[str], pydantic.Field(alias="authToken")] = None
123
+ r"""Auth token for sending notification messages"""
124
+
125
+ messages_endpoint: Annotated[
126
+ Optional[str], pydantic.Field(alias="messagesEndpoint")
127
+ ] = None
128
+ r"""System messages api endpoint"""
129
+
130
+ tenant_id: Annotated[Optional[str], pydantic.Field(alias="tenantId")] = None
131
+ r"""Current tenant id"""
132
+
133
+ @field_serializer("trigger_type")
134
+ def serialize_trigger_type(self, value):
135
+ if isinstance(value, str):
136
+ try:
137
+ return models.FunctionConfSchemaNotifyTriggerType(value)
138
+ except ValueError:
139
+ return value
140
+ return value
141
+
142
+ @field_serializer("trigger_comparator")
143
+ def serialize_trigger_comparator(self, value):
144
+ if isinstance(value, str):
145
+ try:
146
+ return models.FunctionConfSchemaNotifyCountComparator(value)
147
+ except ValueError:
148
+ return value
149
+ return value
@@ -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 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 FunctionConfSchemaNumerifyFormat(str, Enum, metaclass=utils.OpenEnumMeta):
16
+ # None
17
+ NONE = "none"
18
+ # Fix
19
+ FIX = "fix"
20
+ # Floor
21
+ FLOOR = "floor"
22
+ # Ceil
23
+ CEIL = "ceil"
24
+
25
+
26
+ class FunctionConfSchemaNumerifyTypedDict(TypedDict):
27
+ depth: NotRequired[int]
28
+ r"""Depth to which the Numerify Function will search within a nested event. Depth greater than 5 (the default) could decrease performance."""
29
+ ignore_fields: NotRequired[List[str]]
30
+ r"""Fields to NOT numerify. Takes precedence over 'Include expression' when set. Supports wildcards. A '!' before field name(s) means: numerify all fields EXCEPT these. For syntax details, see [Wildcard Lists](https://docs.cribl.io/stream/introduction-reference/#wildcard-lists)."""
31
+ filter_expr: NotRequired[str]
32
+ r"""Optional JavaScript expression to determine whether a field should be numerified. If left blank, all fields will be numerified. Use the 'name' and 'value' global variables to access fields' names/values. Examples: `value != null`, `name=='fieldname'`. You can access other fields' values via `__e.<fieldName>`."""
33
+ format_: NotRequired[FunctionConfSchemaNumerifyFormat]
34
+
35
+
36
+ class FunctionConfSchemaNumerify(BaseModel):
37
+ depth: Optional[int] = 5
38
+ r"""Depth to which the Numerify Function will search within a nested event. Depth greater than 5 (the default) could decrease performance."""
39
+
40
+ ignore_fields: Annotated[
41
+ Optional[List[str]], pydantic.Field(alias="ignoreFields")
42
+ ] = None
43
+ r"""Fields to NOT numerify. Takes precedence over 'Include expression' when set. Supports wildcards. A '!' before field name(s) means: numerify all fields EXCEPT these. For syntax details, see [Wildcard Lists](https://docs.cribl.io/stream/introduction-reference/#wildcard-lists)."""
44
+
45
+ filter_expr: Annotated[Optional[str], pydantic.Field(alias="filterExpr")] = None
46
+ r"""Optional JavaScript expression to determine whether a field should be numerified. If left blank, all fields will be numerified. Use the 'name' and 'value' global variables to access fields' names/values. Examples: `value != null`, `name=='fieldname'`. You can access other fields' values via `__e.<fieldName>`."""
47
+
48
+ format_: Annotated[
49
+ Annotated[
50
+ Optional[FunctionConfSchemaNumerifyFormat],
51
+ PlainValidator(validate_open_enum(False)),
52
+ ],
53
+ pydantic.Field(alias="format"),
54
+ ] = FunctionConfSchemaNumerifyFormat.NONE
55
+
56
+ @field_serializer("format_")
57
+ def serialize_format_(self, value):
58
+ if isinstance(value, str):
59
+ try:
60
+ return models.FunctionConfSchemaNumerifyFormat(value)
61
+ except ValueError:
62
+ return value
63
+ return value
@@ -0,0 +1,24 @@
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 FunctionConfSchemaOtlpLogsTypedDict(TypedDict):
11
+ drop_non_log_events: NotRequired[bool]
12
+ batch_otlp_logs: NotRequired[bool]
13
+ r"""Batch OTLP log records by shared top-level `resource` attributes"""
14
+
15
+
16
+ class FunctionConfSchemaOtlpLogs(BaseModel):
17
+ drop_non_log_events: Annotated[
18
+ Optional[bool], pydantic.Field(alias="dropNonLogEvents")
19
+ ] = False
20
+
21
+ batch_otlp_logs: Annotated[
22
+ Optional[bool], pydantic.Field(alias="batchOTLPLogs")
23
+ ] = False
24
+ r"""Batch OTLP log records by shared top-level `resource` attributes"""
@@ -0,0 +1,61 @@
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 FunctionConfSchemaOTLPMetricsOTLPVersion(str, Enum, metaclass=utils.OpenEnumMeta):
16
+ # 0.10.0
17
+ ZERO_DOT_10_DOT_0 = "0.10.0"
18
+ # 1.3.1
19
+ ONE_DOT_3_DOT_1 = "1.3.1"
20
+
21
+
22
+ class FunctionConfSchemaOtlpMetricsTypedDict(TypedDict):
23
+ resource_attribute_prefixes: NotRequired[List[str]]
24
+ r"""The prefixes of top-level attributes to add as resource attributes. Each attribute must match the regex pattern `^[a-zA-Z0-9_\.]+$`. Use Eval to copy nested attributes to the top level for matching."""
25
+ drop_non_metric_events: NotRequired[bool]
26
+ otlp_version: NotRequired[FunctionConfSchemaOTLPMetricsOTLPVersion]
27
+ batch_otlp_metrics: NotRequired[bool]
28
+ r"""Batch OTLP metrics by shared top-level `resource` attributes"""
29
+
30
+
31
+ class FunctionConfSchemaOtlpMetrics(BaseModel):
32
+ resource_attribute_prefixes: Annotated[
33
+ Optional[List[str]], pydantic.Field(alias="resourceAttributePrefixes")
34
+ ] = None
35
+ r"""The prefixes of top-level attributes to add as resource attributes. Each attribute must match the regex pattern `^[a-zA-Z0-9_\.]+$`. Use Eval to copy nested attributes to the top level for matching."""
36
+
37
+ drop_non_metric_events: Annotated[
38
+ Optional[bool], pydantic.Field(alias="dropNonMetricEvents")
39
+ ] = False
40
+
41
+ otlp_version: Annotated[
42
+ Annotated[
43
+ Optional[FunctionConfSchemaOTLPMetricsOTLPVersion],
44
+ PlainValidator(validate_open_enum(False)),
45
+ ],
46
+ pydantic.Field(alias="otlpVersion"),
47
+ ] = FunctionConfSchemaOTLPMetricsOTLPVersion.ZERO_DOT_10_DOT_0
48
+
49
+ batch_otlp_metrics: Annotated[
50
+ Optional[bool], pydantic.Field(alias="batchOTLPMetrics")
51
+ ] = False
52
+ r"""Batch OTLP metrics by shared top-level `resource` attributes"""
53
+
54
+ @field_serializer("otlp_version")
55
+ def serialize_otlp_version(self, value):
56
+ if isinstance(value, str):
57
+ try:
58
+ return models.FunctionConfSchemaOTLPMetricsOTLPVersion(value)
59
+ except ValueError:
60
+ return value
61
+ return value
@@ -0,0 +1,54 @@
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 FunctionConfSchemaOTLPTracesOTLPVersion(str, Enum, metaclass=utils.OpenEnumMeta):
16
+ # 0.10.0
17
+ ZERO_DOT_10_DOT_0 = "0.10.0"
18
+ # 1.3.1
19
+ ONE_DOT_3_DOT_1 = "1.3.1"
20
+
21
+
22
+ class FunctionConfSchemaOtlpTracesTypedDict(TypedDict):
23
+ drop_non_trace_events: NotRequired[bool]
24
+ otlp_version: NotRequired[FunctionConfSchemaOTLPTracesOTLPVersion]
25
+ batch_otlp_traces: NotRequired[bool]
26
+ r"""Batch OTLP traces by shared top-level `resource` attributes"""
27
+
28
+
29
+ class FunctionConfSchemaOtlpTraces(BaseModel):
30
+ drop_non_trace_events: Annotated[
31
+ Optional[bool], pydantic.Field(alias="dropNonTraceEvents")
32
+ ] = False
33
+
34
+ otlp_version: Annotated[
35
+ Annotated[
36
+ Optional[FunctionConfSchemaOTLPTracesOTLPVersion],
37
+ PlainValidator(validate_open_enum(False)),
38
+ ],
39
+ pydantic.Field(alias="otlpVersion"),
40
+ ] = FunctionConfSchemaOTLPTracesOTLPVersion.ZERO_DOT_10_DOT_0
41
+
42
+ batch_otlp_traces: Annotated[
43
+ Optional[bool], pydantic.Field(alias="batchOTLPTraces")
44
+ ] = False
45
+ r"""Batch OTLP traces by shared top-level `resource` attributes"""
46
+
47
+ @field_serializer("otlp_version")
48
+ def serialize_otlp_version(self, value):
49
+ if isinstance(value, str):
50
+ try:
51
+ return models.FunctionConfSchemaOTLPTracesOTLPVersion(value)
52
+ except ValueError:
53
+ return value
54
+ return value
@@ -0,0 +1,24 @@
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 FunctionConfSchemaPackTypedDict(TypedDict):
11
+ unpacked_fields: NotRequired[List[str]]
12
+ r"""List of fields to keep, everything else will be packed"""
13
+ target: NotRequired[str]
14
+ r"""Name of the (packed) target field"""
15
+
16
+
17
+ class FunctionConfSchemaPack(BaseModel):
18
+ unpacked_fields: Annotated[
19
+ Optional[List[str]], pydantic.Field(alias="unpackedFields")
20
+ ] = None
21
+ r"""List of fields to keep, everything else will be packed"""
22
+
23
+ target: Optional[str] = "_pack"
24
+ r"""Name of the (packed) target field"""
@@ -0,0 +1,31 @@
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 FunctionConfSchemaPivotTypedDict(TypedDict):
11
+ label_field: NotRequired[str]
12
+ r"""Fields to be used for the left-most column."""
13
+ data_fields: NotRequired[List[str]]
14
+ r"""Fields with the cell values (i.e. aggregates)"""
15
+ qualifier_fields: NotRequired[List[str]]
16
+ r"""Fields to qualify or group data fields"""
17
+
18
+
19
+ class FunctionConfSchemaPivot(BaseModel):
20
+ label_field: Annotated[Optional[str], pydantic.Field(alias="labelField")] = None
21
+ r"""Fields to be used for the left-most column."""
22
+
23
+ data_fields: Annotated[Optional[List[str]], pydantic.Field(alias="dataFields")] = (
24
+ None
25
+ )
26
+ r"""Fields with the cell values (i.e. aggregates)"""
27
+
28
+ qualifier_fields: Annotated[
29
+ Optional[List[str]], pydantic.Field(alias="qualifierFields")
30
+ ] = None
31
+ r"""Fields to qualify or group data fields"""
@@ -0,0 +1,98 @@
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 FunctionConfSchemaPublishMetricsMetricType(
16
+ str, Enum, metaclass=utils.OpenEnumMeta
17
+ ):
18
+ # Counter
19
+ COUNTER = "counter"
20
+ # Timer
21
+ TIMER = "timer"
22
+ # Gauge
23
+ GAUGE = "gauge"
24
+ # Distribution
25
+ DISTRIBUTION = "distribution"
26
+ # Summary
27
+ SUMMARY = "summary"
28
+ # Histogram
29
+ HISTOGRAM = "histogram"
30
+
31
+
32
+ class FunctionConfSchemaPublishMetricsFieldTypedDict(TypedDict):
33
+ in_field_name: str
34
+ r"""The name of the field in the event that contains the metric value"""
35
+ out_field_expr: NotRequired[str]
36
+ r"""JavaScript expression to evaluate the metric field name. Defaults to Event Field Name."""
37
+ metric_type: NotRequired[FunctionConfSchemaPublishMetricsMetricType]
38
+
39
+
40
+ class FunctionConfSchemaPublishMetricsField(BaseModel):
41
+ in_field_name: Annotated[str, pydantic.Field(alias="inFieldName")]
42
+ r"""The name of the field in the event that contains the metric value"""
43
+
44
+ out_field_expr: Annotated[Optional[str], pydantic.Field(alias="outFieldExpr")] = (
45
+ None
46
+ )
47
+ r"""JavaScript expression to evaluate the metric field name. Defaults to Event Field Name."""
48
+
49
+ metric_type: Annotated[
50
+ Annotated[
51
+ Optional[FunctionConfSchemaPublishMetricsMetricType],
52
+ PlainValidator(validate_open_enum(False)),
53
+ ],
54
+ pydantic.Field(alias="metricType"),
55
+ ] = FunctionConfSchemaPublishMetricsMetricType.GAUGE
56
+
57
+ @field_serializer("metric_type")
58
+ def serialize_metric_type(self, value):
59
+ if isinstance(value, str):
60
+ try:
61
+ return models.FunctionConfSchemaPublishMetricsMetricType(value)
62
+ except ValueError:
63
+ return value
64
+ return value
65
+
66
+
67
+ class FunctionConfSchemaPublishMetricsTypedDict(TypedDict):
68
+ fields: NotRequired[List[FunctionConfSchemaPublishMetricsFieldTypedDict]]
69
+ r"""List of metrics from event to extract and format. Formatted metrics can be used by a destination to pass metrics to a metrics aggregation platform."""
70
+ overwrite: NotRequired[bool]
71
+ r"""Overwrite previous metric specs. Leave disabled to append."""
72
+ dimensions: NotRequired[List[str]]
73
+ r"""Optional list of dimensions to include in events. Wildcards supported. If you don't specify metrics, values will be appended to every metric found in the event. When you add a new metric, dimensions will be present only in those new metrics."""
74
+ remove_metrics: NotRequired[List[str]]
75
+ r"""Optional list of metric field names to look for when removing metrics. When a metric's field name matches an element in this list, the metric will be removed from the event."""
76
+ remove_dimensions: NotRequired[List[str]]
77
+ r"""Optional list of dimensions to remove from every metric found in the event. Wildcards supported."""
78
+
79
+
80
+ class FunctionConfSchemaPublishMetrics(BaseModel):
81
+ fields: Optional[List[FunctionConfSchemaPublishMetricsField]] = None
82
+ r"""List of metrics from event to extract and format. Formatted metrics can be used by a destination to pass metrics to a metrics aggregation platform."""
83
+
84
+ overwrite: Optional[bool] = False
85
+ r"""Overwrite previous metric specs. Leave disabled to append."""
86
+
87
+ dimensions: Optional[List[str]] = None
88
+ r"""Optional list of dimensions to include in events. Wildcards supported. If you don't specify metrics, values will be appended to every metric found in the event. When you add a new metric, dimensions will be present only in those new metrics."""
89
+
90
+ remove_metrics: Annotated[
91
+ Optional[List[str]], pydantic.Field(alias="removeMetrics")
92
+ ] = None
93
+ r"""Optional list of metric field names to look for when removing metrics. When a metric's field name matches an element in this list, the metric will be removed from the event."""
94
+
95
+ remove_dimensions: Annotated[
96
+ Optional[List[str]], pydantic.Field(alias="removeDimensions")
97
+ ] = None
98
+ r"""Optional list of dimensions to remove from every metric found in the event. Wildcards supported."""