cribl-control-plane 0.0.39__py3-none-any.whl → 0.4.0b23__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 (403) hide show
  1. cribl_control_plane/_hooks/clientcredentials.py +92 -42
  2. cribl_control_plane/_version.py +4 -4
  3. cribl_control_plane/acl.py +21 -9
  4. cribl_control_plane/auth_sdk.py +6 -3
  5. cribl_control_plane/basesdk.py +17 -1
  6. cribl_control_plane/branches.py +28 -8
  7. cribl_control_plane/commits.py +119 -47
  8. cribl_control_plane/commits_files.py +44 -24
  9. cribl_control_plane/configs_versions.py +16 -10
  10. cribl_control_plane/cribl.py +495 -0
  11. cribl_control_plane/destinations.py +86 -34
  12. cribl_control_plane/destinations_pq.py +34 -14
  13. cribl_control_plane/errors/__init__.py +23 -8
  14. cribl_control_plane/errors/apierror.py +2 -0
  15. cribl_control_plane/errors/criblcontrolplaneerror.py +11 -7
  16. cribl_control_plane/errors/error.py +4 -2
  17. cribl_control_plane/errors/healthserverstatus_error.py +41 -0
  18. cribl_control_plane/errors/no_response_error.py +5 -1
  19. cribl_control_plane/errors/responsevalidationerror.py +2 -0
  20. cribl_control_plane/functions.py +367 -0
  21. cribl_control_plane/groups_configs.py +8 -3
  22. cribl_control_plane/groups_sdk.py +156 -94
  23. cribl_control_plane/health.py +34 -14
  24. cribl_control_plane/hectokens.py +44 -20
  25. cribl_control_plane/httpclient.py +0 -1
  26. cribl_control_plane/lakedatasets.py +156 -62
  27. cribl_control_plane/models/__init__.py +3298 -479
  28. cribl_control_plane/models/addhectokenrequest.py +7 -1
  29. cribl_control_plane/models/authtoken.py +5 -1
  30. cribl_control_plane/models/backupssettings_union.py +37 -0
  31. cribl_control_plane/models/{lookupversions.py → branchinfo.py} +4 -4
  32. cribl_control_plane/models/cacheconnection.py +30 -2
  33. cribl_control_plane/models/cacheconnectionbackfillstatus.py +2 -1
  34. cribl_control_plane/models/cloudprovider.py +2 -1
  35. cribl_control_plane/models/collectorazureblob.py +130 -0
  36. cribl_control_plane/models/collectorconf.py +56 -0
  37. cribl_control_plane/models/collectorcribllake.py +27 -0
  38. cribl_control_plane/models/collectordatabase.py +92 -0
  39. cribl_control_plane/models/collectorfilesystem.py +66 -0
  40. cribl_control_plane/models/collectorgooglecloudstorage.py +131 -0
  41. cribl_control_plane/models/collectorhealthcheck.py +269 -0
  42. cribl_control_plane/models/collectorrest.py +340 -0
  43. cribl_control_plane/models/collectors3.py +239 -0
  44. cribl_control_plane/models/collectorscript.py +59 -0
  45. cribl_control_plane/models/collectorsplunk.py +253 -0
  46. cribl_control_plane/models/configgroup.py +62 -8
  47. cribl_control_plane/models/configgroupcloud.py +17 -3
  48. cribl_control_plane/models/countedbranchinfo.py +20 -0
  49. cribl_control_plane/models/countedconfiggroup.py +20 -0
  50. cribl_control_plane/models/countedcribllakedataset.py +20 -0
  51. cribl_control_plane/models/counteddistributedsummary.py +20 -0
  52. cribl_control_plane/models/countedfunctionresponse.py +20 -0
  53. cribl_control_plane/models/countedgitcommitsummary.py +20 -0
  54. cribl_control_plane/models/countedgitcountresult.py +20 -0
  55. cribl_control_plane/models/{createinputop.py → countedgitdiffresult.py} +5 -9
  56. cribl_control_plane/models/countedgitfilesresponse.py +20 -0
  57. cribl_control_plane/models/{getversioninfoop.py → countedgitinfo.py} +2 -6
  58. cribl_control_plane/models/countedgitlogresult.py +20 -0
  59. cribl_control_plane/models/countedgitrevertresult.py +20 -0
  60. cribl_control_plane/models/countedgitshowresult.py +20 -0
  61. cribl_control_plane/models/countedgitstatusresult.py +20 -0
  62. cribl_control_plane/models/{listinputop.py → countedinput.py} +2 -6
  63. cribl_control_plane/models/countedinputsplunkhec.py +20 -0
  64. cribl_control_plane/models/countedjobinfo.py +20 -0
  65. cribl_control_plane/models/countedmasterworkerentry.py +20 -0
  66. cribl_control_plane/models/countednumber.py +19 -0
  67. cribl_control_plane/models/{getversionbranchop.py → countedobject.py} +2 -6
  68. cribl_control_plane/models/{listoutputop.py → countedoutput.py} +2 -6
  69. cribl_control_plane/models/{createoutputop.py → countedoutputsamplesresponse.py} +5 -9
  70. cribl_control_plane/models/countedoutputtestresponse.py +20 -0
  71. cribl_control_plane/models/countedpackinfo.py +20 -0
  72. cribl_control_plane/models/{createpacksop.py → countedpackinstallinfo.py} +2 -6
  73. cribl_control_plane/models/{listpipelineop.py → countedpipeline.py} +2 -6
  74. cribl_control_plane/models/{listroutesop.py → countedroutes.py} +2 -6
  75. cribl_control_plane/models/countedstring.py +19 -0
  76. cribl_control_plane/models/countedsystemsettingsconf.py +20 -0
  77. cribl_control_plane/models/countedteamaccesscontrollist.py +20 -0
  78. cribl_control_plane/models/counteduseraccesscontrollist.py +20 -0
  79. cribl_control_plane/models/createauthloginop.py +18 -0
  80. cribl_control_plane/models/createconfiggroupbyproductop.py +26 -27
  81. cribl_control_plane/models/createcribllakedatasetbylakeidop.py +1 -19
  82. cribl_control_plane/models/createinputhectokenbyidop.py +1 -19
  83. cribl_control_plane/models/createoutputtestbyidop.py +1 -20
  84. cribl_control_plane/models/createroutesappendbyidop.py +4 -22
  85. cribl_control_plane/models/createversioncommitop.py +1 -19
  86. cribl_control_plane/models/createversionrevertop.py +3 -21
  87. cribl_control_plane/models/createversionundoop.py +1 -18
  88. cribl_control_plane/models/criblevent.py +15 -0
  89. cribl_control_plane/models/cribllakedataset.py +23 -3
  90. cribl_control_plane/models/cribllakedatasetupdate.py +95 -0
  91. cribl_control_plane/models/datasetmetadata.py +18 -2
  92. cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +18 -21
  93. cribl_control_plane/models/deletecribllakedatasetbylakeidandidop.py +1 -20
  94. cribl_control_plane/models/deleteinputbyidop.py +1 -20
  95. cribl_control_plane/models/deleteoutputbyidop.py +1 -20
  96. cribl_control_plane/models/deleteoutputpqbyidop.py +1 -19
  97. cribl_control_plane/models/deletepacksbyidop.py +1 -20
  98. cribl_control_plane/models/deletepipelinebyidop.py +3 -22
  99. cribl_control_plane/models/difffiles.py +130 -0
  100. cribl_control_plane/models/diffline.py +26 -0
  101. cribl_control_plane/models/difflinecontext.py +28 -0
  102. cribl_control_plane/models/difflinedelete.py +25 -0
  103. cribl_control_plane/models/difflineinsert.py +25 -0
  104. cribl_control_plane/models/distributedsummary.py +6 -0
  105. cribl_control_plane/models/functionaggregatemetrics.py +206 -0
  106. cribl_control_plane/models/functionaggregation.py +172 -0
  107. cribl_control_plane/models/functionautotimestamp.py +173 -0
  108. cribl_control_plane/models/functioncef.py +111 -0
  109. cribl_control_plane/models/functionchain.py +75 -0
  110. cribl_control_plane/models/functionclone.py +75 -0
  111. cribl_control_plane/models/functioncode.py +96 -0
  112. cribl_control_plane/models/functioncomment.py +75 -0
  113. cribl_control_plane/models/functiondistinct.py +99 -0
  114. cribl_control_plane/models/functiondnslookup.py +250 -0
  115. cribl_control_plane/models/functiondrop.py +73 -0
  116. cribl_control_plane/models/functiondropdimensions.py +87 -0
  117. cribl_control_plane/models/functiondynamicsampling.py +121 -0
  118. cribl_control_plane/models/functioneval.py +103 -0
  119. cribl_control_plane/models/functioneventbreaker.py +103 -0
  120. cribl_control_plane/models/functioneventstats.py +92 -0
  121. cribl_control_plane/models/functionexternaldata.py +73 -0
  122. cribl_control_plane/models/functionflatten.py +90 -0
  123. cribl_control_plane/models/functionfoldkeys.py +89 -0
  124. cribl_control_plane/models/functiongenstats.py +73 -0
  125. cribl_control_plane/models/functiongeoip.py +120 -0
  126. cribl_control_plane/models/functiongrok.py +95 -0
  127. cribl_control_plane/models/functionhandlebar.py +112 -0
  128. cribl_control_plane/models/functionjoin.py +112 -0
  129. cribl_control_plane/models/functionjsonunroll.py +80 -0
  130. cribl_control_plane/models/functionlakeexport.py +102 -0
  131. cribl_control_plane/models/functionlimit.py +75 -0
  132. cribl_control_plane/models/functionlocalsearchdatatypeparser.py +76 -0
  133. cribl_control_plane/models/functionlocalsearchrulesetrunner.py +97 -0
  134. cribl_control_plane/models/functionlookup.py +148 -0
  135. cribl_control_plane/models/functionmask.py +121 -0
  136. cribl_control_plane/models/functionmvexpand.py +128 -0
  137. cribl_control_plane/models/functionmvpull.py +99 -0
  138. cribl_control_plane/models/functionnotificationpolicies.py +186 -0
  139. cribl_control_plane/models/functionnotifications.py +85 -0
  140. cribl_control_plane/models/functionnotify.py +196 -0
  141. cribl_control_plane/models/functionnumerify.py +119 -0
  142. cribl_control_plane/models/functionotlplogs.py +82 -0
  143. cribl_control_plane/models/functionotlpmetrics.py +118 -0
  144. cribl_control_plane/models/functionotlptraces.py +111 -0
  145. cribl_control_plane/models/functionpack.py +80 -0
  146. cribl_control_plane/models/functionpivot.py +85 -0
  147. cribl_control_plane/models/functionpublishmetrics.py +153 -0
  148. cribl_control_plane/models/functionredis.py +173 -0
  149. cribl_control_plane/models/functionregexextract.py +112 -0
  150. cribl_control_plane/models/functionregexfilter.py +95 -0
  151. cribl_control_plane/models/functionrename.py +107 -0
  152. cribl_control_plane/models/functionresponse.py +242 -0
  153. cribl_control_plane/models/functionrollupmetrics.py +114 -0
  154. cribl_control_plane/models/functionsampling.py +90 -0
  155. cribl_control_plane/models/functionsend.py +141 -0
  156. cribl_control_plane/models/functionsensitivedatascanner.py +128 -0
  157. cribl_control_plane/models/functionserde.py +161 -0
  158. cribl_control_plane/models/functionserialize.py +134 -0
  159. cribl_control_plane/models/functionsidlookup.py +93 -0
  160. cribl_control_plane/models/functionsnmptrapserialize.py +144 -0
  161. cribl_control_plane/models/functionsort.py +97 -0
  162. cribl_control_plane/models/functionstore.py +132 -0
  163. cribl_control_plane/models/functionsuppress.py +115 -0
  164. cribl_control_plane/models/functiontee.py +90 -0
  165. cribl_control_plane/models/functiontrimtimestamp.py +75 -0
  166. cribl_control_plane/models/functionunion.py +80 -0
  167. cribl_control_plane/models/functionunroll.py +80 -0
  168. cribl_control_plane/models/functionwindow.py +96 -0
  169. cribl_control_plane/models/functionxmlunroll.py +92 -0
  170. cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +24 -20
  171. cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +24 -20
  172. cribl_control_plane/models/getconfiggroupbyproductandidop.py +14 -19
  173. cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +18 -20
  174. cribl_control_plane/models/getcribllakedatasetbylakeidandidop.py +1 -20
  175. cribl_control_plane/models/getcribllakedatasetbylakeidop.py +54 -14
  176. cribl_control_plane/models/getfunctionsbyidop.py +18 -0
  177. cribl_control_plane/models/getinputbyidop.py +1 -20
  178. cribl_control_plane/models/getmasterworkerentryop.py +1 -18
  179. cribl_control_plane/models/getoutputbyidop.py +1 -20
  180. cribl_control_plane/models/getoutputpqbyidop.py +1 -19
  181. cribl_control_plane/models/getoutputsamplesbyidop.py +1 -20
  182. cribl_control_plane/models/getpacksbyidop.py +1 -20
  183. cribl_control_plane/models/getpacksop.py +1 -19
  184. cribl_control_plane/models/getpipelinebyidop.py +3 -22
  185. cribl_control_plane/models/getroutesbyidop.py +3 -22
  186. cribl_control_plane/models/getsummaryop.py +18 -20
  187. cribl_control_plane/models/getversioncountop.py +3 -21
  188. cribl_control_plane/models/getversiondiffop.py +1 -18
  189. cribl_control_plane/models/getversionfilesop.py +3 -22
  190. cribl_control_plane/models/getversionop.py +1 -19
  191. cribl_control_plane/models/getversionshowop.py +1 -18
  192. cribl_control_plane/models/getversionstatusop.py +1 -19
  193. cribl_control_plane/models/{routecloneconf.py → gitcountresult.py} +4 -4
  194. cribl_control_plane/models/gitdiffresult.py +16 -0
  195. cribl_control_plane/models/gitinfo.py +14 -3
  196. cribl_control_plane/models/gitshowresult.py +19 -0
  197. cribl_control_plane/models/groupcreaterequest.py +172 -0
  198. cribl_control_plane/models/hbcriblinfo.py +42 -7
  199. cribl_control_plane/models/healthserverstatus.py +55 -0
  200. cribl_control_plane/models/heartbeatmetadata.py +6 -11
  201. cribl_control_plane/models/input.py +83 -78
  202. cribl_control_plane/models/inputappscope.py +126 -30
  203. cribl_control_plane/models/inputazureblob.py +62 -6
  204. cribl_control_plane/models/inputcloudflarehec.py +518 -0
  205. cribl_control_plane/models/inputcollection.py +47 -4
  206. cribl_control_plane/models/inputconfluentcloud.py +258 -32
  207. cribl_control_plane/models/inputcribl.py +47 -4
  208. cribl_control_plane/models/inputcriblhttp.py +121 -30
  209. cribl_control_plane/models/inputcribllakehttp.py +136 -30
  210. cribl_control_plane/models/inputcriblmetrics.py +48 -4
  211. cribl_control_plane/models/inputcribltcp.py +122 -24
  212. cribl_control_plane/models/inputcrowdstrike.py +92 -10
  213. cribl_control_plane/models/inputdatadogagent.py +98 -24
  214. cribl_control_plane/models/inputdatagen.py +47 -4
  215. cribl_control_plane/models/inputedgeprometheus.py +210 -50
  216. cribl_control_plane/models/inputelastic.py +167 -36
  217. cribl_control_plane/models/inputeventhub.py +209 -6
  218. cribl_control_plane/models/inputexec.py +59 -6
  219. cribl_control_plane/models/inputfile.py +78 -10
  220. cribl_control_plane/models/inputfirehose.py +97 -24
  221. cribl_control_plane/models/inputgooglepubsub.py +67 -6
  222. cribl_control_plane/models/inputgrafana.py +251 -71
  223. cribl_control_plane/models/inputhttp.py +97 -24
  224. cribl_control_plane/models/inputhttpraw.py +97 -24
  225. cribl_control_plane/models/inputjournalfiles.py +48 -4
  226. cribl_control_plane/models/inputkafka.py +252 -28
  227. cribl_control_plane/models/inputkinesis.py +130 -14
  228. cribl_control_plane/models/inputkubeevents.py +47 -4
  229. cribl_control_plane/models/inputkubelogs.py +61 -8
  230. cribl_control_plane/models/inputkubemetrics.py +61 -8
  231. cribl_control_plane/models/inputloki.py +113 -34
  232. cribl_control_plane/models/inputmetrics.py +97 -24
  233. cribl_control_plane/models/inputmodeldriventelemetry.py +107 -26
  234. cribl_control_plane/models/inputmsk.py +145 -32
  235. cribl_control_plane/models/inputnetflow.py +47 -4
  236. cribl_control_plane/models/inputoffice365mgmt.py +112 -14
  237. cribl_control_plane/models/inputoffice365msgtrace.py +114 -16
  238. cribl_control_plane/models/inputoffice365service.py +114 -16
  239. cribl_control_plane/models/inputopentelemetry.py +143 -32
  240. cribl_control_plane/models/inputprometheus.py +193 -44
  241. cribl_control_plane/models/inputprometheusrw.py +114 -27
  242. cribl_control_plane/models/inputrawudp.py +47 -4
  243. cribl_control_plane/models/inputs3.py +78 -8
  244. cribl_control_plane/models/inputs3inventory.py +92 -10
  245. cribl_control_plane/models/inputsecuritylake.py +93 -10
  246. cribl_control_plane/models/inputsnmp.py +112 -21
  247. cribl_control_plane/models/inputsplunk.py +130 -28
  248. cribl_control_plane/models/inputsplunkhec.py +119 -29
  249. cribl_control_plane/models/inputsplunksearch.py +112 -15
  250. cribl_control_plane/models/inputsqs.py +99 -16
  251. cribl_control_plane/models/inputsyslog.py +189 -47
  252. cribl_control_plane/models/inputsystemmetrics.py +202 -32
  253. cribl_control_plane/models/inputsystemstate.py +61 -8
  254. cribl_control_plane/models/inputtcp.py +122 -26
  255. cribl_control_plane/models/inputtcpjson.py +112 -26
  256. cribl_control_plane/models/inputwef.py +144 -15
  257. cribl_control_plane/models/inputwindowsmetrics.py +186 -33
  258. cribl_control_plane/models/inputwineventlogs.py +93 -11
  259. cribl_control_plane/models/inputwiz.py +173 -8
  260. cribl_control_plane/models/inputwizwebhook.py +97 -24
  261. cribl_control_plane/models/inputzscalerhec.py +119 -29
  262. cribl_control_plane/models/jobinfo.py +34 -0
  263. cribl_control_plane/models/jobstatus.py +48 -0
  264. cribl_control_plane/models/lakedatasetmetrics.py +17 -0
  265. cribl_control_plane/models/lakehouseconnectiontype.py +2 -1
  266. cribl_control_plane/models/listconfiggroupbyproductop.py +14 -19
  267. cribl_control_plane/models/listmasterworkerentryop.py +1 -19
  268. cribl_control_plane/models/logininfo.py +3 -3
  269. cribl_control_plane/models/masterworkerentry.py +20 -13
  270. cribl_control_plane/models/nodeactiveupgradestatus.py +2 -1
  271. cribl_control_plane/models/nodefailedupgradestatus.py +2 -1
  272. cribl_control_plane/models/nodeprovidedinfo.py +13 -11
  273. cribl_control_plane/models/nodeskippedupgradestatus.py +2 -1
  274. cribl_control_plane/models/nodeupgradestate.py +2 -1
  275. cribl_control_plane/models/nodeupgradestatus.py +51 -5
  276. cribl_control_plane/models/outpostnodeinfo.py +16 -0
  277. cribl_control_plane/models/output.py +104 -90
  278. cribl_control_plane/models/outputazureblob.py +171 -18
  279. cribl_control_plane/models/outputazuredataexplorer.py +514 -90
  280. cribl_control_plane/models/outputazureeventhub.py +315 -31
  281. cribl_control_plane/models/outputazurelogs.py +145 -26
  282. cribl_control_plane/models/outputchronicle.py +532 -0
  283. cribl_control_plane/models/outputclickhouse.py +205 -34
  284. cribl_control_plane/models/outputcloudflarer2.py +632 -0
  285. cribl_control_plane/models/outputcloudwatch.py +129 -23
  286. cribl_control_plane/models/outputconfluentcloud.py +384 -57
  287. cribl_control_plane/models/outputcriblhttp.py +198 -31
  288. cribl_control_plane/models/outputcribllake.py +156 -16
  289. cribl_control_plane/models/outputcribltcp.py +194 -29
  290. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +172 -28
  291. cribl_control_plane/models/outputdatabricks.py +501 -0
  292. cribl_control_plane/models/outputdatadog.py +199 -31
  293. cribl_control_plane/models/outputdataset.py +181 -29
  294. cribl_control_plane/models/outputdiskspool.py +17 -2
  295. cribl_control_plane/models/outputdls3.py +233 -24
  296. cribl_control_plane/models/outputdynatracehttp.py +208 -34
  297. cribl_control_plane/models/outputdynatraceotlp.py +210 -36
  298. cribl_control_plane/models/outputelastic.py +199 -30
  299. cribl_control_plane/models/outputelasticcloud.py +171 -26
  300. cribl_control_plane/models/outputexabeam.py +96 -10
  301. cribl_control_plane/models/outputfilesystem.py +139 -14
  302. cribl_control_plane/models/outputgooglechronicle.py +216 -35
  303. cribl_control_plane/models/outputgooglecloudlogging.py +174 -31
  304. cribl_control_plane/models/outputgooglecloudstorage.py +215 -24
  305. cribl_control_plane/models/outputgooglepubsub.py +131 -23
  306. cribl_control_plane/models/outputgrafanacloud.py +376 -74
  307. cribl_control_plane/models/outputgraphite.py +128 -25
  308. cribl_control_plane/models/outputhoneycomb.py +145 -26
  309. cribl_control_plane/models/outputhumiohec.py +162 -28
  310. cribl_control_plane/models/outputinfluxdb.py +165 -28
  311. cribl_control_plane/models/outputkafka.py +375 -52
  312. cribl_control_plane/models/outputkinesis.py +165 -27
  313. cribl_control_plane/models/outputloki.py +164 -34
  314. cribl_control_plane/models/outputmicrosoftfabric.py +540 -0
  315. cribl_control_plane/models/outputminio.py +225 -25
  316. cribl_control_plane/models/outputmsk.py +267 -54
  317. cribl_control_plane/models/outputnewrelic.py +171 -29
  318. cribl_control_plane/models/outputnewrelicevents.py +163 -28
  319. cribl_control_plane/models/outputopentelemetry.py +240 -40
  320. cribl_control_plane/models/outputprometheus.py +145 -26
  321. cribl_control_plane/models/outputring.py +49 -8
  322. cribl_control_plane/models/outputs3.py +233 -26
  323. cribl_control_plane/models/outputsecuritylake.py +179 -18
  324. cribl_control_plane/models/outputsentinel.py +172 -29
  325. cribl_control_plane/models/outputsentineloneaisiem.py +178 -32
  326. cribl_control_plane/models/outputservicenow.py +223 -38
  327. cribl_control_plane/models/outputsignalfx.py +145 -26
  328. cribl_control_plane/models/outputsns.py +143 -25
  329. cribl_control_plane/models/outputsplunk.py +206 -36
  330. cribl_control_plane/models/outputsplunkhec.py +238 -26
  331. cribl_control_plane/models/outputsplunklb.py +262 -42
  332. cribl_control_plane/models/outputsqs.py +163 -33
  333. cribl_control_plane/models/outputstatsd.py +127 -25
  334. cribl_control_plane/models/outputstatsdext.py +128 -25
  335. cribl_control_plane/models/outputsumologic.py +146 -25
  336. cribl_control_plane/models/outputsyslog.py +318 -46
  337. cribl_control_plane/models/outputtcpjson.py +186 -32
  338. cribl_control_plane/models/outputwavefront.py +145 -26
  339. cribl_control_plane/models/outputwebhook.py +211 -33
  340. cribl_control_plane/models/outputxsiam.py +143 -26
  341. cribl_control_plane/models/packinfo.py +8 -5
  342. cribl_control_plane/models/packinstallinfo.py +11 -8
  343. cribl_control_plane/models/piisettings_union.py +31 -0
  344. cribl_control_plane/models/productscore.py +2 -1
  345. cribl_control_plane/models/rbacresource.py +2 -1
  346. cribl_control_plane/models/resourcepolicy.py +15 -2
  347. cribl_control_plane/models/rollbacksettings_union.py +44 -0
  348. cribl_control_plane/models/routeconf.py +3 -4
  349. cribl_control_plane/models/runnablejob.py +27 -0
  350. cribl_control_plane/models/runnablejobcollection.py +628 -0
  351. cribl_control_plane/models/runnablejobexecutor.py +360 -0
  352. cribl_control_plane/models/runnablejobscheduledsearch.py +279 -0
  353. cribl_control_plane/models/snisettings_union.py +31 -0
  354. cribl_control_plane/models/systemsettingsconf.py +291 -0
  355. cribl_control_plane/models/tlssettings_union.py +43 -0
  356. cribl_control_plane/models/updateconfiggroupbyproductandidop.py +19 -20
  357. cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +19 -21
  358. cribl_control_plane/models/updatecribllakedatasetbylakeidandidop.py +10 -25
  359. cribl_control_plane/models/updatehectokenrequest.py +7 -1
  360. cribl_control_plane/models/updateinputbyidop.py +1 -19
  361. cribl_control_plane/models/updateinputhectokenbyidandtokenop.py +1 -19
  362. cribl_control_plane/models/updateoutputbyidop.py +1 -19
  363. cribl_control_plane/models/updatepacksbyidop.py +1 -20
  364. cribl_control_plane/models/updatepacksop.py +25 -0
  365. cribl_control_plane/models/updatepipelinebyidop.py +5 -23
  366. cribl_control_plane/models/updateroutesbyidop.py +3 -21
  367. cribl_control_plane/models/upgradegroupsettings_union.py +43 -0
  368. cribl_control_plane/models/upgradepackageurls.py +20 -0
  369. cribl_control_plane/models/upgradesettings.py +38 -0
  370. cribl_control_plane/models/uploadpackresponse.py +13 -0
  371. cribl_control_plane/models/workertypes.py +2 -1
  372. cribl_control_plane/nodes.py +37 -23
  373. cribl_control_plane/packs.py +292 -37
  374. cribl_control_plane/pipelines.py +98 -48
  375. cribl_control_plane/routes_sdk.py +86 -50
  376. cribl_control_plane/samples.py +32 -16
  377. cribl_control_plane/sdk.py +26 -6
  378. cribl_control_plane/settings.py +20 -0
  379. cribl_control_plane/sources.py +85 -33
  380. cribl_control_plane/statuses.py +16 -6
  381. cribl_control_plane/summaries.py +16 -6
  382. cribl_control_plane/system_sdk.py +20 -0
  383. cribl_control_plane/teams.py +16 -6
  384. cribl_control_plane/tokens.py +49 -21
  385. cribl_control_plane/utils/__init__.py +15 -3
  386. cribl_control_plane/utils/annotations.py +32 -8
  387. cribl_control_plane/utils/eventstreaming.py +10 -0
  388. cribl_control_plane/utils/forms.py +21 -10
  389. cribl_control_plane/utils/queryparams.py +14 -2
  390. cribl_control_plane/utils/retries.py +69 -5
  391. cribl_control_plane/utils/unmarshal_json_response.py +15 -1
  392. cribl_control_plane/versions.py +11 -6
  393. cribl_control_plane/versions_configs.py +16 -6
  394. {cribl_control_plane-0.0.39.dist-info → cribl_control_plane-0.4.0b23.dist-info}/METADATA +99 -43
  395. cribl_control_plane-0.4.0b23.dist-info/RECORD +450 -0
  396. {cribl_control_plane-0.0.39.dist-info → cribl_control_plane-0.4.0b23.dist-info}/WHEEL +1 -1
  397. cribl_control_plane-0.4.0b23.dist-info/licenses/LICENSE +201 -0
  398. cribl_control_plane/errors/healthstatus_error.py +0 -32
  399. cribl_control_plane/models/appmode.py +0 -13
  400. cribl_control_plane/models/createpipelineop.py +0 -24
  401. cribl_control_plane/models/createversionpushop.py +0 -23
  402. cribl_control_plane/models/healthstatus.py +0 -33
  403. cribl_control_plane-0.0.39.dist-info/RECORD +0 -315
