cribl-control-plane 0.0.39__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 (547) 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/collectors_sdk.py +993 -0
  8. cribl_control_plane/commits.py +119 -47
  9. cribl_control_plane/commits_files.py +44 -24
  10. cribl_control_plane/configs_versions.py +16 -10
  11. cribl_control_plane/cribl.py +495 -0
  12. cribl_control_plane/destinations.py +86 -34
  13. cribl_control_plane/destinations_pq.py +34 -14
  14. cribl_control_plane/errors/__init__.py +23 -8
  15. cribl_control_plane/errors/apierror.py +2 -0
  16. cribl_control_plane/errors/criblcontrolplaneerror.py +11 -7
  17. cribl_control_plane/errors/error.py +4 -2
  18. cribl_control_plane/errors/healthserverstatus_error.py +41 -0
  19. cribl_control_plane/errors/no_response_error.py +5 -1
  20. cribl_control_plane/errors/responsevalidationerror.py +2 -0
  21. cribl_control_plane/functions.py +367 -0
  22. cribl_control_plane/groups_configs.py +8 -3
  23. cribl_control_plane/groups_sdk.py +156 -94
  24. cribl_control_plane/health.py +34 -14
  25. cribl_control_plane/hectokens.py +44 -20
  26. cribl_control_plane/httpclient.py +0 -1
  27. cribl_control_plane/lakedatasets.py +156 -62
  28. cribl_control_plane/models/__init__.py +4736 -490
  29. cribl_control_plane/models/addhectokenrequest.py +7 -1
  30. cribl_control_plane/models/authtoken.py +5 -1
  31. cribl_control_plane/models/backupssettings_union.py +37 -0
  32. cribl_control_plane/models/{routecloneconf.py → branchinfo.py} +4 -4
  33. cribl_control_plane/models/cacheconnection.py +30 -2
  34. cribl_control_plane/models/cacheconnectionbackfillstatus.py +2 -1
  35. cribl_control_plane/models/cloudprovider.py +2 -1
  36. cribl_control_plane/models/collectorazureblob.py +130 -0
  37. cribl_control_plane/models/collectorconf.py +56 -0
  38. cribl_control_plane/models/collectorcribllake.py +27 -0
  39. cribl_control_plane/models/collectordatabase.py +92 -0
  40. cribl_control_plane/models/collectorfilesystem.py +66 -0
  41. cribl_control_plane/models/collectorgooglecloudstorage.py +131 -0
  42. cribl_control_plane/models/collectorhealthcheck.py +269 -0
  43. cribl_control_plane/models/collectorrest.py +340 -0
  44. cribl_control_plane/models/collectors3.py +239 -0
  45. cribl_control_plane/models/collectorscript.py +59 -0
  46. cribl_control_plane/models/collectorsplunk.py +253 -0
  47. cribl_control_plane/models/configgroup.py +65 -8
  48. cribl_control_plane/models/configgroupcloud.py +17 -3
  49. cribl_control_plane/models/countedbranchinfo.py +20 -0
  50. cribl_control_plane/models/countedconfiggroup.py +20 -0
  51. cribl_control_plane/models/countedcribllakedataset.py +20 -0
  52. cribl_control_plane/models/counteddistributedsummary.py +20 -0
  53. cribl_control_plane/models/countedfunctionresponse.py +20 -0
  54. cribl_control_plane/models/countedgitcommitsummary.py +20 -0
  55. cribl_control_plane/models/countedgitcountresult.py +20 -0
  56. cribl_control_plane/models/{createinputop.py → countedgitdiffresult.py} +5 -9
  57. cribl_control_plane/models/countedgitfilesresponse.py +20 -0
  58. cribl_control_plane/models/{getversioninfoop.py → countedgitinfo.py} +2 -6
  59. cribl_control_plane/models/countedgitlogresult.py +20 -0
  60. cribl_control_plane/models/countedgitrevertresult.py +20 -0
  61. cribl_control_plane/models/countedgitshowresult.py +20 -0
  62. cribl_control_plane/models/countedgitstatusresult.py +20 -0
  63. cribl_control_plane/models/{listinputop.py → countedinput.py} +2 -6
  64. cribl_control_plane/models/countedinputsplunkhec.py +20 -0
  65. cribl_control_plane/models/countedjobinfo.py +20 -0
  66. cribl_control_plane/models/countedmasterworkerentry.py +20 -0
  67. cribl_control_plane/models/countednumber.py +19 -0
  68. cribl_control_plane/models/{getversionbranchop.py → countedobject.py} +2 -6
  69. cribl_control_plane/models/{listoutputop.py → countedoutput.py} +2 -6
  70. cribl_control_plane/models/{createoutputop.py → countedoutputsamplesresponse.py} +5 -9
  71. cribl_control_plane/models/countedoutputtestresponse.py +20 -0
  72. cribl_control_plane/models/countedpackinfo.py +20 -0
  73. cribl_control_plane/models/{createpacksop.py → countedpackinstallinfo.py} +2 -6
  74. cribl_control_plane/models/{listpipelineop.py → countedpipeline.py} +2 -6
  75. cribl_control_plane/models/{listroutesop.py → countedroutes.py} +2 -6
  76. cribl_control_plane/models/countedsavedjob.py +20 -0
  77. cribl_control_plane/models/countedstring.py +19 -0
  78. cribl_control_plane/models/countedsystemsettingsconf.py +20 -0
  79. cribl_control_plane/models/countedteamaccesscontrollist.py +20 -0
  80. cribl_control_plane/models/counteduseraccesscontrollist.py +20 -0
  81. cribl_control_plane/models/createauthloginop.py +18 -0
  82. cribl_control_plane/models/createconfiggroupbyproductop.py +26 -27
  83. cribl_control_plane/models/createcribllakedatasetbylakeidop.py +1 -19
  84. cribl_control_plane/models/createinputhectokenbyidop.py +1 -19
  85. cribl_control_plane/models/createoutputtestbyidop.py +1 -20
  86. cribl_control_plane/models/createroutesappendbyidop.py +4 -22
  87. cribl_control_plane/models/createsavedjobop.py +30 -0
  88. cribl_control_plane/models/createversioncommitop.py +1 -19
  89. cribl_control_plane/models/createversionrevertop.py +3 -21
  90. cribl_control_plane/models/createversionundoop.py +1 -18
  91. cribl_control_plane/models/criblevent.py +15 -0
  92. cribl_control_plane/models/cribllakedataset.py +23 -3
  93. cribl_control_plane/models/cribllakedatasetupdate.py +95 -0
  94. cribl_control_plane/models/datasetmetadata.py +18 -2
  95. cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +18 -21
  96. cribl_control_plane/models/deletecribllakedatasetbylakeidandidop.py +1 -20
  97. cribl_control_plane/models/deleteinputbyidop.py +1 -20
  98. cribl_control_plane/models/deleteoutputbyidop.py +1 -20
  99. cribl_control_plane/models/deleteoutputpqbyidop.py +1 -19
  100. cribl_control_plane/models/deletepacksbyidop.py +1 -20
  101. cribl_control_plane/models/deletepipelinebyidop.py +3 -22
  102. cribl_control_plane/models/deletesavedjobbyidop.py +42 -0
  103. cribl_control_plane/models/difffiles.py +130 -0
  104. cribl_control_plane/models/diffline.py +26 -0
  105. cribl_control_plane/models/difflinecontext.py +28 -0
  106. cribl_control_plane/models/difflinedelete.py +25 -0
  107. cribl_control_plane/models/difflineinsert.py +25 -0
  108. cribl_control_plane/models/distributedsummary.py +6 -0
  109. cribl_control_plane/models/functionaggregatemetrics.py +69 -0
  110. cribl_control_plane/models/functionaggregation.py +69 -0
  111. cribl_control_plane/models/functionautotimestamp.py +69 -0
  112. cribl_control_plane/models/functioncef.py +66 -0
  113. cribl_control_plane/models/functionchain.py +69 -0
  114. cribl_control_plane/models/functionclone.py +69 -0
  115. cribl_control_plane/models/functioncode.py +69 -0
  116. cribl_control_plane/models/functioncomment.py +69 -0
  117. cribl_control_plane/models/functionconfschemaaggregatemetrics.py +153 -0
  118. cribl_control_plane/models/functionconfschemaaggregation.py +114 -0
  119. cribl_control_plane/models/functionconfschemaautotimestamp.py +116 -0
  120. cribl_control_plane/models/functionconfschemacef.py +83 -0
  121. cribl_control_plane/models/functionconfschemachain.py +16 -0
  122. cribl_control_plane/models/functionconfschemaclone.py +16 -0
  123. cribl_control_plane/models/functionconfschemacode.py +38 -0
  124. cribl_control_plane/models/functionconfschemacomment.py +16 -0
  125. cribl_control_plane/models/functionconfschemadistinct.py +41 -0
  126. cribl_control_plane/models/functionconfschemadnslookup.py +193 -0
  127. cribl_control_plane/models/{lookupversions.py → functionconfschemadrop.py} +2 -2
  128. cribl_control_plane/models/functionconfschemadropdimensions.py +31 -0
  129. cribl_control_plane/models/functionconfschemadynamicsampling.py +67 -0
  130. cribl_control_plane/models/functionconfschemaeval.py +44 -0
  131. cribl_control_plane/models/functionconfschemaeventbreaker.py +51 -0
  132. cribl_control_plane/models/functionconfschemaeventstats.py +34 -0
  133. cribl_control_plane/models/functionconfschemaexternaldata.py +13 -0
  134. cribl_control_plane/models/functionconfschemaflatten.py +31 -0
  135. cribl_control_plane/models/functionconfschemafoldkeys.py +31 -0
  136. cribl_control_plane/models/functionconfschemagenstats.py +14 -0
  137. cribl_control_plane/models/functionconfschemageoip.py +66 -0
  138. cribl_control_plane/models/functionconfschemagrok.py +38 -0
  139. cribl_control_plane/models/functionconfschemahandlebar.py +56 -0
  140. cribl_control_plane/models/functionconfschemajoin.py +55 -0
  141. cribl_control_plane/models/functionconfschemajsonunroll.py +21 -0
  142. cribl_control_plane/models/functionconfschemalakeexport.py +44 -0
  143. cribl_control_plane/models/functionconfschemalimit.py +16 -0
  144. cribl_control_plane/models/functionconfschemalocalsearchdatatypeparser.py +17 -0
  145. cribl_control_plane/models/functionconfschemalocalsearchrulesetrunner.py +40 -0
  146. cribl_control_plane/models/functionconfschemalookup.py +92 -0
  147. cribl_control_plane/models/functionconfschemamask.py +63 -0
  148. cribl_control_plane/models/functionconfschemamvexpand.py +76 -0
  149. cribl_control_plane/models/functionconfschemamvpull.py +45 -0
  150. cribl_control_plane/models/functionconfschemanotificationpolicies.py +129 -0
  151. cribl_control_plane/models/functionconfschemanotifications.py +26 -0
  152. cribl_control_plane/models/functionconfschemanotify.py +149 -0
  153. cribl_control_plane/models/functionconfschemanumerify.py +63 -0
  154. cribl_control_plane/models/functionconfschemaotlplogs.py +24 -0
  155. cribl_control_plane/models/functionconfschemaotlpmetrics.py +61 -0
  156. cribl_control_plane/models/functionconfschemaotlptraces.py +54 -0
  157. cribl_control_plane/models/functionconfschemapack.py +24 -0
  158. cribl_control_plane/models/functionconfschemapivot.py +31 -0
  159. cribl_control_plane/models/functionconfschemapublishmetrics.py +98 -0
  160. cribl_control_plane/models/functionconfschemaredis.py +121 -0
  161. cribl_control_plane/models/functionconfschemaregexextract.py +55 -0
  162. cribl_control_plane/models/functionconfschemaregexfilter.py +38 -0
  163. cribl_control_plane/models/functionconfschemarename.py +49 -0
  164. cribl_control_plane/models/functionconfschemarollupmetrics.py +57 -0
  165. cribl_control_plane/models/functionconfschemasampling.py +32 -0
  166. cribl_control_plane/models/functionconfschemasend.py +84 -0
  167. cribl_control_plane/models/functionconfschemasensitivedatascanner.py +75 -0
  168. cribl_control_plane/models/functionconfschemaserde.py +105 -0
  169. cribl_control_plane/models/functionconfschemaserialize.py +78 -0
  170. cribl_control_plane/models/functionconfschemasidlookup.py +34 -0
  171. cribl_control_plane/models/functionconfschemasnmptrapserialize.py +92 -0
  172. cribl_control_plane/models/functionconfschemasort.py +41 -0
  173. cribl_control_plane/models/functionconfschemastore.py +75 -0
  174. cribl_control_plane/models/functionconfschemasuppress.py +57 -0
  175. cribl_control_plane/models/functionconfschematee.py +32 -0
  176. cribl_control_plane/models/functionconfschematrimtimestamp.py +16 -0
  177. cribl_control_plane/models/functionconfschemaunion.py +22 -0
  178. cribl_control_plane/models/functionconfschemaunroll.py +22 -0
  179. cribl_control_plane/models/functionconfschemawindow.py +40 -0
  180. cribl_control_plane/models/functionconfschemaxmlunroll.py +34 -0
  181. cribl_control_plane/models/functiondistinct.py +69 -0
  182. cribl_control_plane/models/functiondnslookup.py +69 -0
  183. cribl_control_plane/models/functiondrop.py +69 -0
  184. cribl_control_plane/models/functiondropdimensions.py +69 -0
  185. cribl_control_plane/models/functiondynamicsampling.py +69 -0
  186. cribl_control_plane/models/functioneval.py +69 -0
  187. cribl_control_plane/models/functioneventbreaker.py +69 -0
  188. cribl_control_plane/models/functioneventstats.py +69 -0
  189. cribl_control_plane/models/functionexternaldata.py +69 -0
  190. cribl_control_plane/models/functionflatten.py +69 -0
  191. cribl_control_plane/models/functionfoldkeys.py +69 -0
  192. cribl_control_plane/models/functiongenstats.py +69 -0
  193. cribl_control_plane/models/functiongeoip.py +69 -0
  194. cribl_control_plane/models/functiongrok.py +69 -0
  195. cribl_control_plane/models/functionhandlebar.py +69 -0
  196. cribl_control_plane/models/functionjoin.py +69 -0
  197. cribl_control_plane/models/functionjsonunroll.py +69 -0
  198. cribl_control_plane/models/functionlakeexport.py +69 -0
  199. cribl_control_plane/models/functionlimit.py +69 -0
  200. cribl_control_plane/models/functionlocalsearchdatatypeparser.py +70 -0
  201. cribl_control_plane/models/functionlocalsearchrulesetrunner.py +70 -0
  202. cribl_control_plane/models/functionlookup.py +69 -0
  203. cribl_control_plane/models/functionmask.py +69 -0
  204. cribl_control_plane/models/functionmvexpand.py +69 -0
  205. cribl_control_plane/models/functionmvpull.py +69 -0
  206. cribl_control_plane/models/functionnotificationpolicies.py +69 -0
  207. cribl_control_plane/models/functionnotifications.py +69 -0
  208. cribl_control_plane/models/functionnotify.py +69 -0
  209. cribl_control_plane/models/functionnumerify.py +69 -0
  210. cribl_control_plane/models/functionotlplogs.py +69 -0
  211. cribl_control_plane/models/functionotlpmetrics.py +69 -0
  212. cribl_control_plane/models/functionotlptraces.py +69 -0
  213. cribl_control_plane/models/functionpack.py +69 -0
  214. cribl_control_plane/models/functionpivot.py +69 -0
  215. cribl_control_plane/models/functionpublishmetrics.py +69 -0
  216. cribl_control_plane/models/functionredis.py +69 -0
  217. cribl_control_plane/models/functionregexextract.py +69 -0
  218. cribl_control_plane/models/functionregexfilter.py +69 -0
  219. cribl_control_plane/models/functionrename.py +69 -0
  220. cribl_control_plane/models/functionresponse.py +242 -0
  221. cribl_control_plane/models/functionrollupmetrics.py +69 -0
  222. cribl_control_plane/models/functionsampling.py +69 -0
  223. cribl_control_plane/models/functionsend.py +69 -0
  224. cribl_control_plane/models/functionsensitivedatascanner.py +69 -0
  225. cribl_control_plane/models/functionserde.py +69 -0
  226. cribl_control_plane/models/functionserialize.py +69 -0
  227. cribl_control_plane/models/functionsidlookup.py +69 -0
  228. cribl_control_plane/models/functionsnmptrapserialize.py +69 -0
  229. cribl_control_plane/models/functionsort.py +69 -0
  230. cribl_control_plane/models/functionstore.py +69 -0
  231. cribl_control_plane/models/functionsuppress.py +69 -0
  232. cribl_control_plane/models/functiontee.py +66 -0
  233. cribl_control_plane/models/functiontrimtimestamp.py +69 -0
  234. cribl_control_plane/models/functionunion.py +69 -0
  235. cribl_control_plane/models/functionunroll.py +69 -0
  236. cribl_control_plane/models/functionwindow.py +69 -0
  237. cribl_control_plane/models/functionxmlunroll.py +69 -0
  238. cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +24 -20
  239. cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +24 -20
  240. cribl_control_plane/models/getconfiggroupbyproductandidop.py +14 -19
  241. cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +18 -20
  242. cribl_control_plane/models/getcribllakedatasetbylakeidandidop.py +1 -20
  243. cribl_control_plane/models/getcribllakedatasetbylakeidop.py +54 -14
  244. cribl_control_plane/models/getfunctionsbyidop.py +18 -0
  245. cribl_control_plane/models/getinputbyidop.py +1 -20
  246. cribl_control_plane/models/getmasterworkerentryop.py +1 -18
  247. cribl_control_plane/models/getoutputbyidop.py +1 -20
  248. cribl_control_plane/models/getoutputpqbyidop.py +1 -19
  249. cribl_control_plane/models/getoutputsamplesbyidop.py +1 -20
  250. cribl_control_plane/models/getpacksbyidop.py +1 -20
  251. cribl_control_plane/models/getpacksop.py +1 -19
  252. cribl_control_plane/models/getpipelinebyidop.py +3 -22
  253. cribl_control_plane/models/getroutesbyidop.py +3 -22
  254. cribl_control_plane/models/getsavedjobbyidop.py +33 -0
  255. cribl_control_plane/models/getsavedjobop.py +40 -0
  256. cribl_control_plane/models/getsummaryop.py +18 -20
  257. cribl_control_plane/models/getversioncountop.py +3 -21
  258. cribl_control_plane/models/getversiondiffop.py +1 -18
  259. cribl_control_plane/models/getversionfilesop.py +3 -22
  260. cribl_control_plane/models/getversionop.py +1 -19
  261. cribl_control_plane/models/getversionshowop.py +1 -18
  262. cribl_control_plane/models/getversionstatusop.py +1 -19
  263. cribl_control_plane/models/gitcountresult.py +13 -0
  264. cribl_control_plane/models/gitdiffresult.py +16 -0
  265. cribl_control_plane/models/gitinfo.py +14 -3
  266. cribl_control_plane/models/gitshowresult.py +19 -0
  267. cribl_control_plane/models/groupcreaterequest.py +175 -0
  268. cribl_control_plane/models/hbcriblinfo.py +42 -7
  269. cribl_control_plane/models/healthserverstatus.py +55 -0
  270. cribl_control_plane/models/heartbeatmetadata.py +48 -11
  271. cribl_control_plane/models/input.py +83 -78
  272. cribl_control_plane/models/inputappscope.py +126 -30
  273. cribl_control_plane/models/inputazureblob.py +62 -6
  274. cribl_control_plane/models/inputcloudflarehec.py +518 -0
  275. cribl_control_plane/models/inputcollection.py +47 -4
  276. cribl_control_plane/models/inputconfluentcloud.py +258 -32
  277. cribl_control_plane/models/inputcribl.py +47 -4
  278. cribl_control_plane/models/inputcriblhttp.py +121 -30
  279. cribl_control_plane/models/inputcribllakehttp.py +136 -30
  280. cribl_control_plane/models/inputcriblmetrics.py +48 -4
  281. cribl_control_plane/models/inputcribltcp.py +122 -24
  282. cribl_control_plane/models/inputcrowdstrike.py +92 -10
  283. cribl_control_plane/models/inputdatadogagent.py +98 -24
  284. cribl_control_plane/models/inputdatagen.py +47 -4
  285. cribl_control_plane/models/inputedgeprometheus.py +218 -58
  286. cribl_control_plane/models/inputelastic.py +167 -36
  287. cribl_control_plane/models/inputeventhub.py +209 -6
  288. cribl_control_plane/models/inputexec.py +59 -6
  289. cribl_control_plane/models/inputfile.py +78 -10
  290. cribl_control_plane/models/inputfirehose.py +97 -24
  291. cribl_control_plane/models/inputgooglepubsub.py +67 -6
  292. cribl_control_plane/models/inputgrafana.py +251 -71
  293. cribl_control_plane/models/inputhttp.py +97 -24
  294. cribl_control_plane/models/inputhttpraw.py +97 -24
  295. cribl_control_plane/models/inputjournalfiles.py +48 -4
  296. cribl_control_plane/models/inputkafka.py +252 -28
  297. cribl_control_plane/models/inputkinesis.py +130 -14
  298. cribl_control_plane/models/inputkubeevents.py +47 -4
  299. cribl_control_plane/models/inputkubelogs.py +61 -8
  300. cribl_control_plane/models/inputkubemetrics.py +61 -8
  301. cribl_control_plane/models/inputloki.py +113 -34
  302. cribl_control_plane/models/inputmetrics.py +97 -24
  303. cribl_control_plane/models/inputmodeldriventelemetry.py +107 -26
  304. cribl_control_plane/models/inputmsk.py +145 -32
  305. cribl_control_plane/models/inputnetflow.py +47 -4
  306. cribl_control_plane/models/inputoffice365mgmt.py +112 -14
  307. cribl_control_plane/models/inputoffice365msgtrace.py +114 -16
  308. cribl_control_plane/models/inputoffice365service.py +114 -16
  309. cribl_control_plane/models/inputopentelemetry.py +143 -32
  310. cribl_control_plane/models/inputprometheus.py +211 -57
  311. cribl_control_plane/models/inputprometheusrw.py +114 -27
  312. cribl_control_plane/models/inputrawudp.py +47 -4
  313. cribl_control_plane/models/inputs3.py +78 -8
  314. cribl_control_plane/models/inputs3inventory.py +92 -10
  315. cribl_control_plane/models/inputsecuritylake.py +93 -10
  316. cribl_control_plane/models/inputsnmp.py +112 -21
  317. cribl_control_plane/models/inputsplunk.py +130 -28
  318. cribl_control_plane/models/inputsplunkhec.py +119 -29
  319. cribl_control_plane/models/inputsplunksearch.py +112 -15
  320. cribl_control_plane/models/inputsqs.py +99 -16
  321. cribl_control_plane/models/inputsyslog.py +189 -47
  322. cribl_control_plane/models/inputsystemmetrics.py +202 -32
  323. cribl_control_plane/models/inputsystemstate.py +61 -8
  324. cribl_control_plane/models/inputtcp.py +122 -26
  325. cribl_control_plane/models/inputtcpjson.py +112 -26
  326. cribl_control_plane/models/inputwef.py +144 -15
  327. cribl_control_plane/models/inputwindowsmetrics.py +186 -33
  328. cribl_control_plane/models/inputwineventlogs.py +93 -11
  329. cribl_control_plane/models/inputwiz.py +173 -8
  330. cribl_control_plane/models/inputwizwebhook.py +97 -24
  331. cribl_control_plane/models/inputzscalerhec.py +119 -29
  332. cribl_control_plane/models/jobinfo.py +34 -0
  333. cribl_control_plane/models/jobstatus.py +48 -0
  334. cribl_control_plane/models/lakedatasetmetrics.py +17 -0
  335. cribl_control_plane/models/lakehouseconnectiontype.py +2 -1
  336. cribl_control_plane/models/listconfiggroupbyproductop.py +14 -19
  337. cribl_control_plane/models/listmasterworkerentryop.py +1 -19
  338. cribl_control_plane/models/logininfo.py +3 -3
  339. cribl_control_plane/models/masterworkerentry.py +20 -13
  340. cribl_control_plane/models/nodeactiveupgradestatus.py +2 -1
  341. cribl_control_plane/models/nodefailedupgradestatus.py +2 -1
  342. cribl_control_plane/models/nodeprovidedinfo.py +55 -11
  343. cribl_control_plane/models/nodeskippedupgradestatus.py +2 -1
  344. cribl_control_plane/models/nodeupgradestate.py +2 -1
  345. cribl_control_plane/models/nodeupgradestatus.py +51 -5
  346. cribl_control_plane/models/outpostnodeinfo.py +16 -0
  347. cribl_control_plane/models/output.py +111 -91
  348. cribl_control_plane/models/outputazureblob.py +171 -18
  349. cribl_control_plane/models/outputazuredataexplorer.py +514 -90
  350. cribl_control_plane/models/outputazureeventhub.py +315 -31
  351. cribl_control_plane/models/outputazurelogs.py +145 -26
  352. cribl_control_plane/models/outputchronicle.py +532 -0
  353. cribl_control_plane/models/outputclickhouse.py +236 -34
  354. cribl_control_plane/models/outputcloudflarer2.py +632 -0
  355. cribl_control_plane/models/outputcloudwatch.py +129 -23
  356. cribl_control_plane/models/outputconfluentcloud.py +384 -57
  357. cribl_control_plane/models/outputcriblhttp.py +205 -31
  358. cribl_control_plane/models/outputcribllake.py +156 -16
  359. cribl_control_plane/models/outputcriblsearchengine.py +655 -0
  360. cribl_control_plane/models/outputcribltcp.py +194 -29
  361. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +172 -28
  362. cribl_control_plane/models/outputdatabricks.py +501 -0
  363. cribl_control_plane/models/outputdatadog.py +199 -31
  364. cribl_control_plane/models/outputdataset.py +181 -29
  365. cribl_control_plane/models/outputdiskspool.py +17 -2
  366. cribl_control_plane/models/outputdls3.py +233 -24
  367. cribl_control_plane/models/outputdynatracehttp.py +208 -34
  368. cribl_control_plane/models/outputdynatraceotlp.py +210 -36
  369. cribl_control_plane/models/outputelastic.py +199 -30
  370. cribl_control_plane/models/outputelasticcloud.py +171 -26
  371. cribl_control_plane/models/outputexabeam.py +96 -10
  372. cribl_control_plane/models/outputfilesystem.py +139 -14
  373. cribl_control_plane/models/outputgooglechronicle.py +216 -35
  374. cribl_control_plane/models/outputgooglecloudlogging.py +174 -31
  375. cribl_control_plane/models/outputgooglecloudstorage.py +215 -24
  376. cribl_control_plane/models/outputgooglepubsub.py +131 -23
  377. cribl_control_plane/models/outputgrafanacloud.py +376 -74
  378. cribl_control_plane/models/outputgraphite.py +128 -25
  379. cribl_control_plane/models/outputhoneycomb.py +145 -26
  380. cribl_control_plane/models/outputhumiohec.py +162 -28
  381. cribl_control_plane/models/outputinfluxdb.py +165 -28
  382. cribl_control_plane/models/outputkafka.py +375 -52
  383. cribl_control_plane/models/outputkinesis.py +165 -27
  384. cribl_control_plane/models/outputloki.py +164 -34
  385. cribl_control_plane/models/outputmicrosoftfabric.py +540 -0
  386. cribl_control_plane/models/outputminio.py +225 -25
  387. cribl_control_plane/models/outputmsk.py +267 -54
  388. cribl_control_plane/models/outputnetflow.py +16 -2
  389. cribl_control_plane/models/outputnewrelic.py +171 -29
  390. cribl_control_plane/models/outputnewrelicevents.py +163 -28
  391. cribl_control_plane/models/outputopentelemetry.py +240 -40
  392. cribl_control_plane/models/outputprometheus.py +145 -26
  393. cribl_control_plane/models/outputring.py +49 -8
  394. cribl_control_plane/models/outputs3.py +233 -26
  395. cribl_control_plane/models/outputsecuritylake.py +179 -18
  396. cribl_control_plane/models/outputsentinel.py +172 -29
  397. cribl_control_plane/models/outputsentineloneaisiem.py +178 -32
  398. cribl_control_plane/models/outputservicenow.py +223 -38
  399. cribl_control_plane/models/outputsignalfx.py +145 -26
  400. cribl_control_plane/models/outputsns.py +143 -25
  401. cribl_control_plane/models/outputsplunk.py +206 -36
  402. cribl_control_plane/models/outputsplunkhec.py +238 -26
  403. cribl_control_plane/models/outputsplunklb.py +262 -42
  404. cribl_control_plane/models/outputsqs.py +163 -33
  405. cribl_control_plane/models/outputstatsd.py +127 -25
  406. cribl_control_plane/models/outputstatsdext.py +128 -25
  407. cribl_control_plane/models/outputsumologic.py +146 -25
  408. cribl_control_plane/models/outputsyslog.py +318 -46
  409. cribl_control_plane/models/outputtcpjson.py +186 -32
  410. cribl_control_plane/models/outputwavefront.py +145 -26
  411. cribl_control_plane/models/outputwebhook.py +211 -33
  412. cribl_control_plane/models/outputxsiam.py +143 -26
  413. cribl_control_plane/models/packinfo.py +8 -5
  414. cribl_control_plane/models/packinstallinfo.py +11 -8
  415. cribl_control_plane/models/piisettings_union.py +31 -0
  416. cribl_control_plane/models/pipeline.py +52 -4
  417. cribl_control_plane/models/pipelinefunctionaggregatemetrics.py +195 -0
  418. cribl_control_plane/models/pipelinefunctionaggregation.py +159 -0
  419. cribl_control_plane/models/pipelinefunctionautotimestamp.py +56 -0
  420. cribl_control_plane/models/pipelinefunctioncef.py +96 -0
  421. cribl_control_plane/models/pipelinefunctionchain.py +62 -0
  422. cribl_control_plane/models/pipelinefunctionclone.py +56 -0
  423. cribl_control_plane/models/pipelinefunctioncode.py +56 -0
  424. cribl_control_plane/models/pipelinefunctioncomment.py +56 -0
  425. cribl_control_plane/models/pipelinefunctionconf.py +343 -46
  426. cribl_control_plane/models/pipelinefunctionconf_input.py +353 -0
  427. cribl_control_plane/models/pipelinefunctiondistinct.py +86 -0
  428. cribl_control_plane/models/pipelinefunctiondnslookup.py +56 -0
  429. cribl_control_plane/models/pipelinefunctiondrop.py +56 -0
  430. cribl_control_plane/models/pipelinefunctiondropdimensions.py +74 -0
  431. cribl_control_plane/models/pipelinefunctiondynamicsampling.py +111 -0
  432. cribl_control_plane/models/pipelinefunctioneval.py +56 -0
  433. cribl_control_plane/models/pipelinefunctioneventbreaker.py +95 -0
  434. cribl_control_plane/models/pipelinefunctioneventstats.py +79 -0
  435. cribl_control_plane/models/pipelinefunctionexternaldata.py +56 -0
  436. cribl_control_plane/models/pipelinefunctionflatten.py +56 -0
  437. cribl_control_plane/models/pipelinefunctionfoldkeys.py +56 -0
  438. cribl_control_plane/models/pipelinefunctiongenstats.py +56 -0
  439. cribl_control_plane/models/pipelinefunctiongeoip.py +109 -0
  440. cribl_control_plane/models/pipelinefunctiongrok.py +83 -0
  441. cribl_control_plane/models/pipelinefunctionhandlebar.py +99 -0
  442. cribl_control_plane/models/pipelinefunctionjoin.py +100 -0
  443. cribl_control_plane/models/pipelinefunctionjsonunroll.py +67 -0
  444. cribl_control_plane/models/pipelinefunctionlakeexport.py +89 -0
  445. cribl_control_plane/models/pipelinefunctionlimit.py +56 -0
  446. cribl_control_plane/models/pipelinefunctionlocalsearchdatatypeparser.py +62 -0
  447. cribl_control_plane/models/pipelinefunctionlocalsearchrulesetrunner.py +56 -0
  448. cribl_control_plane/models/pipelinefunctionlookup.py +136 -0
  449. cribl_control_plane/models/pipelinefunctionmask.py +108 -0
  450. cribl_control_plane/models/pipelinefunctionmvexpand.py +116 -0
  451. cribl_control_plane/models/pipelinefunctionmvpull.py +86 -0
  452. cribl_control_plane/models/pipelinefunctionnotificationpolicies.py +56 -0
  453. cribl_control_plane/models/pipelinefunctionnotifications.py +72 -0
  454. cribl_control_plane/models/pipelinefunctionnotify.py +189 -0
  455. cribl_control_plane/models/pipelinefunctionnumerify.py +56 -0
  456. cribl_control_plane/models/pipelinefunctionotlplogs.py +56 -0
  457. cribl_control_plane/models/pipelinefunctionotlpmetrics.py +56 -0
  458. cribl_control_plane/models/pipelinefunctionotlptraces.py +56 -0
  459. cribl_control_plane/models/pipelinefunctionpack.py +67 -0
  460. cribl_control_plane/models/pipelinefunctionpivot.py +72 -0
  461. cribl_control_plane/models/pipelinefunctionpublishmetrics.py +56 -0
  462. cribl_control_plane/models/pipelinefunctionredis.py +165 -0
  463. cribl_control_plane/models/pipelinefunctionregexextract.py +100 -0
  464. cribl_control_plane/models/pipelinefunctionregexfilter.py +56 -0
  465. cribl_control_plane/models/pipelinefunctionrename.py +56 -0
  466. cribl_control_plane/models/pipelinefunctionrollupmetrics.py +56 -0
  467. cribl_control_plane/models/pipelinefunctionsampling.py +56 -0
  468. cribl_control_plane/models/pipelinefunctionsend.py +128 -0
  469. cribl_control_plane/models/pipelinefunctionsensitivedatascanner.py +120 -0
  470. cribl_control_plane/models/pipelinefunctionserde.py +149 -0
  471. cribl_control_plane/models/pipelinefunctionserialize.py +122 -0
  472. cribl_control_plane/models/pipelinefunctionsidlookup.py +56 -0
  473. cribl_control_plane/models/pipelinefunctionsnmptrapserialize.py +56 -0
  474. cribl_control_plane/models/pipelinefunctionsort.py +84 -0
  475. cribl_control_plane/models/pipelinefunctionstore.py +120 -0
  476. cribl_control_plane/models/pipelinefunctionsuppress.py +102 -0
  477. cribl_control_plane/models/pipelinefunctiontee.py +77 -0
  478. cribl_control_plane/models/pipelinefunctiontrimtimestamp.py +56 -0
  479. cribl_control_plane/models/pipelinefunctionunion.py +67 -0
  480. cribl_control_plane/models/pipelinefunctionunroll.py +67 -0
  481. cribl_control_plane/models/pipelinefunctionwindow.py +83 -0
  482. cribl_control_plane/models/pipelinefunctionxmlunroll.py +79 -0
  483. cribl_control_plane/models/productscore.py +2 -1
  484. cribl_control_plane/models/rbacresource.py +2 -1
  485. cribl_control_plane/models/resourcepolicy.py +15 -2
  486. cribl_control_plane/models/rollbacksettings_union.py +44 -0
  487. cribl_control_plane/models/routeconf.py +3 -4
  488. cribl_control_plane/models/runnablejob.py +27 -0
  489. cribl_control_plane/models/runnablejobcollection.py +629 -0
  490. cribl_control_plane/models/runnablejobexecutor.py +360 -0
  491. cribl_control_plane/models/runnablejobscheduledsearch.py +279 -0
  492. cribl_control_plane/models/savedjob.py +26 -0
  493. cribl_control_plane/models/savedjobcollection.py +411 -0
  494. cribl_control_plane/models/savedjobexecutor.py +301 -0
  495. cribl_control_plane/models/savedjobscheduledsearch.py +278 -0
  496. cribl_control_plane/models/snisettings_union.py +31 -0
  497. cribl_control_plane/models/systemsettingsconf.py +291 -0
  498. cribl_control_plane/models/tlssettings_union.py +43 -0
  499. cribl_control_plane/models/updateconfiggroupbyproductandidop.py +19 -20
  500. cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +19 -21
  501. cribl_control_plane/models/updatecribllakedatasetbylakeidandidop.py +10 -25
  502. cribl_control_plane/models/updatehectokenrequest.py +7 -1
  503. cribl_control_plane/models/updateinputbyidop.py +1 -19
  504. cribl_control_plane/models/updateinputhectokenbyidandtokenop.py +1 -19
  505. cribl_control_plane/models/updateoutputbyidop.py +1 -19
  506. cribl_control_plane/models/updatepacksbyidop.py +1 -20
  507. cribl_control_plane/models/updatepacksop.py +25 -0
  508. cribl_control_plane/models/updatepipelinebyidop.py +9 -26
  509. cribl_control_plane/models/updateroutesbyidop.py +3 -21
  510. cribl_control_plane/models/updatesavedjobbyidop.py +42 -0
  511. cribl_control_plane/models/upgradegroupsettings_union.py +43 -0
  512. cribl_control_plane/models/upgradepackageurls.py +20 -0
  513. cribl_control_plane/models/upgradesettings.py +38 -0
  514. cribl_control_plane/models/uploadpackresponse.py +13 -0
  515. cribl_control_plane/models/workertypes.py +2 -1
  516. cribl_control_plane/nodes.py +37 -23
  517. cribl_control_plane/packs.py +292 -37
  518. cribl_control_plane/pipelines.py +114 -64
  519. cribl_control_plane/routes_sdk.py +86 -50
  520. cribl_control_plane/samples.py +32 -16
  521. cribl_control_plane/sdk.py +30 -6
  522. cribl_control_plane/settings.py +20 -0
  523. cribl_control_plane/sources.py +85 -33
  524. cribl_control_plane/statuses.py +16 -6
  525. cribl_control_plane/summaries.py +16 -6
  526. cribl_control_plane/system_sdk.py +20 -0
  527. cribl_control_plane/teams.py +16 -6
  528. cribl_control_plane/tokens.py +49 -21
  529. cribl_control_plane/utils/__init__.py +15 -3
  530. cribl_control_plane/utils/annotations.py +32 -8
  531. cribl_control_plane/utils/eventstreaming.py +10 -0
  532. cribl_control_plane/utils/forms.py +21 -10
  533. cribl_control_plane/utils/queryparams.py +14 -2
  534. cribl_control_plane/utils/retries.py +69 -5
  535. cribl_control_plane/utils/unmarshal_json_response.py +15 -1
  536. cribl_control_plane/versions.py +11 -6
  537. cribl_control_plane/versions_configs.py +16 -6
  538. {cribl_control_plane-0.0.39.dist-info → cribl_control_plane-0.5.0b3.dist-info}/METADATA +106 -42
  539. cribl_control_plane-0.5.0b3.dist-info/RECORD +591 -0
  540. {cribl_control_plane-0.0.39.dist-info → cribl_control_plane-0.5.0b3.dist-info}/WHEEL +1 -1
  541. cribl_control_plane-0.5.0b3.dist-info/licenses/LICENSE +201 -0
  542. cribl_control_plane/errors/healthstatus_error.py +0 -32
  543. cribl_control_plane/models/appmode.py +0 -13
  544. cribl_control_plane/models/createpipelineop.py +0 -24
  545. cribl_control_plane/models/createversionpushop.py +0 -23
  546. cribl_control_plane/models/healthstatus.py +0 -33
  547. cribl_control_plane-0.0.39.dist-info/RECORD +0 -315
