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
@@ -1,6 +1,10 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
+ from .functionconfschemalocalsearchdatatypeparser import (
5
+ FunctionConfSchemaLocalSearchDatatypeParser,
6
+ FunctionConfSchemaLocalSearchDatatypeParserTypedDict,
7
+ )
4
8
  from cribl_control_plane.types import BaseModel
5
9
  from enum import Enum
6
10
  import pydantic
@@ -12,16 +16,6 @@ class FunctionLocalSearchDatatypeParserID(str, Enum):
12
16
  LOCAL_SEARCH_DATATYPE_PARSER = "local_search_datatype_parser"
13
17
 
14
18
 
15
- class FunctionLocalSearchDatatypeParserSchemaTypedDict(TypedDict):
16
- ruleset_id: str
17
- r"""ID of the local search datatype ruleset"""
18
-
19
-
20
- class FunctionLocalSearchDatatypeParserSchema(BaseModel):
21
- ruleset_id: Annotated[str, pydantic.Field(alias="rulesetId")]
22
- r"""ID of the local search datatype ruleset"""
23
-
24
-
25
19
  class FunctionLocalSearchDatatypeParserTypedDict(TypedDict):
26
20
  filename: str
27
21
  group: str
@@ -36,7 +30,7 @@ class FunctionLocalSearchDatatypeParserTypedDict(TypedDict):
36
30
  disabled: NotRequired[bool]
37
31
  handle_signals: NotRequired[bool]
38
32
  sync: NotRequired[bool]
39
- schema_: NotRequired[FunctionLocalSearchDatatypeParserSchemaTypedDict]
33
+ schema_: NotRequired[FunctionConfSchemaLocalSearchDatatypeParserTypedDict]
40
34
 
41
35
 
42
36
  class FunctionLocalSearchDatatypeParser(BaseModel):
@@ -71,6 +65,6 @@ class FunctionLocalSearchDatatypeParser(BaseModel):
71
65
  sync: Optional[bool] = None
72
66
 
73
67
  schema_: Annotated[
74
- Optional[FunctionLocalSearchDatatypeParserSchema],
68
+ Optional[FunctionConfSchemaLocalSearchDatatypeParser],
75
69
  pydantic.Field(alias="schema"),
76
70
  ] = None
@@ -1,13 +1,13 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
- from cribl_control_plane import models, utils
4
+ from .functionconfschemalocalsearchrulesetrunner import (
5
+ FunctionConfSchemaLocalSearchRulesetRunner,
6
+ FunctionConfSchemaLocalSearchRulesetRunnerTypedDict,
7
+ )
5
8
  from cribl_control_plane.types import BaseModel
6
- from cribl_control_plane.utils import validate_open_enum
7
9
  from enum import Enum
8
10
  import pydantic
9
- from pydantic import field_serializer
10
- from pydantic.functional_validators import PlainValidator
11
11
  from typing import Any, Dict, Optional
12
12
  from typing_extensions import Annotated, NotRequired, TypedDict
13
13
 
@@ -16,34 +16,6 @@ class FunctionLocalSearchRulesetRunnerID(str, Enum):
16
16
  LOCAL_SEARCH_RULESET_RUNNER = "local_search_ruleset_runner"
17
17
 
18
18
 
19
- class RulesetType(str, Enum, metaclass=utils.OpenEnumMeta):
20
- DATASET = "dataset"
21
- DATATYPE = "datatype"
22
-
23
-
24
- class FunctionLocalSearchRulesetRunnerSchemaTypedDict(TypedDict):
25
- ruleset_type: NotRequired[RulesetType]
26
- ruleset_id: NotRequired[str]
27
-
28
-
29
- class FunctionLocalSearchRulesetRunnerSchema(BaseModel):
30
- ruleset_type: Annotated[
31
- Annotated[Optional[RulesetType], PlainValidator(validate_open_enum(False))],
32
- pydantic.Field(alias="rulesetType"),
33
- ] = None
34
-
35
- ruleset_id: Annotated[Optional[str], pydantic.Field(alias="rulesetId")] = None
36
-
37
- @field_serializer("ruleset_type")
38
- def serialize_ruleset_type(self, value):
39
- if isinstance(value, str):
40
- try:
41
- return models.RulesetType(value)
42
- except ValueError:
43
- return value
44
- return value
45
-
46
-
47
19
  class FunctionLocalSearchRulesetRunnerTypedDict(TypedDict):