@@ -0,0 +1,128 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from cribl_control_plane.types import BaseModel
5
+ from enum import Enum
6
+ import pydantic
7
+ from typing import Any, Dict, List, Optional
8
+ from typing_extensions import Annotated, NotRequired, TypedDict
9
+
10
+
11
+ class FunctionSensitiveDataScannerID(str, Enum):
12
+ SENSITIVE_DATA_SCANNER = "sensitive_data_scanner"
13
+
14
+
15
+ class FunctionSensitiveDataScannerRuleTypedDict(TypedDict):
16
+ ruleset_id: str
17
+ r"""The ID of the ruleset to use for the scan"""
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
+
22
+
23
+ class FunctionSensitiveDataScannerRule(BaseModel):
24
+ ruleset_id: Annotated[str, pydantic.Field(alias="rulesetId")]
25
+ r"""The ID of the ruleset to use for the scan"""
26
+
27
+ replace_expr: Annotated[Optional[str], pydantic.Field(alias="replaceExpr")] = (
28
+ "'REDACTED'"
29
+ )
30
+ 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>."""
31
+
32
+ disabled: Optional[bool] = False
33
+
34
+
35
+ class FunctionSensitiveDataScannerFlagTypedDict(TypedDict):
36
+ value: str
37
+ name: NotRequired[str]
38
+
39
+
40
+ class FunctionSensitiveDataScannerFlag(BaseModel):
41
+ value: str
42
+
43
+ name: Optional[str] = None
44
+
45
+
46
+ class FunctionSensitiveDataScannerSchemaTypedDict(TypedDict):
47
+ rules: List[FunctionSensitiveDataScannerRuleTypedDict]
48
+ fields: NotRequired[List[str]]
49
+ r"""Rulesets act on the events contained in these fields. Mitigation expressions apply to the scan results. Supports wildcards (*)."""
50
+ exclude_fields: NotRequired[List[str]]
51
+ r"""Fields that the mitigation expression will not be applied to. Supports wildcards (*)."""
52
+ flags: NotRequired[List[FunctionSensitiveDataScannerFlagTypedDict]]
53
+ r"""Fields to add when mitigation is applied to an event"""
54
+ include_detected_rules: NotRequired[bool]
55
+ r"""If enabled, Add matching ruleset IDs to a field called \"__detected\" """
56
+
57
+
58
+ class FunctionSensitiveDataScannerSchema(BaseModel):
59
+ rules: List[FunctionSensitiveDataScannerRule]
60
+
61
+ fields: Optional[List[str]] = None
62
+ r"""Rulesets act on the events contained in these fields. Mitigation expressions apply to the scan results. Supports wildcards (*)."""
63
+
64
+ exclude_fields: Annotated[
65
+ Optional[List[str]], pydantic.Field(alias="excludeFields")
66
+ ] = None
67
+ r"""Fields that the mitigation expression will not be applied to. Supports wildcards (*)."""
68
+
69
+ flags: Optional[List[FunctionSensitiveDataScannerFlag]] = None
70
+ r"""Fields to add when mitigation is applied to an event"""
71
+
72
+ include_detected_rules: Annotated[
73
+ Optional[bool], pydantic.Field(alias="includeDetectedRules")
74
+ ] = True
75
+ r"""If enabled, Add matching ruleset IDs to a field called \"__detected\" """
76
+
77
+
78
+ class FunctionSensitiveDataScannerTypedDict(TypedDict):
79
+ filename: str
80
+ group: str
81
+ id: FunctionSensitiveDataScannerID
82
+ load_time: float
83
+ mod_time: float
84
+ name: str
85
+ uischema: Dict[str, Any]
86
+ version: str
87
+ async_timeout: NotRequired[float]
88
+ cribl_version: NotRequired[str]
89
+ disabled: NotRequired[bool]
90
+ handle_signals: NotRequired[bool]
91
+ sync: NotRequired[bool]
92
+ schema_: NotRequired[FunctionSensitiveDataScannerSchemaTypedDict]
93
+
94
+
95
+ class FunctionSensitiveDataScanner(BaseModel):
96
+ filename: Annotated[str, pydantic.Field(alias="__filename")]
97
+
98
+ group: str
99
+
100
+ id: FunctionSensitiveDataScannerID
101
+
102
+ load_time: Annotated[float, pydantic.Field(alias="loadTime")]
103
+
104
+ mod_time: Annotated[float, pydantic.Field(alias="modTime")]
105
+
106
+ name: str
107
+
108
+ uischema: Dict[str, Any]
109
+
110
+ version: str
111
+
112
+ async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = (
113
+ None
114
+ )
115
+
116
+ cribl_version: Optional[str] = None
117
+
118
+ disabled: Optional[bool] = None
119
+
120
+ handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = (
121
+ None
122
+ )
123
+
124
+ sync: Optional[bool] = None
125
+
126
+ schema_: Annotated[
127
+ Optional[FunctionSensitiveDataScannerSchema], pydantic.Field(alias="schema")
128
+ ] = None
@@ -0,0 +1,161 @@
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, Dict, Optional
12
+ from typing_extensions import Annotated, NotRequired, TypedDict
13
+
14
+
15
+ class FunctionSerdeID(str, Enum):
16
+ SERDE = "serde"
17
+
18
+
19
+ class OperationMode(str, Enum, metaclass=utils.OpenEnumMeta):
20
+ r"""Extract creates new fields. Reserialize extracts and filters fields, and then reserializes."""
21
+
22
+ # Extract
23
+ EXTRACT = "extract"
24
+ # Reserialize
25
+ RESERIALIZE = "reserialize"
26
+
27
+
28
+ class FunctionSerdeType(str, Enum, metaclass=utils.OpenEnumMeta):
29
+ r"""Parser or formatter type to use"""
30
+
31
+ # CSV
32
+ CSV = "csv"
33
+ # Extended Log File Format
34
+ ELFF = "elff"
35
+ # Common Log Format
36
+ CLF = "clf"
37
+ # Key=Value Pairs
38
+ KVP = "kvp"
39
+ # JSON Object
40
+ JSON = "json"
41
+ # Delimited values
42
+ DELIM = "delim"
43
+ # Regular Expression
44
+ REGEX = "regex"
45
+ # Grok
46
+ GROK = "grok"
47
+
48
+
49
+ class FunctionSerdeSchemaTypedDict(TypedDict):
50
+ mode: NotRequired[OperationMode]
51
+ r"""Extract creates new fields. Reserialize extracts and filters fields, and then reserializes."""
52
+ type: NotRequired[FunctionSerdeType]
53
+ r"""Parser or formatter type to use"""
54
+ delim_char: NotRequired[Any]
55
+ quote_char: NotRequired[Any]
56
+ escape_char: NotRequired[Any]
57
+ null_value: NotRequired[Any]
58
+ src_field: NotRequired[str]
59
+ r"""Field containing text to be parsed"""
60
+ dst_field: NotRequired[str]
61
+ r"""Name of the field to add fields to. Extract mode only."""
62
+ clean_fields: NotRequired[Any]
63
+
64
+
65
+ class FunctionSerdeSchema(BaseModel):
66
+ mode: Annotated[
67
+ Optional[OperationMode], PlainValidator(validate_open_enum(False))
68
+ ] = OperationMode.EXTRACT
69
+ r"""Extract creates new fields. Reserialize extracts and filters fields, and then reserializes."""
70
+
71
+ type: Annotated[
72
+ Optional[FunctionSerdeType], PlainValidator(validate_open_enum(False))
73
+ ] = FunctionSerdeType.CSV
74
+ r"""Parser or formatter type to use"""
75
+
76
+ delim_char: Annotated[Optional[Any], pydantic.Field(alias="delimChar")] = None
77
+
78
+ quote_char: Annotated[Optional[Any], pydantic.Field(alias="quoteChar")] = None
79
+
80
+ escape_char: Annotated[Optional[Any], pydantic.Field(alias="escapeChar")] = None
81
+
82
+ null_value: Annotated[Optional[Any], pydantic.Field(alias="nullValue")] = None
83
+
84
+ src_field: Annotated[Optional[str], pydantic.Field(alias="srcField")] = "_raw"
85
+ r"""Field containing text to be parsed"""
86
+
87
+ dst_field: Annotated[Optional[str], pydantic.Field(alias="dstField")] = None
88
+ r"""Name of the field to add fields to. Extract mode only."""
89
+
90
+ clean_fields: Annotated[Optional[Any], pydantic.Field(alias="cleanFields")] = None
91
+
92
+ @field_serializer("mode")
93
+ def serialize_mode(self, value):
94
+ if isinstance(value, str):
95
+ try:
96
+ return models.OperationMode(value)
97
+ except ValueError:
98
+ return value
99
+ return value
100
+
101
+ @field_serializer("type")
102
+ def serialize_type(self, value):
103
+ if isinstance(value, str):
104
+ try:
105
+ return models.FunctionSerdeType(value)
106
+ except ValueError:
107
+ return value
108
+ return value
109
+
110
+
111
+ class FunctionSerdeTypedDict(TypedDict):
112
+ filename: str
113
+ group: str
114
+ id: FunctionSerdeID
115
+ load_time: float
116
+ mod_time: float
117
+ name: str
118
+ uischema: Dict[str, Any]
119
+ version: str
120
+ async_timeout: NotRequired[float]
121
+ cribl_version: NotRequired[str]
122
+ disabled: NotRequired[bool]
123
+ handle_signals: NotRequired[bool]
124
+ sync: NotRequired[bool]
125
+ schema_: NotRequired[FunctionSerdeSchemaTypedDict]
126
+
127
+
128
+ class FunctionSerde(BaseModel):
129
+ filename: Annotated[str, pydantic.Field(alias="__filename")]
130
+
131
+ group: str
132
+
133
+ id: FunctionSerdeID
134
+
135
+ load_time: Annotated[float, pydantic.Field(alias="loadTime")]
136
+
137
+ mod_time: Annotated[float, pydantic.Field(alias="modTime")]
138
+
139
+ name: str
140
+
141
+ uischema: Dict[str, Any]
142
+
143
+ version: str
144
+
145
+ async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = (
146
+ None
147
+ )
148
+
149
+ cribl_version: Optional[str] = None
150
+
151
+ disabled: Optional[bool] = None
152
+
153
+ handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = (
154
+ None
155
+ )
156
+
157
+ sync: Optional[bool] = None
158
+
159
+ schema_: Annotated[
160
+ Optional[FunctionSerdeSchema], pydantic.Field(alias="schema")
161
+ ] = None
@@ -0,0 +1,134 @@
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, Dict, List, Optional
12
+ from typing_extensions import Annotated, NotRequired, TypedDict
13
+
14
+
15
+ class FunctionSerializeID(str, Enum):
16
+ SERIALIZE = "serialize"
17
+
18
+
19
+ class FunctionSerializeType(str, Enum, metaclass=utils.OpenEnumMeta):
20
+ r"""Data output format"""
21
+
22
+ # CSV
23
+ CSV = "csv"
24
+ # Extended Log File Format
25
+ ELFF = "elff"
26
+ # Common Log Format
27
+ CLF = "clf"
28
+ # Key=Value Pairs
29
+ KVP = "kvp"
30
+ # JSON Object
31
+ JSON = "json"
32
+ # Delimited values
33
+ DELIM = "delim"
34
+
35
+
36
+ class FunctionSerializeSchemaTypedDict(TypedDict):
37
+ type: NotRequired[FunctionSerializeType]
38
+ r"""Data output format"""
39
+ delim_char: NotRequired[Any]
40
+ quote_char: NotRequired[Any]
41
+ escape_char: NotRequired[Any]
42
+ null_value: NotRequired[Any]
43
+ fields: NotRequired[List[str]]
44
+ r"""Required for CSV, ELFF, CLF, and Delimited values. All other formats support wildcard field lists. Examples: host, array*, !host *"""
45
+ src_field: NotRequired[str]
46
+ r"""Field containing object to serialize. Leave blank to serialize top-level event fields."""
47
+ dst_field: NotRequired[str]
48
+ r"""Field to serialize data to"""
49
+
50
+
51
+ class FunctionSerializeSchema(BaseModel):
52
+ type: Annotated[
53
+ Optional[FunctionSerializeType], PlainValidator(validate_open_enum(False))
54
+ ] = FunctionSerializeType.CSV
55
+ r"""Data output format"""
56
+
57
+ delim_char: Annotated[Optional[Any], pydantic.Field(alias="delimChar")] = None
58
+
59
+ quote_char: Annotated[Optional[Any], pydantic.Field(alias="quoteChar")] = None
60
+
61
+ escape_char: Annotated[Optional[Any], pydantic.Field(alias="escapeChar")] = None
62
+
63
+ null_value: Annotated[Optional[Any], pydantic.Field(alias="nullValue")] = None
64
+
65
+ fields: Optional[List[str]] = None
66
+ r"""Required for CSV, ELFF, CLF, and Delimited values. All other formats support wildcard field lists. Examples: host, array*, !host *"""
67
+
68
+ src_field: Annotated[Optional[str], pydantic.Field(alias="srcField")] = None
69
+ r"""Field containing object to serialize. Leave blank to serialize top-level event fields."""
70
+
71
+ dst_field: Annotated[Optional[str], pydantic.Field(alias="dstField")] = "_raw"
72
+ r"""Field to serialize data to"""
73
+
74
+ @field_serializer("type")
75
+ def serialize_type(self, value):
76
+ if isinstance(value, str):
77
+ try:
78
+ return models.FunctionSerializeType(value)
79
+ except ValueError:
80
+ return value
81
+ return value
82
+
83
+
84
+ class FunctionSerializeTypedDict(TypedDict):
85
+ filename: str
86
+ group: str
87
+ id: FunctionSerializeID
88
+ load_time: float
89
+ mod_time: float
90
+ name: str
91
+ uischema: Dict[str, Any]
92
+ version: str
93
+ async_timeout: NotRequired[float]
94
+ cribl_version: NotRequired[str]
95
+ disabled: NotRequired[bool]
96
+ handle_signals: NotRequired[bool]
97
+ sync: NotRequired[bool]
98
+ schema_: NotRequired[FunctionSerializeSchemaTypedDict]
99
+
100
+
101
+ class FunctionSerialize(BaseModel):
102
+ filename: Annotated[str, pydantic.Field(alias="__filename")]
103
+
104
+ group: str
105
+
106
+ id: FunctionSerializeID
107
+
108
+ load_time: Annotated[float, pydantic.Field(alias="loadTime")]
109
+
110
+ mod_time: Annotated[float, pydantic.Field(alias="modTime")]
111
+
112
+ name: str
113
+
114
+ uischema: Dict[str, Any]
115
+
116
+ version: str
117
+
118
+ async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = (
119
+ None
120
+ )
121
+
122
+ cribl_version: Optional[str] = None
123
+
124
+ disabled: Optional[bool] = None
125
+
126
+ handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = (
127
+ None
128
+ )
129
+
130
+ sync: Optional[bool] = None
131
+
132
+ schema_: Annotated[
133
+ Optional[FunctionSerializeSchema], pydantic.Field(alias="schema")
134
+ ] = None
@@ -0,0 +1,93 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from cribl_control_plane.types import BaseModel
5
+ from enum import Enum
6
+ import pydantic
7
+ from typing import Any, Dict, List, Optional
8
+ from typing_extensions import Annotated, NotRequired, TypedDict
9
+
10
+
11
+ class FunctionSidlookupID(str, Enum):
12
+ SIDLOOKUP = "sidlookup"
13
+
14
+
15
+ class FunctionSidlookupFieldTypedDict(TypedDict):
16
+ expr: str
17
+ r"""JavaScript expression to compute the value (can be constant)"""
18
+ name: NotRequired[str]
19
+ disabled: NotRequired[bool]
20
+ r"""Set to No to disable the evaluation of an individual expression"""
21
+
22
+
23
+ class FunctionSidlookupField(BaseModel):
24
+ expr: str
25
+ r"""JavaScript expression to compute the value (can be constant)"""
26
+
27
+ name: Optional[str] = None
28
+
29
+ disabled: Optional[bool] = False
30
+ r"""Set to No to disable the evaluation of an individual expression"""
31
+
32
+
33
+ class FunctionSidlookupSchemaTypedDict(TypedDict):
34
+ fields: NotRequired[List[FunctionSidlookupFieldTypedDict]]
35
+ r"""Set of expressions matched to lookup responses"""
36
+
37
+
38
+ class FunctionSidlookupSchema(BaseModel):
39
+ fields: Optional[List[FunctionSidlookupField]] = None
40
+ r"""Set of expressions matched to lookup responses"""
41
+
42
+
43
+ class FunctionSidlookupTypedDict(TypedDict):
44
+ filename: str
45
+ group: str
46
+ id: FunctionSidlookupID
47
+ load_time: float
48
+ mod_time: float
49
+ name: str
50
+ uischema: Dict[str, Any]
51
+ version: str
52
+ async_timeout: NotRequired[float]
53
+ cribl_version: NotRequired[str]
54
+ disabled: NotRequired[bool]
55
+ handle_signals: NotRequired[bool]
56
+ sync: NotRequired[bool]
57
+ schema_: NotRequired[FunctionSidlookupSchemaTypedDict]
58
+
59
+
60
+ class FunctionSidlookup(BaseModel):
61
+ filename: Annotated[str, pydantic.Field(alias="__filename")]
62
+
63
+ group: str
64
+
65
+ id: FunctionSidlookupID
66
+
67
+ load_time: Annotated[float, pydantic.Field(alias="loadTime")]
68
+
69
+ mod_time: Annotated[float, pydantic.Field(alias="modTime")]
70
+
71
+ name: str
72
+
73
+ uischema: Dict[str, Any]
74
+
75
+ version: str
76
+
77
+ async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = (
78
+ None
79
+ )
80
+
81
+ cribl_version: Optional[str] = None
82
+
83
+ disabled: Optional[bool] = None
84
+
85
+ handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = (
86
+ None
87
+ )
88
+
89
+ sync: Optional[bool] = None
90
+
91
+ schema_: Annotated[
92
+ Optional[FunctionSidlookupSchema], pydantic.Field(alias="schema")
93
+ ] = None
@@ -0,0 +1,144 @@
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, Dict, Optional
12
+ from typing_extensions import Annotated, NotRequired, TypedDict
13
+
14
+
15
+ class FunctionSnmpTrapSerializeID(str, Enum):
16
+ SNMP_TRAP_SERIALIZE = "snmp_trap_serialize"
17
+
18
+
19
+ class FunctionSnmpTrapSerializeAuthenticationProtocol(
20
+ str, Enum, metaclass=utils.OpenEnumMeta
21
+ ):
22
+ # None
23
+ NONE = "none"
24
+ # MD5
25
+ MD5 = "md5"
26
+ # SHA1
27
+ SHA = "sha"
28
+ # SHA224
29
+ SHA224 = "sha224"
30
+ # SHA256
31
+ SHA256 = "sha256"
32
+ # SHA384
33
+ SHA384 = "sha384"
34
+ # SHA512
35
+ SHA512 = "sha512"
36
+
37
+
38
+ class FunctionSnmpTrapSerializeV3UserTypedDict(TypedDict):
39
+ name: NotRequired[str]
40
+ auth_protocol: NotRequired[FunctionSnmpTrapSerializeAuthenticationProtocol]
41
+ auth_key: NotRequired[Any]
42
+ priv_protocol: NotRequired[str]
43
+
44
+
45
+ class FunctionSnmpTrapSerializeV3User(BaseModel):
46
+ name: Optional[str] = None
47
+
48
+ auth_protocol: Annotated[
49
+ Annotated[
50
+ Optional[FunctionSnmpTrapSerializeAuthenticationProtocol],
51
+ PlainValidator(validate_open_enum(False)),
52
+ ],
53
+ pydantic.Field(alias="authProtocol"),
54
+ ] = FunctionSnmpTrapSerializeAuthenticationProtocol.NONE
55
+
56
+ auth_key: Annotated[Optional[Any], pydantic.Field(alias="authKey")] = None
57
+
58
+ priv_protocol: Annotated[Optional[str], pydantic.Field(alias="privProtocol")] = (
59
+ "none"
60
+ )
61
+
62
+ @field_serializer("auth_protocol")
63
+ def serialize_auth_protocol(self, value):
64
+ if isinstance(value, str):
65
+ try:
66
+ return models.FunctionSnmpTrapSerializeAuthenticationProtocol(value)
67
+ except ValueError:
68
+ return value
69
+ return value
70
+
71
+
72
+ class FunctionSnmpTrapSerializeSchemaTypedDict(TypedDict):
73
+ strict: NotRequired[bool]
74
+ r"""Prevent event serialization if any required fields are missing. When disabled, @{product} will attempt to serialize the event even if required fields are missing, which could cause unexpected behavior at the downstream receiver."""
75
+ drop_failed_events: NotRequired[bool]
76
+ r"""When disabled, `snmpSerializeErrors` will be set on the event, and the `__snmpRaw` field will be removed to prevent @{product} from sending the event from the SNMP Trap Destination"""
77
+ v3_user: NotRequired[FunctionSnmpTrapSerializeV3UserTypedDict]
78
+
79
+
80
+ class FunctionSnmpTrapSerializeSchema(BaseModel):
81
+ strict: Optional[bool] = True
82
+ r"""Prevent event serialization if any required fields are missing. When disabled, @{product} will attempt to serialize the event even if required fields are missing, which could cause unexpected behavior at the downstream receiver."""
83
+
84
+ drop_failed_events: Annotated[
85
+ Optional[bool], pydantic.Field(alias="dropFailedEvents")
86
+ ] = True
87
+ r"""When disabled, `snmpSerializeErrors` will be set on the event, and the `__snmpRaw` field will be removed to prevent @{product} from sending the event from the SNMP Trap Destination"""
88
+
89
+ v3_user: Annotated[
90
+ Optional[FunctionSnmpTrapSerializeV3User], pydantic.Field(alias="v3User")
91
+ ] = None
92
+
93
+
94
+ class FunctionSnmpTrapSerializeTypedDict(TypedDict):
95
+ filename: str
96
+ group: str
97
+ id: FunctionSnmpTrapSerializeID
98
+ load_time: float
99
+ mod_time: float
100
+ name: str
101
+ uischema: Dict[str, Any]
102
+ version: str
103
+ async_timeout: NotRequired[float]
104
+ cribl_version: NotRequired[str]
105
+ disabled: NotRequired[bool]
106
+ handle_signals: NotRequired[bool]
107
+ sync: NotRequired[bool]
108
+ schema_: NotRequired[FunctionSnmpTrapSerializeSchemaTypedDict]
109
+
110
+
111
+ class FunctionSnmpTrapSerialize(BaseModel):
112
+ filename: Annotated[str, pydantic.Field(alias="__filename")]
113
+
114
+ group: str
115
+
116
+ id: FunctionSnmpTrapSerializeID
117
+
118
+ load_time: Annotated[float, pydantic.Field(alias="loadTime")]
119
+
120
+ mod_time: Annotated[float, pydantic.Field(alias="modTime")]
121
+
122
+ name: str
123
+
124
+ uischema: Dict[str, Any]
125
+
126
+ version: str
127
+
128
+ async_timeout: Annotated[Optional[float], pydantic.Field(alias="asyncTimeout")] = (
129
+ None
130
+ )
131
+
132
+ cribl_version: Optional[str] = None
133
+
134
+ disabled: Optional[bool] = None
135
+
136
+ handle_signals: Annotated[Optional[bool], pydantic.Field(alias="handleSignals")] = (
137
+ None
138
+ )
139
+
140
+ sync: Optional[bool] = None
141
+
142
+ schema_: Annotated[
143
+ Optional[FunctionSnmpTrapSerializeSchema], pydantic.Field(alias="schema")
144
+ ] = None