@@ -1,9 +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
5
  from cribl_control_plane.types import BaseModel
6
+ from cribl_control_plane.utils import validate_open_enum
5
7
  from enum import Enum
6
8
  import pydantic
9
+ from pydantic import field_serializer
10
+ from pydantic.functional_validators import PlainValidator
7
11
  from typing import Any, List, Optional
8
12
  from typing_extensions import Annotated, NotRequired, TypedDict
9
13
 
@@ -23,20 +27,32 @@ class InputWefConnection(BaseModel):
23
27
  pipeline: Optional[str] = None
24
28
 
25
29
 
26
- class InputWefMode(str, Enum):
30
+ class InputWefMode(str, Enum, metaclass=utils.OpenEnumMeta):
27
31
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
28
32
 
33
+ # Smart
29
34
  SMART = "smart"
35
+ # Always On
30
36
  ALWAYS = "always"
31
37
 
32
38
 
33
- class InputWefCompression(str, Enum):
39
+ class InputWefCompression(str, Enum, metaclass=utils.OpenEnumMeta):
34
40
  r"""Codec to use to compress the persisted data"""
35
41
 
42
+ # None
36
43
  NONE = "none"
44
+ # Gzip
37
45
  GZIP = "gzip"
38
46
 
39
47
 
48
+ class InputWefPqControlsTypedDict(TypedDict):
49
+ pass
50
+
51
+
52
+ class InputWefPqControls(BaseModel):
53
+ pass
54
+
55
+
40
56
  class InputWefPqTypedDict(TypedDict):
