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
@@ -0,0 +1,632 @@
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, List, Optional
12
+ from typing_extensions import Annotated, NotRequired, TypedDict
13
+
14
+
15
+ class OutputCloudflareR2Type(str, Enum):
16
+ CLOUDFLARE_R2 = "cloudflare_r2"
17
+
18
+
19
+ class OutputCloudflareR2AuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
20
+ r"""AWS authentication method. Choose Auto to use IAM roles."""
21
+
22
+ AUTO = "auto"
23
+ SECRET = "secret"
24
+ MANUAL = "manual"
25
+
26
+
27
+ class OutputCloudflareR2SignatureVersion(str, Enum, metaclass=utils.OpenEnumMeta):
28
+ r"""Signature version to use for signing MinIO requests"""
29
+
30
+ V2 = "v2"
31
+ V4 = "v4"
32
+
33
+
34
+ class OutputCloudflareR2StorageClass(str, Enum, metaclass=utils.OpenEnumMeta):
35
+ r"""Storage class to select for uploaded objects"""
36
+
37
+ # Standard
38
+ STANDARD = "STANDARD"
39
+ # Reduced Redundancy Storage
40
+ REDUCED_REDUNDANCY = "REDUCED_REDUNDANCY"
41
+
42
+
43
+ class OutputCloudflareR2ServerSideEncryption(str, Enum, metaclass=utils.OpenEnumMeta):
44
+ r"""Server-side encryption for uploaded objects"""
45
+
46
+ # Amazon S3 Managed Key
47
+ AES256 = "AES256"
48
+
49
+
50
+ class OutputCloudflareR2DataFormat(str, Enum, metaclass=utils.OpenEnumMeta):
51
+ r"""Format of the output data"""
52
+
53
+ # JSON
54
+ JSON = "json"
55
+ # Raw
56
+ RAW = "raw"
57
+ # Parquet
58
+ PARQUET = "parquet"
59
+
60
+
61
+ class OutputCloudflareR2BackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
62
+ r"""How to handle events when all receivers are exerting backpressure"""
63
+
64
+ # Block
65
+ BLOCK = "block"
66
+ # Drop
67
+ DROP = "drop"
68
+
69
+
70
+ class OutputCloudflareR2DiskSpaceProtection(str, Enum, metaclass=utils.OpenEnumMeta):
71
+ r"""How to handle events when disk space is below the global 'Min free disk space' limit"""
72
+
73
+ # Block
74
+ BLOCK = "block"
75
+ # Drop
76
+ DROP = "drop"
77
+
78
+
79
+ class OutputCloudflareR2Compression(str, Enum, metaclass=utils.OpenEnumMeta):
80
+ r"""Data compression format to apply to HTTP content before it is delivered"""
81
+
82
+ NONE = "none"
83
+ GZIP = "gzip"
84
+
85
+
86
+ class OutputCloudflareR2CompressionLevel(str, Enum, metaclass=utils.OpenEnumMeta):
87
+ r"""Compression level to apply before moving files to final destination"""
88
+
89
+ # Best Speed
90
+ BEST_SPEED = "best_speed"
91
+ # Normal
92
+ NORMAL = "normal"
93
+ # Best Compression
94
+ BEST_COMPRESSION = "best_compression"
95
+
96
+
97
+ class OutputCloudflareR2ParquetVersion(str, Enum, metaclass=utils.OpenEnumMeta):
98
+ r"""Determines which data types are supported and how they are represented"""
99
+
100
+ # 1.0
101
+ PARQUET_1_0 = "PARQUET_1_0"
102
+ # 2.4
103
+ PARQUET_2_4 = "PARQUET_2_4"
104
+ # 2.6
105
+ PARQUET_2_6 = "PARQUET_2_6"
106
+
107
+
108
+ class OutputCloudflareR2DataPageVersion(str, Enum, metaclass=utils.OpenEnumMeta):
109
+ r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it."""
110
+
111
+ # V1
112
+ DATA_PAGE_V1 = "DATA_PAGE_V1"
113
+ # V2
114
+ DATA_PAGE_V2 = "DATA_PAGE_V2"
115
+
116
+
117
+ class OutputCloudflareR2KeyValueMetadatumTypedDict(TypedDict):
118
+ value: str
119
+ key: NotRequired[str]
120
+
121
+
122
+ class OutputCloudflareR2KeyValueMetadatum(BaseModel):
123
+ value: str
124
+
125
+ key: Optional[str] = ""
126
+
127
+
128
+ class OutputCloudflareR2TypedDict(TypedDict):
129
+ type: OutputCloudflareR2Type
130
+ endpoint: str
131
+ r"""Cloudflare R2 service URL (example: https://<ACCOUNT_ID>.r2.cloudflarestorage.com)"""
132
+ bucket: str
133
+ r"""Name of the destination R2 bucket. This value can be a constant or a JavaScript expression that can only be evaluated at init time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`"""
134
+ id: NotRequired[str]
135
+ r"""Unique ID for this output"""
136
+ pipeline: NotRequired[str]
137
+ r"""Pipeline to process data before sending out to this output"""
138
+ system_fields: NotRequired[List[str]]
139
+ r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards."""
140
+ environment: NotRequired[str]
141
+ r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere."""
142
+ streamtags: NotRequired[List[str]]
143
+ r"""Tags for filtering and grouping in @{product}"""
144
+ aws_authentication_method: NotRequired[OutputCloudflareR2AuthenticationMethod]
145
+ r"""AWS authentication method. Choose Auto to use IAM roles."""
146
+ aws_secret_key: NotRequired[str]
147
+ r"""Secret key. This value can be a constant or a JavaScript expression, such as `${C.env.SOME_SECRET}`)."""
148
+ region: NotRequired[Any]
149
+ stage_path: NotRequired[str]
150
+ r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant stable storage."""
151
+ add_id_to_stage_path: NotRequired[bool]
152
+ r"""Add the Output ID value to staging location"""
153
+ dest_path: NotRequired[str]
154
+ r"""Root directory to prepend to path before uploading. Enter a constant, or a JavaScript expression enclosed in quotes or backticks."""
155
+ signature_version: NotRequired[OutputCloudflareR2SignatureVersion]
156
+ r"""Signature version to use for signing MinIO requests"""
157
+ object_acl: NotRequired[Any]
158
+ storage_class: NotRequired[OutputCloudflareR2StorageClass]
159
+ r"""Storage class to select for uploaded objects"""
160
+ server_side_encryption: NotRequired[OutputCloudflareR2ServerSideEncryption]
161
+ r"""Server-side encryption for uploaded objects"""
162
+ reuse_connections: NotRequired[bool]
163
+ r"""Reuse connections between requests, which can improve performance"""
164
+ reject_unauthorized: NotRequired[bool]
165
+ r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates)"""
166
+ verify_permissions: NotRequired[bool]
167
+ r"""Disable if you can access files within the bucket but not the bucket itself"""
168
+ remove_empty_dirs: NotRequired[bool]
169
+ r"""Remove empty staging directories after moving files"""
170
+ partition_expr: NotRequired[str]
171
+ r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory."""
172
+ format_: NotRequired[OutputCloudflareR2DataFormat]
173
+ r"""Format of the output data"""
174
+ base_file_name: NotRequired[str]
175
+ r"""JavaScript expression to define the output filename prefix (can be constant)"""
176
+ file_name_suffix: NotRequired[str]
177
+ r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`)."""
178
+ max_file_size_mb: NotRequired[float]
179
+ r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location."""
180
+ max_open_files: NotRequired[float]
181
+ r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location."""
182
+ header_line: NotRequired[str]
183
+ r"""If set, this line will be written to the beginning of each output file"""
184
+ write_high_water_mark: NotRequired[float]
185
+ r"""Buffer size used to write to a file"""
186
+ on_backpressure: NotRequired[OutputCloudflareR2BackpressureBehavior]
187
+ r"""How to handle events when all receivers are exerting backpressure"""
188
+ deadletter_enabled: NotRequired[bool]
189
+ r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors"""
190
+ on_disk_full_backpressure: NotRequired[OutputCloudflareR2DiskSpaceProtection]
191
+ r"""How to handle events when disk space is below the global 'Min free disk space' limit"""
192
+ force_close_on_shutdown: NotRequired[bool]
193
+ r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss."""
194
+ max_file_open_time_sec: NotRequired[float]
195
+ r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location."""
196
+ max_file_idle_time_sec: NotRequired[float]
197
+ r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location."""
198
+ max_concurrent_file_parts: NotRequired[float]
199
+ r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB."""
200
+ description: NotRequired[str]
201
+ aws_api_key: NotRequired[str]
202
+ r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)"""
203
+ aws_secret: NotRequired[str]
204
+ r"""Select or create a stored secret that references your access key and secret key"""
205
+ compress: NotRequired[OutputCloudflareR2Compression]
206
+ r"""Data compression format to apply to HTTP content before it is delivered"""
207
+ compression_level: NotRequired[OutputCloudflareR2CompressionLevel]
208
+ r"""Compression level to apply before moving files to final destination"""
209
+ automatic_schema: NotRequired[bool]
210
+ r"""Automatically calculate the schema based on the events of each Parquet file generated"""
211
+ parquet_schema: NotRequired[str]
212
+ r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas"""
213
+ parquet_version: NotRequired[OutputCloudflareR2ParquetVersion]
214
+ r"""Determines which data types are supported and how they are represented"""
215
+ parquet_data_page_version: NotRequired[OutputCloudflareR2DataPageVersion]
216
+ r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it."""
217
+ parquet_row_group_length: NotRequired[float]
218
+ r"""The number of rows that every group will contain. The final group can contain a smaller number of rows."""
219
+ parquet_page_size: NotRequired[str]
220
+ r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression."""
221
+ should_log_invalid_rows: NotRequired[bool]
222
+ r"""Log up to 3 rows that @{product} skips due to data mismatch"""
223
+ key_value_metadata: NotRequired[List[OutputCloudflareR2KeyValueMetadatumTypedDict]]
224
+ r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """
225
+ enable_statistics: NotRequired[bool]
226
+ r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics."""
227
+ enable_write_page_index: NotRequired[bool]
228
+ r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping."""
229
+ enable_page_checksum: NotRequired[bool]
230
+ r"""Parquet tools can use the checksum of a Parquet page to verify data integrity"""
231
+ empty_dir_cleanup_sec: NotRequired[float]
232
+ r"""How frequently, in seconds, to clean up empty directories"""
233
+ directory_batch_size: NotRequired[float]
234
+ r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory."""
235
+ deadletter_path: NotRequired[str]
236
+ r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded"""
237
+ max_retry_num: NotRequired[float]
238
+ r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered"""
239
+
240
+
241
+ class OutputCloudflareR2(BaseModel):
242
+ type: OutputCloudflareR2Type
243
+
244
+ endpoint: str
245
+ r"""Cloudflare R2 service URL (example: https://<ACCOUNT_ID>.r2.cloudflarestorage.com)"""
246
+
247
+ bucket: str
248
+ r"""Name of the destination R2 bucket. This value can be a constant or a JavaScript expression that can only be evaluated at init time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`"""
249
+
250
+ id: Optional[str] = None
251
+ r"""Unique ID for this output"""
252
+
253
+ pipeline: Optional[str] = None
254
+ r"""Pipeline to process data before sending out to this output"""
255
+
256
+ system_fields: Annotated[
257
+ Optional[List[str]], pydantic.Field(alias="systemFields")
258
+ ] = None
259
+ r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards."""
260
+
261
+ environment: Optional[str] = None
262
+ r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere."""
263
+
264
+ streamtags: Optional[List[str]] = None
265
+ r"""Tags for filtering and grouping in @{product}"""
266
+
267
+ aws_authentication_method: Annotated[
268
+ Annotated[
269
+ Optional[OutputCloudflareR2AuthenticationMethod],
270
+ PlainValidator(validate_open_enum(False)),
271
+ ],
272
+ pydantic.Field(alias="awsAuthenticationMethod"),
273
+ ] = OutputCloudflareR2AuthenticationMethod.AUTO
274
+ r"""AWS authentication method. Choose Auto to use IAM roles."""
275
+
276
+ aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = (
277
+ None
278
+ )
279
+ r"""Secret key. This value can be a constant or a JavaScript expression, such as `${C.env.SOME_SECRET}`)."""
280
+
281
+ region: Optional[Any] = None
282
+
283
+ stage_path: Annotated[Optional[str], pydantic.Field(alias="stagePath")] = (
284
+ "$CRIBL_HOME/state/outputs/staging"
285
+ )
286
+ r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant stable storage."""
287
+
288
+ add_id_to_stage_path: Annotated[
289
+ Optional[bool], pydantic.Field(alias="addIdToStagePath")
290
+ ] = True
291
+ r"""Add the Output ID value to staging location"""
292
+
293
+ dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = None
294
+ r"""Root directory to prepend to path before uploading. Enter a constant, or a JavaScript expression enclosed in quotes or backticks."""
295
+
296
+ signature_version: Annotated[
297
+ Annotated[
298
+ Optional[OutputCloudflareR2SignatureVersion],
299
+ PlainValidator(validate_open_enum(False)),
300
+ ],
301
+ pydantic.Field(alias="signatureVersion"),
302
+ ] = OutputCloudflareR2SignatureVersion.V4
303
+ r"""Signature version to use for signing MinIO requests"""
304
+
305
+ object_acl: Annotated[Optional[Any], pydantic.Field(alias="objectACL")] = None
306
+
307
+ storage_class: Annotated[
308
+ Annotated[
309
+ Optional[OutputCloudflareR2StorageClass],
310
+ PlainValidator(validate_open_enum(False)),
311
+ ],
312
+ pydantic.Field(alias="storageClass"),
313
+ ] = None
314
+ r"""Storage class to select for uploaded objects"""
315
+
316
+ server_side_encryption: Annotated[
317
+ Annotated[
318
+ Optional[OutputCloudflareR2ServerSideEncryption],
319
+ PlainValidator(validate_open_enum(False)),
320
+ ],
321
+ pydantic.Field(alias="serverSideEncryption"),
322
+ ] = None
323
+ r"""Server-side encryption for uploaded objects"""
324
+
325
+ reuse_connections: Annotated[
326
+ Optional[bool], pydantic.Field(alias="reuseConnections")
327
+ ] = True
328
+ r"""Reuse connections between requests, which can improve performance"""
329
+
330
+ reject_unauthorized: Annotated[
331
+ Optional[bool], pydantic.Field(alias="rejectUnauthorized")
332
+ ] = True
333
+ r"""Reject certificates that cannot be verified against a valid CA, such as self-signed certificates)"""
334
+
335
+ verify_permissions: Annotated[
336
+ Optional[bool], pydantic.Field(alias="verifyPermissions")
337
+ ] = True
338
+ r"""Disable if you can access files within the bucket but not the bucket itself"""
339
+
340
+ remove_empty_dirs: Annotated[
341
+ Optional[bool], pydantic.Field(alias="removeEmptyDirs")
342
+ ] = True
343
+ r"""Remove empty staging directories after moving files"""
344
+
345
+ partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = (
346
+ "C.Time.strftime(_time ? _time : Date.now()/1000, '%Y/%m/%d')"
347
+ )
348
+ r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory."""
349
+
350
+ format_: Annotated[
351
+ Annotated[
352
+ Optional[OutputCloudflareR2DataFormat],
353
+ PlainValidator(validate_open_enum(False)),
354
+ ],
355
+ pydantic.Field(alias="format"),
356
+ ] = OutputCloudflareR2DataFormat.JSON
357
+ r"""Format of the output data"""
358
+
359
+ base_file_name: Annotated[Optional[str], pydantic.Field(alias="baseFileName")] = (
360
+ "`CriblOut`"
361
+ )
362
+ r"""JavaScript expression to define the output filename prefix (can be constant)"""
363
+
364
+ file_name_suffix: Annotated[
365
+ Optional[str], pydantic.Field(alias="fileNameSuffix")
366
+ ] = '`.${C.env["CRIBL_WORKER_ID"]}.${__format}${__compression === "gzip" ? ".gz" : ""}`'
367
+ r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`)."""
368
+
369
+ max_file_size_mb: Annotated[
370
+ Optional[float], pydantic.Field(alias="maxFileSizeMB")
371
+ ] = 32
372
+ r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location."""
373
+
374
+ max_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = (
375
+ 100
376
+ )
377
+ r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location."""
378
+
379
+ header_line: Annotated[Optional[str], pydantic.Field(alias="headerLine")] = ""
380
+ r"""If set, this line will be written to the beginning of each output file"""
381
+
382
+ write_high_water_mark: Annotated[
383
+ Optional[float], pydantic.Field(alias="writeHighWaterMark")
384
+ ] = 64
385
+ r"""Buffer size used to write to a file"""
386
+
387
+ on_backpressure: Annotated[
388
+ Annotated[
389
+ Optional[OutputCloudflareR2BackpressureBehavior],
390
+ PlainValidator(validate_open_enum(False)),
391
+ ],
392
+ pydantic.Field(alias="onBackpressure"),
393
+ ] = OutputCloudflareR2BackpressureBehavior.BLOCK
394
+ r"""How to handle events when all receivers are exerting backpressure"""
395
+
396
+ deadletter_enabled: Annotated[
397
+ Optional[bool], pydantic.Field(alias="deadletterEnabled")
398
+ ] = False
399
+ r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors"""
400
+
401
+ on_disk_full_backpressure: Annotated[
402
+ Annotated[
403
+ Optional[OutputCloudflareR2DiskSpaceProtection],
404
+ PlainValidator(validate_open_enum(False)),
405
+ ],
406
+ pydantic.Field(alias="onDiskFullBackpressure"),
407
+ ] = OutputCloudflareR2DiskSpaceProtection.BLOCK
408
+ r"""How to handle events when disk space is below the global 'Min free disk space' limit"""
409
+
410
+ force_close_on_shutdown: Annotated[
411
+ Optional[bool], pydantic.Field(alias="forceCloseOnShutdown")
412
+ ] = False
413
+ r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss."""
414
+
415
+ max_file_open_time_sec: Annotated[
416
+ Optional[float], pydantic.Field(alias="maxFileOpenTimeSec")
417
+ ] = 300
418
+ r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location."""
419
+
420
+ max_file_idle_time_sec: Annotated[
421
+ Optional[float], pydantic.Field(alias="maxFileIdleTimeSec")
422
+ ] = 30
423
+ r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location."""
424
+
425
+ max_concurrent_file_parts: Annotated[
426
+ Optional[float], pydantic.Field(alias="maxConcurrentFileParts")
427
+ ] = 4
428
+ r"""Maximum number of parts to upload in parallel per file. Minimum part size is 5MB."""
429
+
430
+ description: Optional[str] = None
431
+
432
+ aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None
433
+ r"""This value can be a constant or a JavaScript expression (`${C.env.SOME_ACCESS_KEY}`)"""
434
+
435
+ aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None
436
+ r"""Select or create a stored secret that references your access key and secret key"""
437
+
438
+ compress: Annotated[
439
+ Optional[OutputCloudflareR2Compression],
440
+ PlainValidator(validate_open_enum(False)),
441
+ ] = OutputCloudflareR2Compression.GZIP
442
+ r"""Data compression format to apply to HTTP content before it is delivered"""
443
+
444
+ compression_level: Annotated[
445
+ Annotated[
446
+ Optional[OutputCloudflareR2CompressionLevel],
447
+ PlainValidator(validate_open_enum(False)),
448
+ ],
449
+ pydantic.Field(alias="compressionLevel"),
450
+ ] = OutputCloudflareR2CompressionLevel.BEST_SPEED
451
+ r"""Compression level to apply before moving files to final destination"""
452
+
453
+ automatic_schema: Annotated[
454
+ Optional[bool], pydantic.Field(alias="automaticSchema")
455
+ ] = False
456
+ r"""Automatically calculate the schema based on the events of each Parquet file generated"""
457
+
458
+ parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = (
459
+ None
460
+ )
461
+ r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas"""
462
+
463
+ parquet_version: Annotated[
464
+ Annotated[
465
+ Optional[OutputCloudflareR2ParquetVersion],
466
+ PlainValidator(validate_open_enum(False)),
467
+ ],
468
+ pydantic.Field(alias="parquetVersion"),
469
+ ] = OutputCloudflareR2ParquetVersion.PARQUET_2_6
470
+ r"""Determines which data types are supported and how they are represented"""
471
+
472
+ parquet_data_page_version: Annotated[
473
+ Annotated[
474
+ Optional[OutputCloudflareR2DataPageVersion],
475
+ PlainValidator(validate_open_enum(False)),
476
+ ],
477
+ pydantic.Field(alias="parquetDataPageVersion"),
478
+ ] = OutputCloudflareR2DataPageVersion.DATA_PAGE_V2
479
+ r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it."""
480
+
481
+ parquet_row_group_length: Annotated[
482
+ Optional[float], pydantic.Field(alias="parquetRowGroupLength")
483
+ ] = 10000
484
+ r"""The number of rows that every group will contain. The final group can contain a smaller number of rows."""
485
+
486
+ parquet_page_size: Annotated[
487
+ Optional[str], pydantic.Field(alias="parquetPageSize")
488
+ ] = "1MB"
489
+ r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression."""
490
+
491
+ should_log_invalid_rows: Annotated[
492
+ Optional[bool], pydantic.Field(alias="shouldLogInvalidRows")
493
+ ] = None
494
+ r"""Log up to 3 rows that @{product} skips due to data mismatch"""
495
+
496
+ key_value_metadata: Annotated[
497
+ Optional[List[OutputCloudflareR2KeyValueMetadatum]],
498
+ pydantic.Field(alias="keyValueMetadata"),
499
+ ] = None
500
+ r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """
501
+
502
+ enable_statistics: Annotated[
503
+ Optional[bool], pydantic.Field(alias="enableStatistics")
504
+ ] = True
505
+ r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics."""
506
+
507
+ enable_write_page_index: Annotated[
508
+ Optional[bool], pydantic.Field(alias="enableWritePageIndex")
509
+ ] = True
510
+ r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping."""
511
+
512
+ enable_page_checksum: Annotated[
513
+ Optional[bool], pydantic.Field(alias="enablePageChecksum")
514
+ ] = False
515
+ r"""Parquet tools can use the checksum of a Parquet page to verify data integrity"""
516
+
517
+ empty_dir_cleanup_sec: Annotated[
518
+ Optional[float], pydantic.Field(alias="emptyDirCleanupSec")
519
+ ] = 300
520
+ r"""How frequently, in seconds, to clean up empty directories"""
521
+
522
+ directory_batch_size: Annotated[
523
+ Optional[float], pydantic.Field(alias="directoryBatchSize")
524
+ ] = 1000
525
+ r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory."""
526
+
527
+ deadletter_path: Annotated[
528
+ Optional[str], pydantic.Field(alias="deadletterPath")
529
+ ] = "$CRIBL_HOME/state/outputs/dead-letter"
530
+ r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded"""
531
+
532
+ max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = 20
533
+ r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered"""
534
+
535
+ @field_serializer("aws_authentication_method")
536
+ def serialize_aws_authentication_method(self, value):
537
+ if isinstance(value, str):
538
+ try:
539
+ return models.OutputCloudflareR2AuthenticationMethod(value)
540
+ except ValueError:
541
+ return value
542
+ return value
543
+
544
+ @field_serializer("signature_version")
545
+ def serialize_signature_version(self, value):
546
+ if isinstance(value, str):
547
+ try:
548
+ return models.OutputCloudflareR2SignatureVersion(value)
549
+ except ValueError:
550
+ return value
551
+ return value
552
+
553
+ @field_serializer("storage_class")
554
+ def serialize_storage_class(self, value):
555
+ if isinstance(value, str):
556
+ try:
557
+ return models.OutputCloudflareR2StorageClass(value)
558
+ except ValueError:
559
+ return value
560
+ return value
561
+
562
+ @field_serializer("server_side_encryption")
563
+ def serialize_server_side_encryption(self, value):
564
+ if isinstance(value, str):
565
+ try:
566
+ return models.OutputCloudflareR2ServerSideEncryption(value)
567
+ except ValueError:
568
+ return value
569
+ return value
570
+
571
+ @field_serializer("format_")
572
+ def serialize_format_(self, value):
573
+ if isinstance(value, str):
574
+ try:
575
+ return models.OutputCloudflareR2DataFormat(value)
576
+ except ValueError:
577
+ return value
578
+ return value
579
+
580
+ @field_serializer("on_backpressure")
581
+ def serialize_on_backpressure(self, value):
582
+ if isinstance(value, str):
583
+ try:
584
+ return models.OutputCloudflareR2BackpressureBehavior(value)
585
+ except ValueError:
586
+ return value
587
+ return value
588
+
589
+ @field_serializer("on_disk_full_backpressure")
590
+ def serialize_on_disk_full_backpressure(self, value):
591
+ if isinstance(value, str):
592
+ try:
593
+ return models.OutputCloudflareR2DiskSpaceProtection(value)
594
+ except ValueError:
595
+ return value
596
+ return value
597
+
598
+ @field_serializer("compress")
599
+ def serialize_compress(self, value):
600
+ if isinstance(value, str):
601
+ try:
602
+ return models.OutputCloudflareR2Compression(value)
603
+ except ValueError:
604
+ return value
605
+ return value
606
+
607
+ @field_serializer("compression_level")
608
+ def serialize_compression_level(self, value):
609
+ if isinstance(value, str):
610
+ try:
611
+ return models.OutputCloudflareR2CompressionLevel(value)
612
+ except ValueError:
613
+ return value
614
+ return value
615
+
616
+ @field_serializer("parquet_version")
617
+ def serialize_parquet_version(self, value):
618
+ if isinstance(value, str):
619
+ try:
620
+ return models.OutputCloudflareR2ParquetVersion(value)
621
+ except ValueError:
622
+ return value
623
+ return value
624
+
625
+ @field_serializer("parquet_data_page_version")
626
+ def serialize_parquet_data_page_version(self, value):
627
+ if isinstance(value, str):
628
+ try:
629
+ return models.OutputCloudflareR2DataPageVersion(value)
630
+ except ValueError:
631
+ return value
632
+ return value