48
20
  filename: str
49
21
  group: str
@@ -58,7 +30,7 @@ class FunctionLocalSearchRulesetRunnerTypedDict(TypedDict):
58
30
  disabled: NotRequired[bool]
59
31
  handle_signals: NotRequired[bool]
60
32
  sync: NotRequired[bool]
61
- schema_: NotRequired[FunctionLocalSearchRulesetRunnerSchemaTypedDict]
33
+ schema_: NotRequired[FunctionConfSchemaLocalSearchRulesetRunnerTypedDict]
62
34
 
63
35
 
64
36
  class FunctionLocalSearchRulesetRunner(BaseModel):
@@ -93,5 +65,6 @@ class FunctionLocalSearchRulesetRunner(BaseModel):
93
65
  sync: Optional[bool] = None
94
66
 
95
67
  schema_: Annotated[
96
- Optional[FunctionLocalSearchRulesetRunnerSchema], pydantic.Field(alias="schema")
68
+ Optional[FunctionConfSchemaLocalSearchRulesetRunner],
69
+ pydantic.Field(alias="schema"),
97
70
  ] = None
@@ -1,10 +1,14 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
+ from .functionconfschemalookup import (
5
+ FunctionConfSchemaLookup,
6
+ FunctionConfSchemaLookupTypedDict,
7
+ )
4
8
  from cribl_control_plane.types import BaseModel
5
9
  from enum import Enum
6
10
  import pydantic
7
- from typing import Any, Dict, List, Optional
11
+ from typing import Any, Dict, Optional
8
12
  from typing_extensions import Annotated, NotRequired, TypedDict
9
13
 
10
14
 
@@ -12,89 +16,6 @@ class FunctionLookupID(str, Enum):
12
16
  LOOKUP = "lookup"
13
17
 
14
18
 
15
- class InFieldTypedDict(TypedDict):
16
- event_field: str
17
- r"""Field name as it appears in events"""
18
- lookup_field: NotRequired[str]
19
- r"""Optional: The field name as it appears in the lookup file. Defaults to event field name"""
20
-
21
-
22
- class InField(BaseModel):
23
- event_field: Annotated[str, pydantic.Field(alias="eventField")]
24
- r"""Field name as it appears in events"""
25
-
26
- lookup_field: Annotated[Optional[str], pydantic.Field(alias="lookupField")] = None
27
- r"""Optional: The field name as it appears in the lookup file. Defaults to event field name"""
28
-
29
-
30
- class OutFieldTypedDict(TypedDict):
31
- lookup_field: str
32
- r"""The field name as it appears in the lookup file"""
33
- event_field: NotRequired[str]
34
- r"""Optional: Field name to add to event. Defaults to lookup field name."""
35
- default_value: NotRequired[str]
36
- r"""Optional: Value to assign if lookup entry is not found"""
37
-
38
-
39
- class OutField(BaseModel):
40
- lookup_field: Annotated[str, pydantic.Field(alias="lookupField")]
41
- r"""The field name as it appears in the lookup file"""
42
-
43
- event_field: Annotated[Optional[str], pydantic.Field(alias="eventField")] = None
44
- r"""Optional: Field name to add to event. Defaults to lookup field name."""
45
-
46
- default_value: Annotated[Optional[str], pydantic.Field(alias="defaultValue")] = None
47
- r"""Optional: Value to assign if lookup entry is not found"""
48
-
49
-
50
- class FunctionLookupSchemaTypedDict(TypedDict):
51
- file: str
52
- r"""Path to the lookup file. Reference environment variables via $. Example: $HOME/file.csv"""
53
- db_lookup: NotRequired[bool]
54
- r"""Enable to use a disk-based lookup. This option displays only the settings relevant to disk-based mode and hides those for in-memory lookups."""
55
- match_mode: NotRequired[Any]
56
- match_type: NotRequired[Any]
57
- reload_period_sec: NotRequired[Any]
58
- in_fields: NotRequired[List[InFieldTypedDict]]
59
- r"""Fields that should be used to key into the lookup table"""
60
- out_fields: NotRequired[List[OutFieldTypedDict]]
61
- r"""Fields to add to events after matching lookup. Defaults to all if not specified."""
62
- add_to_event: NotRequired[bool]
63
- r"""Add the looked-up values to _raw, as key=value pairs"""
64
- ignore_case: NotRequired[Any]
65
-
66
-
67
- class FunctionLookupSchema(BaseModel):
68
- file: str
69
- r"""Path to the lookup file. Reference environment variables via $. Example: $HOME/file.csv"""
70
-
71
- db_lookup: Annotated[Optional[bool], pydantic.Field(alias="dbLookup")] = False
72
- r"""Enable to use a disk-based lookup. This option displays only the settings relevant to disk-based mode and hides those for in-memory lookups."""
73
-
74
- match_mode: Annotated[Optional[Any], pydantic.Field(alias="matchMode")] = None
75
-
76
- match_type: Annotated[Optional[Any], pydantic.Field(alias="matchType")] = None
77
-
78
- reload_period_sec: Annotated[
79
- Optional[Any], pydantic.Field(alias="reloadPeriodSec")
80
- ] = None
81
-
82
- in_fields: Annotated[Optional[List[InField]], pydantic.Field(alias="inFields")] = (
83
- None
84
- )
85
- r"""Fields that should be used to key into the lookup table"""
86
-
87
- out_fields: Annotated[
88
- Optional[List[OutField]], pydantic.Field(alias="outFields")
89
- ] = None
90
- r"""Fields to add to events after matching lookup. Defaults to all if not specified."""
91
-
92
- add_to_event: Annotated[Optional[bool], pydantic.Field(alias="addToEvent")] = False
93
- r"""Add the looked-up values to _raw, as key=value pairs"""
94
-
95
- ignore_case: Annotated[Optional[Any], pydantic.Field(alias="ignoreCase")] = None
96
-
97
-
98
19
  class FunctionLookupTypedDict(TypedDict):