41
57
  mode: NotRequired[InputWefMode]
42
58
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
@@ -52,10 +68,13 @@ class InputWefPqTypedDict(TypedDict):
52
68
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
53
69
  compress: NotRequired[InputWefCompression]
54
70
  r"""Codec to use to compress the persisted data"""
71
+ pq_controls: NotRequired[InputWefPqControlsTypedDict]
55
72
 
56
73
 
57
74
  class InputWefPq(BaseModel):
58
- mode: Optional[InputWefMode] = InputWefMode.ALWAYS
75
+ mode: Annotated[
76
+ Optional[InputWefMode], PlainValidator(validate_open_enum(False))
77
+ ] = InputWefMode.ALWAYS
59
78
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
60
79
 
61
80
  max_buffer_size: Annotated[
@@ -79,25 +98,51 @@ class InputWefPq(BaseModel):
79
98
  path: Optional[str] = "$CRIBL_HOME/state/queues"
80
99
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
81
100
 
82
- compress: Optional[InputWefCompression] = InputWefCompression.NONE
101
+ compress: Annotated[
102
+ Optional[InputWefCompression], PlainValidator(validate_open_enum(False))
103
+ ] = InputWefCompression.NONE
83
104
  r"""Codec to use to compress the persisted data"""
84
105
 
106
+ pq_controls: Annotated[
107
+ Optional[InputWefPqControls], pydantic.Field(alias="pqControls")
108
+ ] = None
85
109
 
86
- class InputWefAuthenticationMethod(str, Enum):
110
+ @field_serializer("mode")
111
+ def serialize_mode(self, value):
112
+ if isinstance(value, str):
113
+ try:
114
+ return models.InputWefMode(value)
115
+ except ValueError:
116
+ return value
117
+ return value
118
+
119
+ @field_serializer("compress")
120
+ def serialize_compress(self, value):
121
+ if isinstance(value, str):
122
+ try:
123
+ return models.InputWefCompression(value)
124
+ except ValueError:
125
+ return value
126
+ return value
127
+
128
+
129
+ class InputWefAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
87
130
  r"""How to authenticate incoming client connections"""
88
131
 
132
+ # Client certificate
89
133
  CLIENT_CERT = "clientCert"
134
+ # Kerberos
90
135
  KERBEROS = "kerberos"
91
136
 
92
137
 
93
- class InputWefMinimumTLSVersion(str, Enum):
138
+ class InputWefMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
94
139
  TL_SV1 = "TLSv1"
95
140
  TL_SV1_1 = "TLSv1.1"
96
141
  TL_SV1_2 = "TLSv1.2"
97
142
  TL_SV1_3 = "TLSv1.3"
98
143
 
99
144
 
100
- class InputWefMaximumTLSVersion(str, Enum):
145
+ class InputWefMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
101
146
  TL_SV1 = "TLSv1"
102
147
  TL_SV1_1 = "TLSv1.1"
103
148
  TL_SV1_2 = "TLSv1.2"
@@ -168,11 +213,19 @@ class MTLSSettings(BaseModel):
168
213
  r"""Regex matching allowable common names in peer certificates' subject attribute"""
169
214
 
170
215
  min_version: Annotated[
171
- Optional[InputWefMinimumTLSVersion], pydantic.Field(alias="minVersion")
216
+ Annotated[
217
+ Optional[InputWefMinimumTLSVersion],
218
+ PlainValidator(validate_open_enum(False)),
219
+ ],
220
+ pydantic.Field(alias="minVersion"),
172
221
  ] = None
173
222
 
174
223
  max_version: Annotated[
175
- Optional[InputWefMaximumTLSVersion], pydantic.Field(alias="maxVersion")
224
+ Annotated[
225
+ Optional[InputWefMaximumTLSVersion],
226
+ PlainValidator(validate_open_enum(False)),
227
+ ],
228
+ pydantic.Field(alias="maxVersion"),
176
229
  ] = None
177
230
 
178
231
  ocsp_check: Annotated[Optional[bool], pydantic.Field(alias="ocspCheck")] = False
@@ -187,15 +240,33 @@ class MTLSSettings(BaseModel):
187
240
  ] = False
