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,121 @@
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 FunctionConfSchemaRedisCommandTypedDict(TypedDict):
16
+ command: str
17
+ r"""Redis command to perform. For a complete list visit: https://redis.io/commands"""
18
+ key_expr: str
19
+ r"""A JavaScript expression to compute the value of the key to operate on. Can also be a constant such as 'username'."""
20
+ out_field: NotRequired[str]
21
+ r"""Name of the field in which to store the returned value. Leave blank to discard returned value."""
22
+ args_expr: NotRequired[str]
23
+ r"""A JavaScript expression to compute arguments to the operation. Can return an array."""
24
+
25
+
26
+ class FunctionConfSchemaRedisCommand(BaseModel):
27
+ command: str
28
+ r"""Redis command to perform. For a complete list visit: https://redis.io/commands"""
29
+
30
+ key_expr: Annotated[str, pydantic.Field(alias="keyExpr")]
31
+ r"""A JavaScript expression to compute the value of the key to operate on. Can also be a constant such as 'username'."""
32
+
33
+ out_field: Annotated[Optional[str], pydantic.Field(alias="outField")] = None
34
+ r"""Name of the field in which to store the returned value. Leave blank to discard returned value."""
35
+
36
+ args_expr: Annotated[Optional[str], pydantic.Field(alias="argsExpr")] = None
37
+ r"""A JavaScript expression to compute arguments to the operation. Can return an array."""
38
+
39
+
40
+ class FunctionConfSchemaRedisDeploymentType(str, Enum, metaclass=utils.OpenEnumMeta):
41
+ r"""How the Redis server is configured. Defaults to Standalone"""
42
+
43
+ # Standalone
44
+ STANDALONE = "standalone"
45
+ # Cluster
46
+ CLUSTER = "cluster"
47
+ # Sentinel
48
+ SENTINEL = "sentinel"
49
+
50
+
51
+ class FunctionConfSchemaRedisAuthenticationMethod(
52
+ str, Enum, metaclass=utils.OpenEnumMeta
53
+ ):
54
+ # None
55
+ NONE = "none"
56
+ # Manual
57
+ MANUAL = "manual"
58
+ # User Secret
59
+ CREDENTIALS_SECRET = "credentialsSecret"
60
+ # Admin Secret
61
+ TEXT_SECRET = "textSecret"
62
+
63
+
64
+ class FunctionConfSchemaRedisTypedDict(TypedDict):
65
+ commands: NotRequired[List[FunctionConfSchemaRedisCommandTypedDict]]
66
+ deployment_type: NotRequired[FunctionConfSchemaRedisDeploymentType]
67
+ r"""How the Redis server is configured. Defaults to Standalone"""
68
+ auth_type: NotRequired[FunctionConfSchemaRedisAuthenticationMethod]
69
+ max_block_secs: NotRequired[float]
70
+ r"""Maximum amount of time (seconds) to wait before assuming that Redis is down and passing events through. Use 0 to disable."""
71
+ enable_client_side_caching: NotRequired[bool]
72
+ r"""Enable client-side cache. Redundant when using Redis write operations. See more options at Settings > General > Limits > Redis Cache."""
73
+
74
+
75
+ class FunctionConfSchemaRedis(BaseModel):
76
+ commands: Optional[List[FunctionConfSchemaRedisCommand]] = None
77
+
78
+ deployment_type: Annotated[
79
+ Annotated[
80
+ Optional[FunctionConfSchemaRedisDeploymentType],
81
+ PlainValidator(validate_open_enum(False)),
82
+ ],
83
+ pydantic.Field(alias="deploymentType"),
84
+ ] = FunctionConfSchemaRedisDeploymentType.STANDALONE
85
+ r"""How the Redis server is configured. Defaults to Standalone"""
86
+
87
+ auth_type: Annotated[
88
+ Annotated[
89
+ Optional[FunctionConfSchemaRedisAuthenticationMethod],
90
+ PlainValidator(validate_open_enum(False)),
91
+ ],
92
+ pydantic.Field(alias="authType"),
93
+ ] = FunctionConfSchemaRedisAuthenticationMethod.NONE
94
+
95
+ max_block_secs: Annotated[Optional[float], pydantic.Field(alias="maxBlockSecs")] = (
96
+ 60
97
+ )
98
+ r"""Maximum amount of time (seconds) to wait before assuming that Redis is down and passing events through. Use 0 to disable."""
99
+
100
+ enable_client_side_caching: Annotated[
101
+ Optional[bool], pydantic.Field(alias="enableClientSideCaching")
102
+ ] = None
103
+ r"""Enable client-side cache. Redundant when using Redis write operations. See more options at Settings > General > Limits > Redis Cache."""
104
+
105
+ @field_serializer("deployment_type")
106
+ def serialize_deployment_type(self, value):
107
+ if isinstance(value, str):
108
+ try:
109
+ return models.FunctionConfSchemaRedisDeploymentType(value)
110
+ except ValueError:
111
+ return value
112
+ return value
113
+
114
+ @field_serializer("auth_type")
115
+ def serialize_auth_type(self, value):
116
+ if isinstance(value, str):
117
+ try:
118
+ return models.FunctionConfSchemaRedisAuthenticationMethod(value)
119
+ except ValueError:
120
+ return value
121
+ return value
@@ -0,0 +1,55 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from cribl_control_plane.types import BaseModel
5
+ import pydantic
6
+ from typing import List, Optional
7
+ from typing_extensions import Annotated, NotRequired, TypedDict
8
+
9
+
10
+ class FunctionConfSchemaRegexExtractRegexListTypedDict(TypedDict):
11
+ regex: str
12
+ r"""Regex literal with named capturing groups, such as (?<foo>bar), or _NAME_ and _VALUE_ capturing groups, such as (?<_NAME_0>[^ =]+)=(?<_VALUE_0>[^,]+)"""
13
+
14
+
15
+ class FunctionConfSchemaRegexExtractRegexList(BaseModel):
16
+ regex: str
17
+ r"""Regex literal with named capturing groups, such as (?<foo>bar), or _NAME_ and _VALUE_ capturing groups, such as (?<_NAME_0>[^ =]+)=(?<_VALUE_0>[^,]+)"""
18
+
19
+
20
+ class FunctionConfSchemaRegexExtractTypedDict(TypedDict):
21
+ regex: NotRequired[str]
22
+ r"""Regex literal with named capturing groups, such as (?<foo>bar), or _NAME_ and _VALUE_ capturing groups, such as (?<_NAME_0>[^ =]+)=(?<_VALUE_0>[^,]+)"""
23
+ regex_list: NotRequired[List[FunctionConfSchemaRegexExtractRegexListTypedDict]]
24
+ source: NotRequired[str]
25
+ r"""Field on which to perform regex field extraction"""
26
+ iterations: NotRequired[float]
27
+ r"""The maximum number of times to apply regex to source field when the global flag is set, or when using _NAME_ and _VALUE_ capturing groups"""
28
+ field_name_expression: NotRequired[str]
29
+ r"""JavaScript expression to format field names when _NAME_n and _VALUE_n capturing groups are used. Original field name is in global variable 'name'. Example: To append XX to all field names, use `${name}_XX` (backticks are literal). If empty, names will be sanitized using this regex: /^[_0-9]+|[^a-zA-Z0-9_]+/g. You can access other fields values via __e.<fieldName>."""
30
+ overwrite: NotRequired[bool]
31
+ r"""Overwrite existing event fields with extracted values. If disabled, existing fields will be converted to an array."""
32
+
33
+
34
+ class FunctionConfSchemaRegexExtract(BaseModel):
35
+ regex: Optional[str] = None
36
+ r"""Regex literal with named capturing groups, such as (?<foo>bar), or _NAME_ and _VALUE_ capturing groups, such as (?<_NAME_0>[^ =]+)=(?<_VALUE_0>[^,]+)"""
37
+
38
+ regex_list: Annotated[
39
+ Optional[List[FunctionConfSchemaRegexExtractRegexList]],
40
+ pydantic.Field(alias="regexList"),
41
+ ] = None
42
+
43
+ source: Optional[str] = "_raw"
44
+ r"""Field on which to perform regex field extraction"""
45
+
46
+ iterations: Optional[float] = 100
47
+ r"""The maximum number of times to apply regex to source field when the global flag is set, or when using _NAME_ and _VALUE_ capturing groups"""
48
+
49
+ field_name_expression: Annotated[
50
+ Optional[str], pydantic.Field(alias="fieldNameExpression")
51
+ ] = None
52
+ r"""JavaScript expression to format field names when _NAME_n and _VALUE_n capturing groups are used. Original field name is in global variable 'name'. Example: To append XX to all field names, use `${name}_XX` (backticks are literal). If empty, names will be sanitized using this regex: /^[_0-9]+|[^a-zA-Z0-9_]+/g. You can access other fields values via __e.<fieldName>."""
53
+
54
+ overwrite: Optional[bool] = False
55
+ r"""Overwrite existing event fields with extracted values. If disabled, existing fields will be converted to an array."""
@@ -0,0 +1,38 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from cribl_control_plane.types import BaseModel
5
+ import pydantic
6
+ from typing import List, Optional
7
+ from typing_extensions import Annotated, NotRequired, TypedDict
8
+
9
+
10
+ class FunctionConfSchemaRegexFilterRegexListTypedDict(TypedDict):
11
+ regex: str
12
+ r"""Regex to test against"""
13
+
14
+
15
+ class FunctionConfSchemaRegexFilterRegexList(BaseModel):
16
+ regex: str
17
+ r"""Regex to test against"""
18
+
19
+
20
+ class FunctionConfSchemaRegexFilterTypedDict(TypedDict):
21
+ regex: NotRequired[str]
22
+ r"""Regex to test against"""
23
+ regex_list: NotRequired[List[FunctionConfSchemaRegexFilterRegexListTypedDict]]
24
+ field: NotRequired[str]
25
+ r"""Name of the field to apply the regex on (defaults to _raw)"""
26
+
27
+
28
+ class FunctionConfSchemaRegexFilter(BaseModel):
29
+ regex: Optional[str] = None
30
+ r"""Regex to test against"""
31
+
32
+ regex_list: Annotated[
33
+ Optional[List[FunctionConfSchemaRegexFilterRegexList]],
34
+ pydantic.Field(alias="regexList"),
35
+ ] = None
36
+
37
+ field: Optional[str] = "_raw"
38
+ r"""Name of the field to apply the regex on (defaults to _raw)"""
@@ -0,0 +1,49 @@
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 RenameTypedDict(TypedDict):
11
+ current_name: str
12
+ r"""Name of the field to rename. Literal identifiers must be quoted."""
13
+ new_name: str
14
+ r"""The name the field will be renamed to. Literal identifiers must be quoted."""
15
+
16
+
17
+ class Rename(BaseModel):
18
+ current_name: Annotated[str, pydantic.Field(alias="currentName")]
19
+ r"""Name of the field to rename. Literal identifiers must be quoted."""
20
+
21
+ new_name: Annotated[str, pydantic.Field(alias="newName")]
22
+ r"""The name the field will be renamed to. Literal identifiers must be quoted."""
23
+
24
+
25
+ class FunctionConfSchemaRenameTypedDict(TypedDict):
26
+ base_fields: NotRequired[List[str]]
27
+ r"""Fields whose children will inherit the Rename fields and Rename expression operations. Supports wildcards. If empty, only top-level fields will be renamed."""
28
+ rename: NotRequired[List[RenameTypedDict]]
29
+ r"""Set of key-value pairs to rename fields, where key is the current name and value is the new name. Does not support internal fields."""
30
+ rename_expr: NotRequired[str]
31
+ r"""Optional JavaScript expression whose returned value will be used to rename fields. Use the 'name' and 'value' global variables to access field names/values. Example: `name.startsWith('data') ? name.toUpperCase() : name`. You can access other field values via __e.<fieldName>."""
32
+ wildcard_depth: NotRequired[int]
33
+ r"""For wildcards specified in Parent fields, sets the maximum depth within events to match and rename fields. Enter `0` to match only top-level fields. Defaults to `5` levels down."""
34
+
35
+
36
+ class FunctionConfSchemaRename(BaseModel):
37
+ base_fields: Annotated[Optional[List[str]], pydantic.Field(alias="baseFields")] = (
38
+ None
39
+ )
40
+ r"""Fields whose children will inherit the Rename fields and Rename expression operations. Supports wildcards. If empty, only top-level fields will be renamed."""
41
+
42
+ rename: Optional[List[Rename]] = None
43
+ r"""Set of key-value pairs to rename fields, where key is the current name and value is the new name. Does not support internal fields."""
44
+
45
+ rename_expr: Annotated[Optional[str], pydantic.Field(alias="renameExpr")] = None
46
+ r"""Optional JavaScript expression whose returned value will be used to rename fields. Use the 'name' and 'value' global variables to access field names/values. Example: `name.startsWith('data') ? name.toUpperCase() : name`. You can access other field values via __e.<fieldName>."""
47
+
48
+ wildcard_depth: Annotated[Optional[int], pydantic.Field(alias="wildcardDepth")] = 5
49
+ r"""For wildcards specified in Parent fields, sets the maximum depth within events to match and rename fields. Enter `0` to match only top-level fields. Defaults to `5` levels down."""
@@ -0,0 +1,57 @@
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 GaugeUpdate(str, Enum, metaclass=utils.OpenEnumMeta):
16
+ r"""The operation to use when rolling up gauge metrics. Defaults to last."""
17
+
18
+ # Last
19
+ LAST = "last"
20
+ # Maximum
21
+ MAX = "max"
22
+ # Minimum
23
+ MIN = "min"
24
+ # Average
25
+ AVG = "avg"
26
+
27
+
28
+ class FunctionConfSchemaRollupMetricsTypedDict(TypedDict):
29
+ dimensions: NotRequired[List[str]]
30
+ r"""List of dimensions across which to perform rollups. Supports wildcards. Defaults to all original dimensions."""
31
+ time_window: NotRequired[str]
32
+ r"""The time span of the rollup window. Must be a valid time string (such as 10s)."""
33
+ gauge_rollup: NotRequired[GaugeUpdate]
34
+ r"""The operation to use when rolling up gauge metrics. Defaults to last."""
35
+
36
+
37
+ class FunctionConfSchemaRollupMetrics(BaseModel):
38
+ dimensions: Optional[List[str]] = None
39
+ r"""List of dimensions across which to perform rollups. Supports wildcards. Defaults to all original dimensions."""
40
+
41
+ time_window: Annotated[Optional[str], pydantic.Field(alias="timeWindow")] = "30s"
42
+ r"""The time span of the rollup window. Must be a valid time string (such as 10s)."""
43
+
44
+ gauge_rollup: Annotated[
45
+ Annotated[Optional[GaugeUpdate], PlainValidator(validate_open_enum(False))],
46
+ pydantic.Field(alias="gaugeRollup"),
47
+ ] = GaugeUpdate.LAST
48
+ r"""The operation to use when rolling up gauge metrics. Defaults to last."""
49
+
50
+ @field_serializer("gauge_rollup")
51
+ def serialize_gauge_rollup(self, value):
52
+ if isinstance(value, str):
53
+ try:
54
+ return models.GaugeUpdate(value)
55
+ except ValueError:
56
+ return value
57
+ return value
@@ -0,0 +1,32 @@
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 FunctionConfSchemaSamplingRuleTypedDict(TypedDict):
11
+ filter_: NotRequired[str]
12
+ r"""JavaScript filter expression matching events to be sampled. Use true to match all."""
13
+ rate: NotRequired[int]
14
+ r"""Sampling rate; picks one out of N matching events"""
15
+
16
+
17
+ class FunctionConfSchemaSamplingRule(BaseModel):
18
+ filter_: Annotated[Optional[str], pydantic.Field(alias="filter")] = "true"
19
+ r"""JavaScript filter expression matching events to be sampled. Use true to match all."""
20
+
21
+ rate: Optional[int] = 1
22
+ r"""Sampling rate; picks one out of N matching events"""
23
+
24
+
25
+ class FunctionConfSchemaSamplingTypedDict(TypedDict):
26
+ rules: NotRequired[List[FunctionConfSchemaSamplingRuleTypedDict]]
27
+ r"""Events matching these rules will be sampled at the given rate"""
28
+
29
+
30
+ class FunctionConfSchemaSampling(BaseModel):
31
+ rules: Optional[List[FunctionConfSchemaSamplingRule]] = None
32
+ r"""Events matching these rules will be sampled at the given rate"""
@@ -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 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 FunctionConfSchemaSendMode(str, Enum, metaclass=utils.OpenEnumMeta):
16
+ r"""In Sender mode, forwards search results directly to the destination. In Metrics mode, accumulates metrics from federated send operators, and forwards the aggregate metrics."""
17
+
18
+ SENDER = "sender"
19
+ METRICS = "metrics"
20
+
21
+
22
+ class FunctionConfSchemaSendTypedDict(TypedDict):
23
+ url: NotRequired[str]
24
+ r"""Full URL to send search to."""
25
+ group: NotRequired[str]
26
+ r"""Group within the workspace we're sending to."""
27
+ workspace: NotRequired[str]
28
+ r"""Workspace within the deployment to send the search results to."""
29
+ send_url_template: NotRequired[str]
30
+ r"""Template to build the URL to send from."""
31
+ search_id: NotRequired[str]
32
+ r"""Id of the search this function is running on."""
33
+ tee: NotRequired[str]
34
+ r"""Tee results to search. When set to true results will be shipped instead of stats"""
35
+ flush_ms: NotRequired[float]
36
+ r"""How often are stats flushed in ms"""
37
+ suppress_previews: NotRequired[bool]
38
+ r"""Disables generation of intermediate stats. When true stats will be emitted only on end"""
39
+ mode: NotRequired[FunctionConfSchemaSendMode]
40
+ r"""In Sender mode, forwards search results directly to the destination. In Metrics mode, accumulates metrics from federated send operators, and forwards the aggregate metrics."""
41
+
42
+
43
+ class FunctionConfSchemaSend(BaseModel):
44
+ url: Optional[str] = None
45
+ r"""Full URL to send search to."""
46
+
47
+ group: Optional[str] = "default"
48
+ r"""Group within the workspace we're sending to."""
49
+
50
+ workspace: Optional[str] = "main"
51
+ r"""Workspace within the deployment to send the search results to."""
52
+
53
+ send_url_template: Annotated[
54
+ Optional[str], pydantic.Field(alias="sendUrlTemplate")
55
+ ] = None
56
+ r"""Template to build the URL to send from."""
57
+
58
+ search_id: Annotated[Optional[str], pydantic.Field(alias="searchId")] = None
59
+ r"""Id of the search this function is running on."""
60
+
61
+ tee: Optional[str] = "false"
62
+ r"""Tee results to search. When set to true results will be shipped instead of stats"""
63
+
64
+ flush_ms: Annotated[Optional[float], pydantic.Field(alias="flushMs")] = 1000
65
+ r"""How often are stats flushed in ms"""
66
+
67
+ suppress_previews: Annotated[
68
+ Optional[bool], pydantic.Field(alias="suppressPreviews")
69
+ ] = None
70
+ r"""Disables generation of intermediate stats. When true stats will be emitted only on end"""
71
+
72
+ mode: Annotated[
73
+ Optional[FunctionConfSchemaSendMode], PlainValidator(validate_open_enum(False))
74
+ ] = None
75
+ r"""In Sender mode, forwards search results directly to the destination. In Metrics mode, accumulates metrics from federated send operators, and forwards the aggregate metrics."""
76
+
77
+ @field_serializer("mode")
78
+ def serialize_mode(self, value):
79
+ if isinstance(value, str):
80
+ try:
81
+ return models.FunctionConfSchemaSendMode(value)
82
+ except ValueError:
83
+ return value
84
+ return value
@@ -0,0 +1,75 @@
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 FunctionConfSchemaSensitiveDataScannerRuleTypedDict(TypedDict):
11
+ ruleset_id: str
12
+ r"""The ID of the ruleset to use for the scan"""
13
+ replace_expr: NotRequired[str]
14
+ r"""A JavaScript expression or literal to replace the matching content. Capturing groups can be referenced as g1, g2, and so on, and event fields as event.<fieldName>."""
15
+ disabled: NotRequired[bool]
16
+
17
+
18
+ class FunctionConfSchemaSensitiveDataScannerRule(BaseModel):
19
+ ruleset_id: Annotated[str, pydantic.Field(alias="rulesetId")]
20
+ r"""The ID of the ruleset to use for the scan"""
21
+
22
+ replace_expr: Annotated[Optional[str], pydantic.Field(alias="replaceExpr")] = (
23
+ "'REDACTED'"
24
+ )
25
+ 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>."""
26
+
27
+ disabled: Optional[bool] = False
28
+
29
+
30
+ class FunctionConfSchemaSensitiveDataScannerFlagTypedDict(TypedDict):
31
+ value: str
32
+ name: NotRequired[str]
33
+
34
+
35
+ class FunctionConfSchemaSensitiveDataScannerFlag(BaseModel):
36
+ value: str
37
+
38
+ name: Optional[str] = None
39
+
40
+
41
+ class FunctionConfSchemaSensitiveDataScannerTypedDict(TypedDict):
42
+ rules: NotRequired[List[FunctionConfSchemaSensitiveDataScannerRuleTypedDict]]
43
+ fields: NotRequired[List[str]]
44
+ r"""Rulesets act on the events contained in these fields. Mitigation expressions apply to the scan results. Supports wildcards (*)."""
45
+ exclude_fields: NotRequired[List[str]]
46
+ r"""Fields that the mitigation expression will not be applied to. Supports wildcards (*)."""
47
+ flags: NotRequired[List[FunctionConfSchemaSensitiveDataScannerFlagTypedDict]]
48
+ r"""Fields to add when mitigation is applied to an event"""
49
+ include_detected_rules: NotRequired[bool]
50
+ r"""Add matching ruleset IDs to a field called \"__detected\" """
51
+ background_detection: NotRequired[bool]
52
+
53
+
54
+ class FunctionConfSchemaSensitiveDataScanner(BaseModel):
55
+ rules: Optional[List[FunctionConfSchemaSensitiveDataScannerRule]] = None
56
+
57
+ fields: Optional[List[str]] = None
58
+ r"""Rulesets act on the events contained in these fields. Mitigation expressions apply to the scan results. Supports wildcards (*)."""
59
+
60
+ exclude_fields: Annotated[
61
+ Optional[List[str]], pydantic.Field(alias="excludeFields")
62
+ ] = None
63
+ r"""Fields that the mitigation expression will not be applied to. Supports wildcards (*)."""
64
+
65
+ flags: Optional[List[FunctionConfSchemaSensitiveDataScannerFlag]] = None
66
+ r"""Fields to add when mitigation is applied to an event"""
67
+
68
+ include_detected_rules: Annotated[
69
+ Optional[bool], pydantic.Field(alias="includeDetectedRules")
70
+ ] = True
71
+ r"""Add matching ruleset IDs to a field called \"__detected\" """
72
+
73
+ background_detection: Annotated[
74
+ Optional[bool], pydantic.Field(alias="backgroundDetection")
75
+ ] = False
@@ -0,0 +1,105 @@
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 FunctionConfSchemaSerdeOperationMode(str, Enum, metaclass=utils.OpenEnumMeta):
16
+ r"""Extract creates new fields. Reserialize extracts and filters fields, and then reserializes."""
17
+
18
+ # Extract
19
+ EXTRACT = "extract"
20
+ # Reserialize
21
+ RESERIALIZE = "reserialize"
22
+
23
+
24
+ class FunctionConfSchemaSerdeType(str, Enum, metaclass=utils.OpenEnumMeta):
25
+ r"""Parser or formatter type to use"""
26
+
27
+ # CSV
28
+ CSV = "csv"
29
+ # Extended Log File Format
30
+ ELFF = "elff"
31
+ # Common Log Format
32
+ CLF = "clf"
33
+ # Key=Value Pairs
34
+ KVP = "kvp"
35
+ # JSON Object
36
+ JSON = "json"
37
+ # Delimited values
38
+ DELIM = "delim"
39
+ # Regular Expression
40
+ REGEX = "regex"
41
+ # Grok
42
+ GROK = "grok"
43
+
44
+
45
+ class FunctionConfSchemaSerdeTypedDict(TypedDict):
46
+ mode: NotRequired[FunctionConfSchemaSerdeOperationMode]
47
+ r"""Extract creates new fields. Reserialize extracts and filters fields, and then reserializes."""
48
+ type: NotRequired[FunctionConfSchemaSerdeType]
49
+ r"""Parser or formatter type to use"""
50
+ delim_char: NotRequired[Any]
51
+ quote_char: NotRequired[Any]
52
+ escape_char: NotRequired[Any]
53
+ null_value: NotRequired[Any]
54
+ src_field: NotRequired[str]
55
+ r"""Field containing text to be parsed"""
56
+ dst_field: NotRequired[str]
57
+ r"""Name of the field to add fields to. Extract mode only."""
58
+ clean_fields: NotRequired[Any]
59
+
60
+
61
+ class FunctionConfSchemaSerde(BaseModel):
62
+ mode: Annotated[
63
+ Optional[FunctionConfSchemaSerdeOperationMode],
64
+ PlainValidator(validate_open_enum(False)),
65
+ ] = FunctionConfSchemaSerdeOperationMode.EXTRACT
66
+ r"""Extract creates new fields. Reserialize extracts and filters fields, and then reserializes."""
67
+
68
+ type: Annotated[
69
+ Optional[FunctionConfSchemaSerdeType], PlainValidator(validate_open_enum(False))
70
+ ] = FunctionConfSchemaSerdeType.CSV
71
+ r"""Parser or formatter type to use"""
72
+
73
+ delim_char: Annotated[Optional[Any], pydantic.Field(alias="delimChar")] = None
74
+
75
+ quote_char: Annotated[Optional[Any], pydantic.Field(alias="quoteChar")] = None
76
+
77
+ escape_char: Annotated[Optional[Any], pydantic.Field(alias="escapeChar")] = None
78
+
79
+ null_value: Annotated[Optional[Any], pydantic.Field(alias="nullValue")] = None
80
+
81
+ src_field: Annotated[Optional[str], pydantic.Field(alias="srcField")] = "_raw"
82
+ r"""Field containing text to be parsed"""
83
+
84
+ dst_field: Annotated[Optional[str], pydantic.Field(alias="dstField")] = None
85
+ r"""Name of the field to add fields to. Extract mode only."""
86
+
87
+ clean_fields: Annotated[Optional[Any], pydantic.Field(alias="cleanFields")] = None
88
+
89
+ @field_serializer("mode")
90
+ def serialize_mode(self, value):
91
+ if isinstance(value, str):
92
+ try:
93
+ return models.FunctionConfSchemaSerdeOperationMode(value)
94
+ except ValueError:
95
+ return value
96
+ return value
97
+
98
+ @field_serializer("type")
99
+ def serialize_type(self, value):
100
+ if isinstance(value, str):
101
+ try:
102
+ return models.FunctionConfSchemaSerdeType(value)
103
+ except ValueError:
104
+ return value
105
+ return value