99
20
  filename: str
100
21
  group: str
@@ -109,7 +30,7 @@ class FunctionLookupTypedDict(TypedDict):
109
30
  disabled: NotRequired[bool]
110
31
  handle_signals: NotRequired[bool]
111
32
  sync: NotRequired[bool]
112
- schema_: NotRequired[FunctionLookupSchemaTypedDict]
33
+ schema_: NotRequired[FunctionConfSchemaLookupTypedDict]
113
34
 
114
35
 
115
36
  class FunctionLookup(BaseModel):
@@ -144,5 +65,5 @@ class FunctionLookup(BaseModel):
144
65
  sync: Optional[bool] = None
145
66
 
146
67
  schema_: Annotated[
147
- Optional[FunctionLookupSchema], pydantic.Field(alias="schema")
68
+ Optional[FunctionConfSchemaLookup], pydantic.Field(alias="schema")
148
69
  ] = None
@@ -1,10 +1,14 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
+ from .functionconfschemamask import (
5
+ FunctionConfSchemaMask,
6
+ FunctionConfSchemaMaskTypedDict,
7
+ )
4
8
  from cribl_control_plane.types import BaseModel
5
9
  from enum import Enum
6
10
  import pydantic
7
- from typing import Any, Dict, List, Optional
11
+ from typing import Any, Dict, Optional
8
12
  from typing_extensions import Annotated, NotRequired, TypedDict
9
13
 
10
14
 
@@ -12,62 +16,6 @@ class FunctionMaskID(str, Enum):
12
16
  MASK = "mask"
13
17
 
14
18
 