188
241
  r"""If enabled, checks will fail on any OCSP error. Otherwise, checks will fail only when a certificate is revoked, ignoring other errors."""
189
242
 
190
-
191
- class InputWefFormat(str, Enum):
243
+ @field_serializer("min_version")
244
+ def serialize_min_version(self, value):
245
+ if isinstance(value, str):
246
+ try:
247
+ return models.InputWefMinimumTLSVersion(value)
248
+ except ValueError:
249
+ return value
250
+ return value
251
+
252
+ @field_serializer("max_version")
253
+ def serialize_max_version(self, value):
254
+ if isinstance(value, str):
255
+ try:
256
+ return models.InputWefMaximumTLSVersion(value)
257
+ except ValueError:
258
+ return value
259
+ return value
260
+
261
+
262
+ class InputWefFormat(str, Enum, metaclass=utils.OpenEnumMeta):
192
263
  r"""Content format in which the endpoint should deliver events"""
193
264
 
194
265
  RAW = "Raw"
195
266
  RENDERED_TEXT = "RenderedText"
196
267
 
197
268
 
198
- class QueryBuilderMode(str, Enum):
269
+ class QueryBuilderMode(str, Enum, metaclass=utils.OpenEnumMeta):
199
270
  SIMPLE = "simple"
200
271
  XML = "xml"