15
- class FunctionMaskRuleTypedDict(TypedDict):
16
- match_regex: str
17
- r"""Pattern to replace. Use /g to replace all matches."""
18
- replace_expr: NotRequired[str]
19
- 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>."""
20
- disabled: NotRequired[bool]
21
- r"""Set to No to disable the evaluation of an individual rule"""
22
-
23
-
24
- class FunctionMaskRule(BaseModel):
25
- match_regex: Annotated[str, pydantic.Field(alias="matchRegex")]
26
- r"""Pattern to replace. Use /g to replace all matches."""
27
-
28
- replace_expr: Annotated[Optional[str], pydantic.Field(alias="replaceExpr")] = "''"
29
- 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>."""
30
-
31
- disabled: Optional[bool] = False
32
- r"""Set to No to disable the evaluation of an individual rule"""
33
-
34
-
35
- class FunctionMaskFlagTypedDict(TypedDict):
36
- value: str
37
- r"""JavaScript expression to compute the value (can be constant)"""
38
- name: NotRequired[str]
39
-
40
-
41
- class FunctionMaskFlag(BaseModel):
42
- value: str
43
- r"""JavaScript expression to compute the value (can be constant)"""
44
-
45
- name: Optional[str] = None
46
-
47
-
48
- class FunctionMaskSchemaTypedDict(TypedDict):
49
- rules: List[FunctionMaskRuleTypedDict]
50
- fields: NotRequired[List[str]]
51
- r"""Fields on which to apply the masking rules. Supports * wildcards, except when used on internal fields."""
52
- depth: NotRequired[int]
53
- r"""Depth to which the Mask Function will search for fields to mask"""
54
- flags: NotRequired[List[FunctionMaskFlagTypedDict]]
55
- r"""Fields to evaluate if one or more masking rules are matched"""
56
-
57
-
58
- class FunctionMaskSchema(BaseModel):
59
- rules: List[FunctionMaskRule]
60
-
61
- fields: Optional[List[str]] = None
62
- r"""Fields on which to apply the masking rules. Supports * wildcards, except when used on internal fields."""
63
-
64
- depth: Optional[int] = 5
65
- r"""Depth to which the Mask Function will search for fields to mask"""
66
-
67
- flags: Optional[List[FunctionMaskFlag]] = None
68
- r"""Fields to evaluate if one or more masking rules are matched"""
69
-
70
-
71
19
  class FunctionMaskTypedDict(TypedDict):
72
20
  filename: str
73
21
  group: str
@@ -82,7 +30,7 @@ class FunctionMaskTypedDict(TypedDict):
82
30
  disabled: NotRequired[bool]
83
31
  handle_signals: NotRequired[bool]
84
32
  sync: NotRequired[bool]
85
- schema_: NotRequired[FunctionMaskSchemaTypedDict]
33
+ schema_: NotRequired[FunctionConfSchemaMaskTypedDict]
86
34
 
87
35
 
88
36
  class FunctionMask(BaseModel):
@@ -116,6 +64,6 @@ class FunctionMask(BaseModel):
116
64
 
117
65
  sync: Optional[bool] = None
118
66
 
119
- schema_: Annotated[Optional[FunctionMaskSchema], pydantic.Field(alias="schema")] = (
120
- None
121
- )
67
+ schema_: Annotated[
68
+ Optional[FunctionConfSchemaMask], pydantic.Field(alias="schema")
69
+ ] = None
@@ -1,14 +1,14 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
- from cribl_control_plane import models, utils
4
+ from .functionconfschemamvexpand import (
5
+ FunctionConfSchemaMvExpand,
6
+ FunctionConfSchemaMvExpandTypedDict,
7
+ )
5
8
  from cribl_control_plane.types import BaseModel
6
- from cribl_control_plane.utils import validate_open_enum
7
9
  from enum import Enum
8
10
  import pydantic
9
- from pydantic import field_serializer
10
- from pydantic.functional_validators import PlainValidator
11
- from typing import Any, Dict, List, Optional
11
+ from typing import Any, Dict, Optional
12
12
  from typing_extensions import Annotated, NotRequired, TypedDict
13
13
 
14
14
 
@@ -16,65 +16,6 @@ class FunctionMvExpandID(str, Enum):
16
16
  MV_EXPAND = "mv_expand"
17
17
 
18
18
 
19
- class BagExpansionMode(str, Enum, metaclass=utils.OpenEnumMeta):
20
- r"""decides if bag-values are expanded to bags or arrays"""
21
-
22
- # Store as object
23
- BAG = "bag"
24
- # Store as array
25
- ARRAY = "array"
26
-
27
-
28
- class FunctionMvExpandSchemaTypedDict(TypedDict):
29
- source_fields: List[str]
30
- r"""Array of property-/field-names to expand"""
31
- target_names: NotRequired[List[str]]
32
- r"""stores the value as new target field name"""
33
- row_limit: NotRequired[float]
34
- r"""max. number of rows generated out of every source events"""
35
- item_index_name: NotRequired[str]
36
- r"""name of an optional index property generated into the output"""
37
- bag_expansion_mode: NotRequired[BagExpansionMode]
38
- r"""decides if bag-values are expanded to bags or arrays"""
39
-
40
-
41
- class FunctionMvExpandSchema(BaseModel):
42
- source_fields: Annotated[List[str], pydantic.Field(alias="sourceFields")]
43
- r"""Array of property-/field-names to expand"""
44
-
45
- target_names: Annotated[
46
- Optional[List[str]], pydantic.Field(alias="targetNames")
47
- ] = None
48
- r"""stores the value as new target field name"""
49
-
50
- row_limit: Annotated[Optional[float], pydantic.Field(alias="rowLimit")] = (
51
- 9007199254740991
52
- )
53
- r"""max. number of rows generated out of every source events"""
54
-
55
- item_index_name: Annotated[Optional[str], pydantic.Field(alias="itemIndexName")] = (
56
- None
57
- )
58
- r"""name of an optional index property generated into the output"""
59
-
60
- bag_expansion_mode: Annotated[
61
- Annotated[
62
- Optional[BagExpansionMode], PlainValidator(validate_open_enum(False))
63
- ],
64
- pydantic.Field(alias="bagExpansionMode"),
65
- ] = BagExpansionMode.BAG
66
- r"""decides if bag-values are expanded to bags or arrays"""
67
-
68
- @field_serializer("bag_expansion_mode")
69
- def serialize_bag_expansion_mode(self, value):
70
- if isinstance(value, str):
71
- try:
72
- return models.BagExpansionMode(value)
73
- except ValueError:
74
- return value
75
- return value
76
-
77
-
78
19
  class FunctionMvExpandTypedDict(TypedDict):
79
20
  filename: str
80
21
  group: str
@@ -89,7 +30,7 @@ class FunctionMvExpandTypedDict(TypedDict):
89
30
  disabled: NotRequired[bool]
90
31
  handle_signals: NotRequired[bool]
91
32
  sync: NotRequired[bool]
92
- schema_: NotRequired[FunctionMvExpandSchemaTypedDict]
33
+ schema_: NotRequired[FunctionConfSchemaMvExpandTypedDict]
93
34
 
94
35
 
95
36
  class FunctionMvExpand(BaseModel):
@@ -124,5 +65,5 @@ class FunctionMvExpand(BaseModel):
124
65
  sync: Optional[bool] = None
125
66
 
126
67
  schema_: Annotated[
127
- Optional[FunctionMvExpandSchema], pydantic.Field(alias="schema")
68
+ Optional[FunctionConfSchemaMvExpand], pydantic.Field(alias="schema")
128
69
  ] = None
@@ -1,6 +1,10 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
+ from .functionconfschemamvpull import (
5
+ FunctionConfSchemaMvPull,
6
+ FunctionConfSchemaMvPullTypedDict,
7
+ )
4
8
  from cribl_control_plane.types import BaseModel
5
9
  from enum import Enum
6
10
  import pydantic
@@ -12,40 +16,6 @@ class FunctionMvPullID(str, Enum):
12
16
  MV_PULL = "mv_pull"
13
17
 
14
18
 
15
- class FunctionMvPullSchemaTypedDict(TypedDict):
16
- array_path: str
17
- r"""Field name of the array within events that contains the data objects of interest. Can be a path."""
18
- relative_key_path: str
19
- r"""Extract the K-V pair's key from this field, relative to the data object."""
20
- relative_value_path: str
21
- r"""Extract the K-V pair's value from this field, relative to the data object."""
22
- target_bag_path: NotRequired[str]
23
- r"""Optionally, specify a bag as the target for K-V entries. If not specified, these entries are stored on each top-level event."""
24
- delete_original: NotRequired[bool]
25
- r"""Toggle this on to remove each original array of data objects after extraction. If toggled off, arrays are retained."""
26
-
27
-
28
- class FunctionMvPullSchema(BaseModel):
29
- array_path: Annotated[str, pydantic.Field(alias="arrayPath")]
30
- r"""Field name of the array within events that contains the data objects of interest. Can be a path."""
31
-
32
- relative_key_path: Annotated[str, pydantic.Field(alias="relativeKeyPath")]
33
- r"""Extract the K-V pair's key from this field, relative to the data object."""
34
-
35
- relative_value_path: Annotated[str, pydantic.Field(alias="relativeValuePath")]
36
- r"""Extract the K-V pair's value from this field, relative to the data object."""
37
-
38
- target_bag_path: Annotated[Optional[str], pydantic.Field(alias="targetBagPath")] = (
39
- None
40
- )
41
- r"""Optionally, specify a bag as the target for K-V entries. If not specified, these entries are stored on each top-level event."""
42
-
43
- delete_original: Annotated[
44
- Optional[bool], pydantic.Field(alias="deleteOriginal")
45
- ] = False
46
- r"""Toggle this on to remove each original array of data objects after extraction. If toggled off, arrays are retained."""
47
-
48
-
49
19
  class FunctionMvPullTypedDict(TypedDict):