201
272
 
@@ -213,6 +284,21 @@ class SubscriptionMetadatum(BaseModel):
213
284
  r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
214
285
 
215
286
 
287
+ class QueryTypedDict(TypedDict):
288
+ path: str
289
+ r"""The Path attribute from the relevant XML Select element"""
290
+ query_expression: str
291
+ r"""The XPath query inside the relevant XML Select element"""
292
+
293
+
294
+ class Query(BaseModel):
295
+ path: str
296
+ r"""The Path attribute from the relevant XML Select element"""
297
+
298
+ query_expression: Annotated[str, pydantic.Field(alias="queryExpression")]
299
+ r"""The XPath query inside the relevant XML Select element"""
300
+
301
+
216
302
  class SubscriptionTypedDict(TypedDict):
217
303
  subscription_name: str
218
304
  targets: List[str]
@@ -236,6 +322,9 @@ class SubscriptionTypedDict(TypedDict):
236
322
  query_selector: NotRequired[QueryBuilderMode]
237
323
  metadata: NotRequired[List[SubscriptionMetadatumTypedDict]]
238
324
  r"""Fields to add to events ingested under this subscription"""
325
+ queries: NotRequired[List[QueryTypedDict]]
326
+ xml_query: NotRequired[str]
327
+ r"""The XPath query to use for selecting events"""
239
328
 