50
20
  filename: str
51
21
  group: str
@@ -60,7 +30,7 @@ class FunctionMvPullTypedDict(TypedDict):
60
30
  disabled: NotRequired[bool]
61
31
  handle_signals: NotRequired[bool]
62
32
  sync: NotRequired[bool]
63
- schema_: NotRequired[FunctionMvPullSchemaTypedDict]
33
+ schema_: NotRequired[FunctionConfSchemaMvPullTypedDict]
64
34
 
65
35
 
66
36
  class FunctionMvPull(BaseModel):
@@ -95,5 +65,5 @@ class FunctionMvPull(BaseModel):
95
65
  sync: Optional[bool] = None
96
66
 
97
67
  schema_: Annotated[
98
- Optional[FunctionMvPullSchema], pydantic.Field(alias="schema")
68
+ Optional[FunctionConfSchemaMvPull], pydantic.Field(alias="schema")
99
69
  ] = None
@@ -1,138 +1,21 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
- from cribl_control_plane import models, utils
4
+ from .functionconfschemanotificationpolicies import (
5
+ FunctionConfSchemaNotificationPolicies,
6
+ FunctionConfSchemaNotificationPoliciesTypedDict,
7
+ )
5
8
  from cribl_control_plane.types import BaseModel
6
- from cribl_control_plane.utils import validate_open_enum
7
9
  from enum import Enum
8
10
  import pydantic
9
- from pydantic import field_serializer
10
- from pydantic.functional_validators import PlainValidator
11
- from typing import Any, Dict, List, Optional, Union
12
- from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
11
+ from typing import Any, Dict, Optional
12
+ from typing_extensions import Annotated, NotRequired, TypedDict
13
13
 
14
14
 
15
15
  class FunctionNotificationPoliciesID(str, Enum):
16
16
  NOTIFICATION_POLICIES = "notification_policies"
17
17
 
18
18
 