240
329
 
241
330
  class Subscription(BaseModel):
@@ -248,7 +337,8 @@ class Subscription(BaseModel):
248
337
  r"""Version UUID for this subscription. If any subscription parameters are modified, this value will change."""
249
338
 
250
339
  content_format: Annotated[
251
- Optional[InputWefFormat], pydantic.Field(alias="contentFormat")
340
+ Annotated[Optional[InputWefFormat], PlainValidator(validate_open_enum(False))],
341
+ pydantic.Field(alias="contentFormat"),
252
342
  ] = InputWefFormat.RAW
253
343
  r"""Content format in which the endpoint should deliver events"""
254
344
 
@@ -277,12 +367,38 @@ class Subscription(BaseModel):
277
367
  r"""The RFC-3066 locale the Windows clients should use when sending events. Defaults to \"en-US\"."""
278
368
 
279
369
  query_selector: Annotated[
280
- Optional[QueryBuilderMode], pydantic.Field(alias="querySelector")
370
+ Annotated[
371
+ Optional[QueryBuilderMode], PlainValidator(validate_open_enum(False))
372
+ ],
373
+ pydantic.Field(alias="querySelector"),
281
374
  ] = QueryBuilderMode.SIMPLE
282
375
 
283
376
  metadata: Optional[List[SubscriptionMetadatum]] = None
284
377
  r"""Fields to add to events ingested under this subscription"""
285
378
 
379
+ queries: Optional[List[Query]] = None
380
+
381
+ xml_query: Annotated[Optional[str], pydantic.Field(alias="xmlQuery")] = None
382
+ r"""The XPath query to use for selecting events"""
383
+
384
+ @field_serializer("content_format")
385
+ def serialize_content_format(self, value):
386
+ if isinstance(value, str):
387
+ try:
388
+ return models.InputWefFormat(value)
389
+ except ValueError:
390
+ return value
391
+ return value
392
+
393
+ @field_serializer("query_selector")
394
+ def serialize_query_selector(self, value):
395
+ if isinstance(value, str):
396
+ try:
397
+ return models.QueryBuilderMode(value)
398
+ except ValueError:
399
+ return value
400
+ return value
401
+
286
402
 
287
403
  class InputWefMetadatumTypedDict(TypedDict):
288
404
  name: str
@@ -397,7 +513,11 @@ class InputWef(BaseModel):
397
513
  r"""Port to listen on"""
398
514
 
399
515
  auth_method: Annotated[
400
- Optional[InputWefAuthenticationMethod], pydantic.Field(alias="authMethod")
516
+ Annotated[
517
+ Optional[InputWefAuthenticationMethod],
518
+ PlainValidator(validate_open_enum(False)),
519
+ ],
520
+ pydantic.Field(alias="authMethod"),
401
521
  ] = InputWefAuthenticationMethod.CLIENT_CERT
402
522
  r"""How to authenticate incoming client connections"""
403
523
 
@@ -473,3 +593,12 @@ class InputWef(BaseModel):
473
593
  Optional[bool], pydantic.Field(alias="logFingerprintMismatch")
474
594
  ] = False
475
595
  r"""Log a warning if the client certificate authority (CA) fingerprint does not match the expected value. A mismatch prevents Cribl from receiving events from the Windows Event Forwarder."""
596
+
597
+ @field_serializer("auth_method")
598
+ def serialize_auth_method(self, value):
599
+ if isinstance(value, str):
600
+ try:
601
+ return models.InputWefAuthenticationMethod(value)
602
+ except ValueError:
603
+ return value
604
+ return value
@@ -1,9 +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
5
  from cribl_control_plane.types import BaseModel
6
+ from cribl_control_plane.utils import validate_open_enum
5
7
  from enum import Enum
6
8
  import pydantic
9
+ from pydantic import field_serializer
10
+ from pydantic.functional_validators import PlainValidator
7
11
  from typing import List, Optional
8
12
  from typing_extensions import Annotated, NotRequired, TypedDict
9
13
 
@@ -23,20 +27,32 @@ class InputWindowsMetricsConnection(BaseModel):
23
27
  pipeline: Optional[str] = None
24
28
 
25
29
 
26
- class InputWindowsMetricsPqMode(str, Enum):
30
+ class InputWindowsMetricsPqMode(str, Enum, metaclass=utils.OpenEnumMeta):
27
31
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
28
32
 
33
+ # Smart
29
34
  SMART = "smart"
35
+ # Always On
30
36
  ALWAYS = "always"
31
37
 
32
38
 
33
- class InputWindowsMetricsCompression(str, Enum):
39
+ class InputWindowsMetricsCompression(str, Enum, metaclass=utils.OpenEnumMeta):
34
40
  r"""Codec to use to compress the persisted data"""
35
41
 
42
+ # None
36
43
  NONE = "none"
44
+ # Gzip
37
45
  GZIP = "gzip"
38
46
 
39
47
 
48
+ class InputWindowsMetricsPqControlsTypedDict(TypedDict):
49
+ pass
50
+
51
+
52
+ class InputWindowsMetricsPqControls(BaseModel):
53
+ pass
54
+
55
+
40
56
  class InputWindowsMetricsPqTypedDict(TypedDict):
41
57
  mode: NotRequired[InputWindowsMetricsPqMode]
42
58
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
@@ -52,10 +68,13 @@ class InputWindowsMetricsPqTypedDict(TypedDict):
52
68
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
53
69
  compress: NotRequired[InputWindowsMetricsCompression]
54
70
  r"""Codec to use to compress the persisted data"""
71
+ pq_controls: NotRequired[InputWindowsMetricsPqControlsTypedDict]
55
72
 
56
73
 
57
74
  class InputWindowsMetricsPq(BaseModel):
58
- mode: Optional[InputWindowsMetricsPqMode] = InputWindowsMetricsPqMode.ALWAYS
75
+ mode: Annotated[
76
+ Optional[InputWindowsMetricsPqMode], PlainValidator(validate_open_enum(False))
77
+ ] = InputWindowsMetricsPqMode.ALWAYS
59
78
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
60
79
 
61
80
  max_buffer_size: Annotated[
@@ -79,27 +98,58 @@ class InputWindowsMetricsPq(BaseModel):
79
98
  path: Optional[str] = "$CRIBL_HOME/state/queues"
80
99
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
81
100
 
82
- compress: Optional[InputWindowsMetricsCompression] = (
83
- InputWindowsMetricsCompression.NONE
84
- )
101
+ compress: Annotated[
102
+ Optional[InputWindowsMetricsCompression],
103
+ PlainValidator(validate_open_enum(False)),
104
+ ] = InputWindowsMetricsCompression.NONE
85
105
  r"""Codec to use to compress the persisted data"""
86
106
 
87
-
88
- class InputWindowsMetricsHostMode(str, Enum):
107
+ pq_controls: Annotated[
108
+ Optional[InputWindowsMetricsPqControls], pydantic.Field(alias="pqControls")
109
+ ] = None
110
+
111
+ @field_serializer("mode")
112
+ def serialize_mode(self, value):
113
+ if isinstance(value, str):
114
+ try:
115
+ return models.InputWindowsMetricsPqMode(value)
116
+ except ValueError:
117
+ return value
118
+ return value
119
+
120
+ @field_serializer("compress")
121
+ def serialize_compress(self, value):
122
+ if isinstance(value, str):
123
+ try:
124
+ return models.InputWindowsMetricsCompression(value)
125
+ except ValueError:
126
+ return value
127
+ return value
128
+
129
+
130
+ class InputWindowsMetricsHostMode(str, Enum, metaclass=utils.OpenEnumMeta):
89
131
  r"""Select level of detail for host metrics"""
90
132
 
133
+ # Basic
91
134
  BASIC = "basic"
135
+ # All
92
136
  ALL = "all"
137
+ # Custom
93
138
  CUSTOM = "custom"
139
+ # Disabled
94
140
  DISABLED = "disabled"
95
141
 
96
142
 
97
- class InputWindowsMetricsSystemMode(str, Enum):
143
+ class InputWindowsMetricsSystemMode(str, Enum, metaclass=utils.OpenEnumMeta):
98
144
  r"""Select the level of details for system metrics"""
99
145
 
146
+ # Basic
100
147
  BASIC = "basic"
148
+ # All
101
149
  ALL = "all"
150
+ # Custom
102
151
  CUSTOM = "custom"
152
+ # Disabled
103
153
  DISABLED = "disabled"
104
154
 
105
155
 
@@ -111,19 +161,35 @@ class InputWindowsMetricsSystemTypedDict(TypedDict):
111
161
 
112
162
 
113
163
  class InputWindowsMetricsSystem(BaseModel):
114
- mode: Optional[InputWindowsMetricsSystemMode] = InputWindowsMetricsSystemMode.BASIC
164
+ mode: Annotated[
165
+ Optional[InputWindowsMetricsSystemMode],
166
+ PlainValidator(validate_open_enum(False)),
167
+ ] = InputWindowsMetricsSystemMode.BASIC
115
168
  r"""Select the level of details for system metrics"""
116
169
 
117
170
  detail: Optional[bool] = False
118
171
  r"""Generate metrics for all system information"""
119
172
 
173
+ @field_serializer("mode")
174
+ def serialize_mode(self, value):
175
+ if isinstance(value, str):
176
+ try:
177
+ return models.InputWindowsMetricsSystemMode(value)
178
+ except ValueError:
179
+ return value
180
+ return value
181
+
120
182
 
121
- class InputWindowsMetricsCPUMode(str, Enum):
183
+ class InputWindowsMetricsCPUMode(str, Enum, metaclass=utils.OpenEnumMeta):
122
184
  r"""Select the level of details for CPU metrics"""
123
185
 
186
+ # Basic
124
187
  BASIC = "basic"
188
+ # All
125
189
  ALL = "all"
190
+ # Custom
126
191
  CUSTOM = "custom"
192
+ # Disabled
127
193
  DISABLED = "disabled"
128
194
 
129
195
 
@@ -139,7 +205,9 @@ class InputWindowsMetricsCPUTypedDict(TypedDict):
139
205
 
140
206
 
141
207
  class InputWindowsMetricsCPU(BaseModel):
142
- mode: Optional[InputWindowsMetricsCPUMode] = InputWindowsMetricsCPUMode.BASIC
208
+ mode: Annotated[
209
+ Optional[InputWindowsMetricsCPUMode], PlainValidator(validate_open_enum(False))
210
+ ] = InputWindowsMetricsCPUMode.BASIC
143
211
  r"""Select the level of details for CPU metrics"""
144
212
 
145
213
  per_cpu: Annotated[Optional[bool], pydantic.Field(alias="perCpu")] = False
@@ -151,13 +219,26 @@ class InputWindowsMetricsCPU(BaseModel):
151
219
  time: Optional[bool] = False
152
220
  r"""Generate raw, monotonic CPU time counters"""
153
221
 
222
+ @field_serializer("mode")
223
+ def serialize_mode(self, value):
224
+ if isinstance(value, str):
225
+ try:
226
+ return models.InputWindowsMetricsCPUMode(value)
227
+ except ValueError:
228
+ return value
229
+ return value
154
230
 
155
- class InputWindowsMetricsMemoryMode(str, Enum):
231
+
232
+ class InputWindowsMetricsMemoryMode(str, Enum, metaclass=utils.OpenEnumMeta):
156
233
  r"""Select the level of details for memory metrics"""
157
234
 
235
+ # Basic
158
236
  BASIC = "basic"
237
+ # All
159
238
  ALL = "all"
239
+ # Custom
160
240
  CUSTOM = "custom"
241
+ # Disabled
161
242
  DISABLED = "disabled"
162
243
 
163
244
 
@@ -169,39 +250,64 @@ class InputWindowsMetricsMemoryTypedDict(TypedDict):
169
250
 
170
251
 
171
252
  class InputWindowsMetricsMemory(BaseModel):
172
- mode: Optional[InputWindowsMetricsMemoryMode] = InputWindowsMetricsMemoryMode.BASIC
253
+ mode: Annotated[
254
+ Optional[InputWindowsMetricsMemoryMode],
255
+ PlainValidator(validate_open_enum(False)),
256
+ ] = InputWindowsMetricsMemoryMode.BASIC
173
257
  r"""Select the level of details for memory metrics"""
174
258
 
175
259
  detail: Optional[bool] = False
176
260
  r"""Generate metrics for all memory states"""
177
261
 
262
+ @field_serializer("mode")
263
+ def serialize_mode(self, value):
264
+ if isinstance(value, str):
265
+ try:
266
+ return models.InputWindowsMetricsMemoryMode(value)
267
+ except ValueError:
268
+ return value
269
+ return value
270
+
178
271
 
179
- class InputWindowsMetricsNetworkMode(str, Enum):
272
+ class InputWindowsMetricsNetworkMode(str, Enum, metaclass=utils.OpenEnumMeta):
180
273
  r"""Select the level of details for network metrics"""
181
274
 
275
+ # Basic
182
276
  BASIC = "basic"
277
+ # All
183
278
  ALL = "all"
279
+ # Custom
184
280
  CUSTOM = "custom"
281
+ # Disabled
185
282
  DISABLED = "disabled"
186
283
 
187
284
 
188
285
  class InputWindowsMetricsNetworkTypedDict(TypedDict):
189
286
  mode: NotRequired[InputWindowsMetricsNetworkMode]
190
287
  r"""Select the level of details for network metrics"""
288
+ detail: NotRequired[bool]
289
+ r"""Generate full network metrics"""
290
+ protocols: NotRequired[bool]
291
+ r"""Generate protocol metrics for ICMP, ICMPMsg, IP, TCP, UDP and UDPLite"""
191
292
  devices: NotRequired[List[str]]
192
293
  r"""Network interfaces to include/exclude. All interfaces are included if this list is empty."""
193
294
  per_interface: NotRequired[bool]
194
295
  r"""Generate separate metrics for each interface"""
195
- detail: NotRequired[bool]
196
- r"""Generate full network metrics"""
197
296
 
198
297
 
199
298
  class InputWindowsMetricsNetwork(BaseModel):
200
- mode: Optional[InputWindowsMetricsNetworkMode] = (
201
- InputWindowsMetricsNetworkMode.BASIC
202
- )
299
+ mode: Annotated[
300
+ Optional[InputWindowsMetricsNetworkMode],
301
+ PlainValidator(validate_open_enum(False)),
302
+ ] = InputWindowsMetricsNetworkMode.BASIC
203
303
  r"""Select the level of details for network metrics"""
204
304
 
305
+ detail: Optional[bool] = False
306
+ r"""Generate full network metrics"""
307
+
308
+ protocols: Optional[bool] = False
309
+ r"""Generate protocol metrics for ICMP, ICMPMsg, IP, TCP, UDP and UDPLite"""
310
+
205
311
  devices: Optional[List[str]] = None
206
312
  r"""Network interfaces to include/exclude. All interfaces are included if this list is empty."""
207
313
 
@@ -210,37 +316,63 @@ class InputWindowsMetricsNetwork(BaseModel):
210
316
  )