19
- class Operator(str, Enum, metaclass=utils.OpenEnumMeta):
20
- r"""Comparison operator"""
21
-
22
- EQUAL = "="
23
- NOT_EQUAL = "!="
24
- REGEX_MATCH = "=~"
25
- REGEX_NOT_MATCH = "!~"
26
-
27
-
28
- ValueTypedDict = TypeAliasType("ValueTypedDict", Union[str, float, bool])
29
- r"""Value to compare against (string, number, boolean)"""
30
-
31
-
32
- Value = TypeAliasType("Value", Union[str, float, bool])
33
- r"""Value to compare against (string, number, boolean)"""
34
-
35
-
36
- class ConditionTypedDict(TypedDict):
37
- key: str
38
- r"""Event field name to match against"""
39
- operator: Operator
40
- r"""Comparison operator"""
41
- value: ValueTypedDict
42
- r"""Value to compare against (string, number, boolean)"""
43
-
44
-
45
- class Condition(BaseModel):
46
- key: str
47
- r"""Event field name to match against"""
48
-
49
- operator: Annotated[Operator, PlainValidator(validate_open_enum(False))]
50
- r"""Comparison operator"""
51
-
52
- value: Value
53
- r"""Value to compare against (string, number, boolean)"""
54
-
55
- @field_serializer("operator")
56
- def serialize_operator(self, value):
57
- if isinstance(value, str):
58
- try:
59
- return models.Operator(value)
60
- except ValueError:
61
- return value
62
- return value
63
-
64
-
65
- class TemplateTargetPairTypedDict(TypedDict):
66
- template_id: str
67
- r"""ID of the notification template to use"""
68
- target_id: str
69
- r"""ID of the notification target (output)"""
70
-
71
-
72
- class TemplateTargetPair(BaseModel):
73
- template_id: Annotated[str, pydantic.Field(alias="templateId")]
74
- r"""ID of the notification template to use"""
75
-
76
- target_id: Annotated[str, pydantic.Field(alias="targetId")]
77
- r"""ID of the notification target (output)"""
78
-
79
-
80
- class PolicyTypedDict(TypedDict):
81
- id: str
82
- r"""Unique identifier for this policy"""
83
- template_target_pairs: List[TemplateTargetPairTypedDict]
84
- r"""List of targets to route to and the templates to use"""
85
- disabled: NotRequired[bool]
86
- r"""If true, this policy will be skipped during evaluation"""
87
- wait_to_group: NotRequired[float]
88
- r"""Time to wait (in minutes) to group similar alerts before sending"""
89
- group_by_labels: NotRequired[List[str]]
90
- r"""Event fields to use for grouping"""
91
- conditions: NotRequired[List[List[ConditionTypedDict]]]
92
- r"""List of conditions. If ANY condition matches (OR), the policy applies. Each condition is a list of tags that must ALL match (AND)."""
93
- final: NotRequired[bool]
94
- r"""If true, stop evaluating further policies after this one matches"""
95
-
96
-
97
- class Policy(BaseModel):
98
- id: str
99
- r"""Unique identifier for this policy"""
100
-
101
- template_target_pairs: Annotated[
102
- List[TemplateTargetPair], pydantic.Field(alias="templateTargetPairs")
103
- ]
104
- r"""List of targets to route to and the templates to use"""
105
-
106
- disabled: Optional[bool] = False
107
- r"""If true, this policy will be skipped during evaluation"""
108
-
109
- wait_to_group: Annotated[Optional[float], pydantic.Field(alias="waitToGroup")] = (
110
- None
111
- )
112
- r"""Time to wait (in minutes) to group similar alerts before sending"""
113
-
114
- group_by_labels: Annotated[
115
- Optional[List[str]], pydantic.Field(alias="groupByLabels")
116
- ] = None
117
- r"""Event fields to use for grouping"""
118
-
119
- conditions: Optional[List[List[Condition]]] = None
120
- r"""List of conditions. If ANY condition matches (OR), the policy applies. Each condition is a list of tags that must ALL match (AND)."""
121
-
122
- final: Optional[bool] = False
123
- r"""If true, stop evaluating further policies after this one matches"""
124
-
125
-
126
- class NotificationPoliciesConfigurationTypedDict(TypedDict):
127
- policies: NotRequired[List[PolicyTypedDict]]
128
- r"""List of notification routing policies evaluated in order"""
129
-
130
-
131
- class NotificationPoliciesConfiguration(BaseModel):
132
- policies: Optional[List[Policy]] = None
133
- r"""List of notification routing policies evaluated in order"""
134
-
135
-
136
19
  class FunctionNotificationPoliciesTypedDict(TypedDict):
137
20
  filename: str
138
21
  group: str
@@ -147,7 +30,7 @@ class FunctionNotificationPoliciesTypedDict(TypedDict):
147
30
  disabled: NotRequired[bool]
148
31
  handle_signals: NotRequired[bool]
149
32
  sync: NotRequired[bool]
150
- schema_: NotRequired[NotificationPoliciesConfigurationTypedDict]
33
+ schema_: NotRequired[FunctionConfSchemaNotificationPoliciesTypedDict]
151
34
 
152
35
 
153
36
  class FunctionNotificationPolicies(BaseModel):
@@ -182,5 +65,5 @@ class FunctionNotificationPolicies(BaseModel):
182
65
  sync: Optional[bool] = None
183
66
 
184
67
  schema_: Annotated[
185
- Optional[NotificationPoliciesConfiguration], pydantic.Field(alias="schema")
68
+ Optional[FunctionConfSchemaNotificationPolicies], pydantic.Field(alias="schema")
186
69
  ] = None