211
317
  r"""Generate separate metrics for each interface"""
212
318
 
213
- detail: Optional[bool] = False
214
- r"""Generate full network metrics"""
319
+ @field_serializer("mode")
320
+ def serialize_mode(self, value):
321
+ if isinstance(value, str):
322
+ try:
323
+ return models.InputWindowsMetricsNetworkMode(value)
324
+ except ValueError:
325
+ return value
326
+ return value
215
327
 
216
328
 
217
- class InputWindowsMetricsDiskMode(str, Enum):
329
+ class InputWindowsMetricsDiskMode(str, Enum, metaclass=utils.OpenEnumMeta):
218
330
  r"""Select the level of details for disk metrics"""
219
331
 
332
+ # Basic
220
333
  BASIC = "basic"
334
+ # All
221
335
  ALL = "all"
336
+ # Custom
222
337
  CUSTOM = "custom"
338
+ # Disabled
223
339
  DISABLED = "disabled"
224
340
 
225
341
 
226
342
  class InputWindowsMetricsDiskTypedDict(TypedDict):
227
343
  mode: NotRequired[InputWindowsMetricsDiskMode]
228
344
  r"""Select the level of details for disk metrics"""
229
- volumes: NotRequired[List[str]]
230
- r"""Windows volumes to include/exclude. E.g.: C:, !E:, etc. Wildcards and ! (not) operators are supported. All volumes are included if this list is empty."""
231
345
  per_volume: NotRequired[bool]
232
346
  r"""Generate separate metrics for each volume"""
347
+ detail: NotRequired[bool]
348
+ r"""Generate full disk metrics"""
349
+ volumes: NotRequired[List[str]]
350
+ r"""Windows volumes to include/exclude. E.g.: C:, !E:, etc. Wildcards and ! (not) operators are supported. All volumes are included if this list is empty."""
233
351
 
234
352
 
235
353
  class InputWindowsMetricsDisk(BaseModel):
236
- mode: Optional[InputWindowsMetricsDiskMode] = InputWindowsMetricsDiskMode.BASIC
354
+ mode: Annotated[
355
+ Optional[InputWindowsMetricsDiskMode], PlainValidator(validate_open_enum(False))
356
+ ] = InputWindowsMetricsDiskMode.BASIC
237
357
  r"""Select the level of details for disk metrics"""
238
358
 
359
+ per_volume: Annotated[Optional[bool], pydantic.Field(alias="perVolume")] = False
360
+ r"""Generate separate metrics for each volume"""
361
+
362
+ detail: Optional[bool] = False
363
+ r"""Generate full disk metrics"""
364
+
239
365
  volumes: Optional[List[str]] = None
240
366
  r"""Windows volumes to include/exclude. E.g.: C:, !E:, etc. Wildcards and ! (not) operators are supported. All volumes are included if this list is empty."""
241
367
 
242
- per_volume: Annotated[Optional[bool], pydantic.Field(alias="perVolume")] = False
243
- r"""Generate separate metrics for each volume"""
368
+ @field_serializer("mode")
369
+ def serialize_mode(self, value):
370
+ if isinstance(value, str):
371
+ try:
372
+ return models.InputWindowsMetricsDiskMode(value)
373
+ except ValueError:
374
+ return value
375
+ return value
244
376
 
245
377
 
246
378
  class InputWindowsMetricsCustomTypedDict(TypedDict):
@@ -270,11 +402,22 @@ class InputWindowsMetricsHostTypedDict(TypedDict):
270
402
 
271
403
 
272
404
  class InputWindowsMetricsHost(BaseModel):
273
- mode: Optional[InputWindowsMetricsHostMode] = InputWindowsMetricsHostMode.BASIC
405
+ mode: Annotated[
406
+ Optional[InputWindowsMetricsHostMode], PlainValidator(validate_open_enum(False))
407
+ ] = InputWindowsMetricsHostMode.BASIC
274
408
  r"""Select level of detail for host metrics"""
275
409
 
276
410
  custom: Optional[InputWindowsMetricsCustom] = None
277
411
 
412
+ @field_serializer("mode")
413
+ def serialize_mode(self, value):
414
+ if isinstance(value, str):
415
+ try:
416
+ return models.InputWindowsMetricsHostMode(value)
417
+ except ValueError:
418
+ return value
419
+ return value
420
+
278
421
 
279
422
  class InputWindowsMetricsSetTypedDict(TypedDict):
280
423
  name: str
@@ -315,7 +458,7 @@ class InputWindowsMetricsMetadatum(BaseModel):
315
458
  r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
316
459
 
317
460
 
318
- class InputWindowsMetricsDataCompressionFormat(str, Enum):
461
+ class InputWindowsMetricsDataCompressionFormat(str, Enum, metaclass=utils.OpenEnumMeta):
319
462
  NONE = "none"
320
463
  GZIP = "gzip"
321
464
 
@@ -347,15 +490,25 @@ class InputWindowsMetricsPersistence(BaseModel):
347
490
  max_data_time: Annotated[Optional[str], pydantic.Field(alias="maxDataTime")] = "24h"
348
491
  r"""Maximum amount of time to retain data (examples: 2h, 4d). When limit is reached, older data will be deleted."""
349
492
 
350
- compress: Optional[InputWindowsMetricsDataCompressionFormat] = (
351
- InputWindowsMetricsDataCompressionFormat.GZIP
352
- )
493
+ compress: Annotated[
494
+ Optional[InputWindowsMetricsDataCompressionFormat],
495
+ PlainValidator(validate_open_enum(False)),
496
+ ] = InputWindowsMetricsDataCompressionFormat.GZIP
353
497
 
354
498
  dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = (
355
499
  "$CRIBL_HOME/state/windows_metrics"
356
500
  )
357
501
  r"""Path to use to write metrics. Defaults to $CRIBL_HOME/state/windows_metrics"""
358
502
 
503
+ @field_serializer("compress")
504
+ def serialize_compress(self, value):
505
+ if isinstance(value, str):
506
+ try:
507
+ return models.InputWindowsMetricsDataCompressionFormat(value)
508
+ except ValueError:
509
+ return value
510
+ return value
511
+
359
512
 
360
513
  class InputWindowsMetricsTypedDict(TypedDict):
361
514
  type: InputWindowsMetricsType