cribl-control-plane 0.0.21__py3-none-any.whl → 0.4.0b23__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (436) hide show
  1. cribl_control_plane/_hooks/clientcredentials.py +113 -48
  2. cribl_control_plane/_version.py +4 -4
  3. cribl_control_plane/acl.py +225 -0
  4. cribl_control_plane/auth_sdk.py +12 -176
  5. cribl_control_plane/basesdk.py +17 -1
  6. cribl_control_plane/branches.py +351 -0
  7. cribl_control_plane/commits.py +1403 -0
  8. cribl_control_plane/commits_files.py +391 -0
  9. cribl_control_plane/configs_versions.py +201 -0
  10. cribl_control_plane/cribl.py +495 -0
  11. cribl_control_plane/destinations.py +146 -805
  12. cribl_control_plane/destinations_pq.py +379 -0
  13. cribl_control_plane/errors/__init__.py +26 -10
  14. cribl_control_plane/errors/apierror.py +2 -0
  15. cribl_control_plane/errors/criblcontrolplaneerror.py +11 -7
  16. cribl_control_plane/errors/error.py +4 -2
  17. cribl_control_plane/errors/healthserverstatus_error.py +41 -0
  18. cribl_control_plane/errors/no_response_error.py +5 -1
  19. cribl_control_plane/errors/responsevalidationerror.py +2 -0
  20. cribl_control_plane/functions.py +367 -0
  21. cribl_control_plane/groups_configs.py +22 -0
  22. cribl_control_plane/groups_sdk.py +333 -578
  23. cribl_control_plane/health.py +38 -18
  24. cribl_control_plane/hectokens.py +503 -0
  25. cribl_control_plane/httpclient.py +0 -1
  26. cribl_control_plane/{lake.py → lakedatasets.py} +207 -115
  27. cribl_control_plane/models/__init__.py +3644 -5986
  28. cribl_control_plane/models/addhectokenrequest.py +7 -1
  29. cribl_control_plane/models/authtoken.py +5 -1
  30. cribl_control_plane/models/backupssettings_union.py +37 -0
  31. cribl_control_plane/models/{lookupversions.py → branchinfo.py} +4 -4
  32. cribl_control_plane/models/cacheconnection.py +30 -2
  33. cribl_control_plane/models/cacheconnectionbackfillstatus.py +2 -1
  34. cribl_control_plane/models/cloudprovider.py +2 -1
  35. cribl_control_plane/models/collectorazureblob.py +130 -0
  36. cribl_control_plane/models/collectorconf.py +56 -0
  37. cribl_control_plane/models/collectorcribllake.py +27 -0
  38. cribl_control_plane/models/collectordatabase.py +92 -0
  39. cribl_control_plane/models/collectorfilesystem.py +66 -0
  40. cribl_control_plane/models/collectorgooglecloudstorage.py +131 -0
  41. cribl_control_plane/models/collectorhealthcheck.py +269 -0
  42. cribl_control_plane/models/collectorrest.py +340 -0
  43. cribl_control_plane/models/collectors3.py +239 -0
  44. cribl_control_plane/models/collectorscript.py +59 -0
  45. cribl_control_plane/models/collectorsplunk.py +253 -0
  46. cribl_control_plane/models/configgroup.py +67 -11
  47. cribl_control_plane/models/configgroupcloud.py +17 -3
  48. cribl_control_plane/models/countedbranchinfo.py +20 -0
  49. cribl_control_plane/models/countedconfiggroup.py +20 -0
  50. cribl_control_plane/models/countedcribllakedataset.py +20 -0
  51. cribl_control_plane/models/counteddistributedsummary.py +20 -0
  52. cribl_control_plane/models/countedfunctionresponse.py +20 -0
  53. cribl_control_plane/models/countedgitcommitsummary.py +20 -0
  54. cribl_control_plane/models/countedgitcountresult.py +20 -0
  55. cribl_control_plane/models/countedgitdiffresult.py +20 -0
  56. cribl_control_plane/models/countedgitfilesresponse.py +20 -0
  57. cribl_control_plane/models/{getversioninfoop.py → countedgitinfo.py} +2 -6
  58. cribl_control_plane/models/countedgitlogresult.py +20 -0
  59. cribl_control_plane/models/countedgitrevertresult.py +20 -0
  60. cribl_control_plane/models/countedgitshowresult.py +20 -0
  61. cribl_control_plane/models/countedgitstatusresult.py +20 -0
  62. cribl_control_plane/models/{listinputop.py → countedinput.py} +2 -6
  63. cribl_control_plane/models/countedinputsplunkhec.py +20 -0
  64. cribl_control_plane/models/countedjobinfo.py +20 -0
  65. cribl_control_plane/models/countedmasterworkerentry.py +20 -0
  66. cribl_control_plane/models/countednumber.py +19 -0
  67. cribl_control_plane/models/{getversionbranchop.py → countedobject.py} +2 -6
  68. cribl_control_plane/models/{listoutputop.py → countedoutput.py} +2 -6
  69. cribl_control_plane/models/countedoutputsamplesresponse.py +20 -0
  70. cribl_control_plane/models/countedoutputtestresponse.py +20 -0
  71. cribl_control_plane/models/countedpackinfo.py +20 -0
  72. cribl_control_plane/models/{createpacksop.py → countedpackinstallinfo.py} +2 -6
  73. cribl_control_plane/models/{listpipelineop.py → countedpipeline.py} +2 -6
  74. cribl_control_plane/models/{listroutesop.py → countedroutes.py} +2 -6
  75. cribl_control_plane/models/countedstring.py +19 -0
  76. cribl_control_plane/models/countedsystemsettingsconf.py +20 -0
  77. cribl_control_plane/models/countedteamaccesscontrollist.py +20 -0
  78. cribl_control_plane/models/counteduseraccesscontrollist.py +20 -0
  79. cribl_control_plane/models/createauthloginop.py +18 -0
  80. cribl_control_plane/models/createconfiggroupbyproductop.py +46 -0
  81. cribl_control_plane/models/createcribllakedatasetbylakeidop.py +3 -21
  82. cribl_control_plane/models/createinputhectokenbyidop.py +3 -21
  83. cribl_control_plane/models/createoutputtestbyidop.py +3 -22
  84. cribl_control_plane/models/createroutesappendbyidop.py +4 -21
  85. cribl_control_plane/models/createversioncommitop.py +27 -20
  86. cribl_control_plane/models/createversionrevertop.py +7 -23
  87. cribl_control_plane/models/createversionundoop.py +7 -22
  88. cribl_control_plane/models/criblevent.py +15 -0
  89. cribl_control_plane/models/cribllakedataset.py +23 -3
  90. cribl_control_plane/models/cribllakedatasetupdate.py +95 -0
  91. cribl_control_plane/models/currentbranchresult.py +13 -0
  92. cribl_control_plane/models/datasetmetadata.py +18 -2
  93. cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +43 -0
  94. cribl_control_plane/models/deletecribllakedatasetbylakeidandidop.py +5 -24
  95. cribl_control_plane/models/deleteinputbyidop.py +3 -22
  96. cribl_control_plane/models/deleteoutputbyidop.py +3 -22
  97. cribl_control_plane/models/deleteoutputpqbyidop.py +3 -21
  98. cribl_control_plane/models/deletepacksbyidop.py +3 -22
  99. cribl_control_plane/models/deletepipelinebyidop.py +3 -22
  100. cribl_control_plane/models/difffiles.py +130 -0
  101. cribl_control_plane/models/diffline.py +26 -0
  102. cribl_control_plane/models/difflinecontext.py +28 -0
  103. cribl_control_plane/models/difflinedelete.py +25 -0
  104. cribl_control_plane/models/difflineinsert.py +25 -0
  105. cribl_control_plane/models/distributedsummary.py +6 -0
  106. cribl_control_plane/models/functionaggregatemetrics.py +206 -0
  107. cribl_control_plane/models/functionaggregation.py +172 -0
  108. cribl_control_plane/models/functionautotimestamp.py +173 -0
  109. cribl_control_plane/models/functioncef.py +111 -0
  110. cribl_control_plane/models/functionchain.py +75 -0
  111. cribl_control_plane/models/functionclone.py +75 -0
  112. cribl_control_plane/models/functioncode.py +96 -0
  113. cribl_control_plane/models/functioncomment.py +75 -0
  114. cribl_control_plane/models/functiondistinct.py +99 -0
  115. cribl_control_plane/models/functiondnslookup.py +250 -0
  116. cribl_control_plane/models/functiondrop.py +73 -0
  117. cribl_control_plane/models/functiondropdimensions.py +87 -0
  118. cribl_control_plane/models/functiondynamicsampling.py +121 -0
  119. cribl_control_plane/models/functioneval.py +103 -0
  120. cribl_control_plane/models/functioneventbreaker.py +103 -0
  121. cribl_control_plane/models/functioneventstats.py +92 -0
  122. cribl_control_plane/models/functionexternaldata.py +73 -0
  123. cribl_control_plane/models/functionflatten.py +90 -0
  124. cribl_control_plane/models/functionfoldkeys.py +89 -0
  125. cribl_control_plane/models/functiongenstats.py +73 -0
  126. cribl_control_plane/models/functiongeoip.py +120 -0
  127. cribl_control_plane/models/functiongrok.py +95 -0
  128. cribl_control_plane/models/functionhandlebar.py +112 -0
  129. cribl_control_plane/models/functionjoin.py +112 -0
  130. cribl_control_plane/models/functionjsonunroll.py +80 -0
  131. cribl_control_plane/models/functionlakeexport.py +102 -0
  132. cribl_control_plane/models/functionlimit.py +75 -0
  133. cribl_control_plane/models/functionlocalsearchdatatypeparser.py +76 -0
  134. cribl_control_plane/models/functionlocalsearchrulesetrunner.py +97 -0
  135. cribl_control_plane/models/functionlookup.py +148 -0
  136. cribl_control_plane/models/functionmask.py +121 -0
  137. cribl_control_plane/models/functionmvexpand.py +128 -0
  138. cribl_control_plane/models/functionmvpull.py +99 -0
  139. cribl_control_plane/models/functionnotificationpolicies.py +186 -0
  140. cribl_control_plane/models/functionnotifications.py +85 -0
  141. cribl_control_plane/models/functionnotify.py +196 -0
  142. cribl_control_plane/models/functionnumerify.py +119 -0
  143. cribl_control_plane/models/functionotlplogs.py +82 -0
  144. cribl_control_plane/models/functionotlpmetrics.py +118 -0
  145. cribl_control_plane/models/functionotlptraces.py +111 -0
  146. cribl_control_plane/models/functionpack.py +80 -0
  147. cribl_control_plane/models/functionpivot.py +85 -0
  148. cribl_control_plane/models/functionpublishmetrics.py +153 -0
  149. cribl_control_plane/models/functionredis.py +173 -0
  150. cribl_control_plane/models/functionregexextract.py +112 -0
  151. cribl_control_plane/models/functionregexfilter.py +95 -0
  152. cribl_control_plane/models/functionrename.py +107 -0
  153. cribl_control_plane/models/functionresponse.py +242 -0
  154. cribl_control_plane/models/functionrollupmetrics.py +114 -0
  155. cribl_control_plane/models/functionsampling.py +90 -0
  156. cribl_control_plane/models/functionsend.py +141 -0
  157. cribl_control_plane/models/functionsensitivedatascanner.py +128 -0
  158. cribl_control_plane/models/functionserde.py +161 -0
  159. cribl_control_plane/models/functionserialize.py +134 -0
  160. cribl_control_plane/models/functionsidlookup.py +93 -0
  161. cribl_control_plane/models/functionsnmptrapserialize.py +144 -0
  162. cribl_control_plane/models/functionsort.py +97 -0
  163. cribl_control_plane/models/functionstore.py +132 -0
  164. cribl_control_plane/models/functionsuppress.py +115 -0
  165. cribl_control_plane/models/functiontee.py +90 -0
  166. cribl_control_plane/models/functiontrimtimestamp.py +75 -0
  167. cribl_control_plane/models/functionunion.py +80 -0
  168. cribl_control_plane/models/functionunroll.py +80 -0
  169. cribl_control_plane/models/functionwindow.py +96 -0
  170. cribl_control_plane/models/functionxmlunroll.py +92 -0
  171. cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +63 -0
  172. cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +63 -0
  173. cribl_control_plane/models/getconfiggroupbyproductandidop.py +53 -0
  174. cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +43 -0
  175. cribl_control_plane/models/getcribllakedatasetbylakeidandidop.py +5 -24
  176. cribl_control_plane/models/getcribllakedatasetbylakeidop.py +56 -16
  177. cribl_control_plane/models/getfunctionsbyidop.py +18 -0
  178. cribl_control_plane/models/getinputbyidop.py +3 -22
  179. cribl_control_plane/models/getmasterworkerentryop.py +22 -0
  180. cribl_control_plane/models/getoutputbyidop.py +3 -22
  181. cribl_control_plane/models/getoutputpqbyidop.py +3 -21
  182. cribl_control_plane/models/getoutputsamplesbyidop.py +3 -22
  183. cribl_control_plane/models/getpacksbyidop.py +18 -0
  184. cribl_control_plane/models/getpacksop.py +3 -21
  185. cribl_control_plane/models/getpipelinebyidop.py +3 -22
  186. cribl_control_plane/models/getroutesbyidop.py +3 -22
  187. cribl_control_plane/models/getsummaryop.py +23 -32
  188. cribl_control_plane/models/getversioncountop.py +10 -27
  189. cribl_control_plane/models/getversiondiffop.py +12 -28
  190. cribl_control_plane/models/getversionfilesop.py +10 -28
  191. cribl_control_plane/models/getversionop.py +30 -0
  192. cribl_control_plane/models/getversionshowop.py +12 -28
  193. cribl_control_plane/models/getversionstatusop.py +7 -23
  194. cribl_control_plane/models/gitcommitsummary.py +3 -3
  195. cribl_control_plane/models/{routecloneconf.py → gitcountresult.py} +4 -4
  196. cribl_control_plane/models/gitdiffresult.py +16 -0
  197. cribl_control_plane/models/gitfilesresponse.py +7 -5
  198. cribl_control_plane/models/gitinfo.py +14 -3
  199. cribl_control_plane/models/gitlogresult.py +33 -0
  200. cribl_control_plane/models/gitrevertparams.py +3 -3
  201. cribl_control_plane/models/gitrevertresult.py +5 -5
  202. cribl_control_plane/models/gitshowresult.py +19 -0
  203. cribl_control_plane/models/gitstatusresult.py +0 -3
  204. cribl_control_plane/models/groupcreaterequest.py +172 -0
  205. cribl_control_plane/models/hbcriblinfo.py +42 -7
  206. cribl_control_plane/models/healthserverstatus.py +55 -0
  207. cribl_control_plane/models/heartbeatmetadata.py +6 -11
  208. cribl_control_plane/models/input.py +89 -81
  209. cribl_control_plane/models/inputappscope.py +131 -35
  210. cribl_control_plane/models/inputazureblob.py +62 -6
  211. cribl_control_plane/models/inputcloudflarehec.py +518 -0
  212. cribl_control_plane/models/inputcollection.py +49 -6
  213. cribl_control_plane/models/inputconfluentcloud.py +262 -22
  214. cribl_control_plane/models/inputcribl.py +52 -9
  215. cribl_control_plane/models/inputcriblhttp.py +124 -33
  216. cribl_control_plane/models/inputcribllakehttp.py +199 -29
  217. cribl_control_plane/models/inputcriblmetrics.py +53 -9
  218. cribl_control_plane/models/inputcribltcp.py +125 -27
  219. cribl_control_plane/models/inputcrowdstrike.py +99 -10
  220. cribl_control_plane/models/inputdatadogagent.py +101 -27
  221. cribl_control_plane/models/inputdatagen.py +47 -4
  222. cribl_control_plane/models/inputedgeprometheus.py +215 -58
  223. cribl_control_plane/models/inputelastic.py +170 -39
  224. cribl_control_plane/models/inputeventhub.py +212 -9
  225. cribl_control_plane/models/inputexec.py +59 -6
  226. cribl_control_plane/models/inputfile.py +83 -15
  227. cribl_control_plane/models/inputfirehose.py +100 -27
  228. cribl_control_plane/models/inputgooglepubsub.py +83 -15
  229. cribl_control_plane/models/{inputgrafana_union.py → inputgrafana.py} +261 -67
  230. cribl_control_plane/models/inputhttp.py +100 -27
  231. cribl_control_plane/models/inputhttpraw.py +100 -27
  232. cribl_control_plane/models/inputjournalfiles.py +51 -7
  233. cribl_control_plane/models/inputkafka.py +257 -19
  234. cribl_control_plane/models/inputkinesis.py +133 -17
  235. cribl_control_plane/models/inputkubeevents.py +52 -9
  236. cribl_control_plane/models/inputkubelogs.py +66 -13
  237. cribl_control_plane/models/inputkubemetrics.py +66 -13
  238. cribl_control_plane/models/inputloki.py +116 -30
  239. cribl_control_plane/models/inputmetrics.py +97 -24
  240. cribl_control_plane/models/inputmodeldriventelemetry.py +110 -29
  241. cribl_control_plane/models/inputmsk.py +148 -21
  242. cribl_control_plane/models/inputnetflow.py +50 -7
  243. cribl_control_plane/models/inputoffice365mgmt.py +115 -17
  244. cribl_control_plane/models/inputoffice365msgtrace.py +117 -19
  245. cribl_control_plane/models/inputoffice365service.py +117 -19
  246. cribl_control_plane/models/inputopentelemetry.py +146 -35
  247. cribl_control_plane/models/inputprometheus.py +196 -47
  248. cribl_control_plane/models/inputprometheusrw.py +117 -30
  249. cribl_control_plane/models/inputrawudp.py +50 -7
  250. cribl_control_plane/models/inputs3.py +85 -8
  251. cribl_control_plane/models/inputs3inventory.py +99 -10
  252. cribl_control_plane/models/inputsecuritylake.py +100 -10
  253. cribl_control_plane/models/inputsnmp.py +115 -24
  254. cribl_control_plane/models/inputsplunk.py +133 -31
  255. cribl_control_plane/models/inputsplunkhec.py +122 -32
  256. cribl_control_plane/models/inputsplunksearch.py +115 -18
  257. cribl_control_plane/models/inputsqs.py +102 -19
  258. cribl_control_plane/models/{inputsyslog_union.py → inputsyslog.py} +193 -51
  259. cribl_control_plane/models/inputsystemmetrics.py +207 -37
  260. cribl_control_plane/models/inputsystemstate.py +66 -13
  261. cribl_control_plane/models/inputtcp.py +125 -29
  262. cribl_control_plane/models/inputtcpjson.py +115 -29
  263. cribl_control_plane/models/inputwef.py +151 -22
  264. cribl_control_plane/models/inputwindowsmetrics.py +191 -38
  265. cribl_control_plane/models/inputwineventlogs.py +93 -11
  266. cribl_control_plane/models/inputwiz.py +176 -11
  267. cribl_control_plane/models/inputwizwebhook.py +466 -0
  268. cribl_control_plane/models/inputzscalerhec.py +122 -32
  269. cribl_control_plane/models/jobinfo.py +34 -0
  270. cribl_control_plane/models/jobstatus.py +48 -0
  271. cribl_control_plane/models/lakedatasetmetrics.py +17 -0
  272. cribl_control_plane/models/lakehouseconnectiontype.py +2 -1
  273. cribl_control_plane/models/listconfiggroupbyproductop.py +46 -0
  274. cribl_control_plane/models/listmasterworkerentryop.py +64 -0
  275. cribl_control_plane/models/logininfo.py +3 -3
  276. cribl_control_plane/models/masterworkerentry.py +20 -13
  277. cribl_control_plane/models/nodeactiveupgradestatus.py +2 -1
  278. cribl_control_plane/models/nodefailedupgradestatus.py +2 -1
  279. cribl_control_plane/models/nodeprovidedinfo.py +13 -11
  280. cribl_control_plane/models/nodeskippedupgradestatus.py +2 -1
  281. cribl_control_plane/models/nodeupgradestate.py +2 -1
  282. cribl_control_plane/models/nodeupgradestatus.py +51 -5
  283. cribl_control_plane/models/outpostnodeinfo.py +16 -0
  284. cribl_control_plane/models/output.py +103 -89
  285. cribl_control_plane/models/outputazureblob.py +174 -21
  286. cribl_control_plane/models/outputazuredataexplorer.py +517 -93
  287. cribl_control_plane/models/outputazureeventhub.py +318 -34
  288. cribl_control_plane/models/outputazurelogs.py +145 -26
  289. cribl_control_plane/models/outputchronicle.py +532 -0
  290. cribl_control_plane/models/outputclickhouse.py +208 -37
  291. cribl_control_plane/models/outputcloudflarer2.py +632 -0
  292. cribl_control_plane/models/outputcloudwatch.py +132 -26
  293. cribl_control_plane/models/outputconfluentcloud.py +387 -46
  294. cribl_control_plane/models/outputcriblhttp.py +203 -36
  295. cribl_control_plane/models/outputcribllake.py +161 -21
  296. cribl_control_plane/models/outputcribltcp.py +199 -34
  297. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +176 -32
  298. cribl_control_plane/models/outputdatabricks.py +501 -0
  299. cribl_control_plane/models/outputdatadog.py +204 -36
  300. cribl_control_plane/models/outputdataset.py +186 -34
  301. cribl_control_plane/models/outputdevnull.py +5 -5
  302. cribl_control_plane/models/outputdiskspool.py +22 -7
  303. cribl_control_plane/models/outputdls3.py +238 -29
  304. cribl_control_plane/models/outputdynatracehttp.py +211 -37
  305. cribl_control_plane/models/outputdynatraceotlp.py +213 -39
  306. cribl_control_plane/models/outputelastic.py +199 -30
  307. cribl_control_plane/models/outputelasticcloud.py +174 -29
  308. cribl_control_plane/models/outputexabeam.py +99 -13
  309. cribl_control_plane/models/outputfilesystem.py +139 -14
  310. cribl_control_plane/models/outputgooglechronicle.py +216 -35
  311. cribl_control_plane/models/outputgooglecloudlogging.py +177 -34
  312. cribl_control_plane/models/outputgooglecloudstorage.py +220 -29
  313. cribl_control_plane/models/outputgooglepubsub.py +138 -51
  314. cribl_control_plane/models/outputgrafanacloud.py +386 -70
  315. cribl_control_plane/models/outputgraphite.py +131 -28
  316. cribl_control_plane/models/outputhoneycomb.py +145 -26
  317. cribl_control_plane/models/outputhumiohec.py +165 -31
  318. cribl_control_plane/models/outputinfluxdb.py +165 -28
  319. cribl_control_plane/models/outputkafka.py +378 -41
  320. cribl_control_plane/models/outputkinesis.py +168 -30
  321. cribl_control_plane/models/outputloki.py +171 -27
  322. cribl_control_plane/models/outputmicrosoftfabric.py +540 -0
  323. cribl_control_plane/models/outputminio.py +228 -28
  324. cribl_control_plane/models/outputmsk.py +270 -43
  325. cribl_control_plane/models/outputnewrelic.py +176 -34
  326. cribl_control_plane/models/outputnewrelicevents.py +166 -31
  327. cribl_control_plane/models/outputopentelemetry.py +240 -40
  328. cribl_control_plane/models/outputprometheus.py +145 -26
  329. cribl_control_plane/models/outputring.py +54 -13
  330. cribl_control_plane/models/outputs3.py +238 -31
  331. cribl_control_plane/models/outputsecuritylake.py +182 -21
  332. cribl_control_plane/models/outputsentinel.py +175 -32
  333. cribl_control_plane/models/outputsentineloneaisiem.py +184 -38
  334. cribl_control_plane/models/outputservicenow.py +226 -41
  335. cribl_control_plane/models/outputsignalfx.py +145 -26
  336. cribl_control_plane/models/outputsns.py +146 -28
  337. cribl_control_plane/models/outputsplunk.py +209 -39
  338. cribl_control_plane/models/outputsplunkhec.py +243 -31
  339. cribl_control_plane/models/outputsplunklb.py +266 -46
  340. cribl_control_plane/models/outputsqs.py +166 -36
  341. cribl_control_plane/models/outputstatsd.py +130 -28
  342. cribl_control_plane/models/outputstatsdext.py +131 -28
  343. cribl_control_plane/models/outputsumologic.py +146 -25
  344. cribl_control_plane/models/outputsyslog.py +323 -51
  345. cribl_control_plane/models/outputtcpjson.py +191 -37
  346. cribl_control_plane/models/outputwavefront.py +145 -26
  347. cribl_control_plane/models/outputwebhook.py +216 -38
  348. cribl_control_plane/models/outputxsiam.py +148 -31
  349. cribl_control_plane/models/packinfo.py +11 -8
  350. cribl_control_plane/models/packinstallinfo.py +14 -11
  351. cribl_control_plane/models/packrequestbody_union.py +140 -0
  352. cribl_control_plane/models/packupgraderequest.py +26 -0
  353. cribl_control_plane/models/piisettings_union.py +31 -0
  354. cribl_control_plane/models/productscore.py +10 -0
  355. cribl_control_plane/models/rbacresource.py +2 -1
  356. cribl_control_plane/models/resourcepolicy.py +15 -2
  357. cribl_control_plane/models/rollbacksettings_union.py +44 -0
  358. cribl_control_plane/models/routeconf.py +3 -4
  359. cribl_control_plane/models/routes.py +0 -24
  360. cribl_control_plane/models/runnablejob.py +27 -0
  361. cribl_control_plane/models/runnablejobcollection.py +628 -0
  362. cribl_control_plane/models/runnablejobexecutor.py +360 -0
  363. cribl_control_plane/models/runnablejobscheduledsearch.py +279 -0
  364. cribl_control_plane/models/schemeclientoauth.py +5 -0
  365. cribl_control_plane/models/snisettings_union.py +31 -0
  366. cribl_control_plane/models/systemsettingsconf.py +291 -0
  367. cribl_control_plane/models/tlssettings_union.py +43 -0
  368. cribl_control_plane/models/updateconfiggroupbyproductandidop.py +56 -0
  369. cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +53 -0
  370. cribl_control_plane/models/updatecribllakedatasetbylakeidandidop.py +14 -29
  371. cribl_control_plane/models/updatehectokenrequest.py +7 -1
  372. cribl_control_plane/models/updateinputbyidop.py +5 -23
  373. cribl_control_plane/models/updateinputhectokenbyidandtokenop.py +5 -23
  374. cribl_control_plane/models/updateoutputbyidop.py +5 -23
  375. cribl_control_plane/models/updatepacksbyidop.py +12 -50
  376. cribl_control_plane/models/updatepacksop.py +12 -24
  377. cribl_control_plane/models/updatepipelinebyidop.py +5 -23
  378. cribl_control_plane/models/updateroutesbyidop.py +8 -27
  379. cribl_control_plane/models/upgradegroupsettings_union.py +43 -0
  380. cribl_control_plane/models/upgradepackageurls.py +20 -0
  381. cribl_control_plane/models/upgradesettings.py +38 -0
  382. cribl_control_plane/models/uploadpackresponse.py +13 -0
  383. cribl_control_plane/models/{appmode.py → workertypes.py} +2 -5
  384. cribl_control_plane/{workers_sdk.py → nodes.py} +102 -234
  385. cribl_control_plane/packs.py +385 -184
  386. cribl_control_plane/pipelines.py +116 -66
  387. cribl_control_plane/routes_sdk.py +102 -70
  388. cribl_control_plane/samples.py +407 -0
  389. cribl_control_plane/sdk.py +35 -25
  390. cribl_control_plane/settings.py +20 -0
  391. cribl_control_plane/sources.py +143 -545
  392. cribl_control_plane/statuses.py +195 -0
  393. cribl_control_plane/summaries.py +195 -0
  394. cribl_control_plane/system_sdk.py +20 -0
  395. cribl_control_plane/teams.py +36 -28
  396. cribl_control_plane/tokens.py +210 -0
  397. cribl_control_plane/utils/__init__.py +18 -5
  398. cribl_control_plane/utils/annotations.py +32 -8
  399. cribl_control_plane/utils/eventstreaming.py +10 -0
  400. cribl_control_plane/utils/forms.py +21 -10
  401. cribl_control_plane/utils/queryparams.py +14 -2
  402. cribl_control_plane/utils/retries.py +69 -5
  403. cribl_control_plane/utils/security.py +5 -0
  404. cribl_control_plane/utils/unmarshal_json_response.py +15 -1
  405. cribl_control_plane/versions.py +31 -0
  406. cribl_control_plane/{distributed.py → versions_configs.py} +29 -35
  407. cribl_control_plane-0.4.0b23.dist-info/METADATA +855 -0
  408. cribl_control_plane-0.4.0b23.dist-info/RECORD +450 -0
  409. {cribl_control_plane-0.0.21.dist-info → cribl_control_plane-0.4.0b23.dist-info}/WHEEL +1 -1
  410. cribl_control_plane-0.4.0b23.dist-info/licenses/LICENSE +201 -0
  411. cribl_control_plane/errors/healthstatus_error.py +0 -32
  412. cribl_control_plane/models/createinputop.py +0 -18238
  413. cribl_control_plane/models/createoutputop.py +0 -18437
  414. cribl_control_plane/models/createpipelineop.py +0 -24
  415. cribl_control_plane/models/createproductsgroupsbyproductop.py +0 -54
  416. cribl_control_plane/models/createversionpushop.py +0 -23
  417. cribl_control_plane/models/createversionsyncop.py +0 -23
  418. cribl_control_plane/models/deletegroupsbyidop.py +0 -37
  419. cribl_control_plane/models/getgroupsaclbyidop.py +0 -63
  420. cribl_control_plane/models/getgroupsbyidop.py +0 -49
  421. cribl_control_plane/models/getgroupsconfigversionbyidop.py +0 -36
  422. cribl_control_plane/models/getproductsgroupsaclteamsbyproductandidop.py +0 -78
  423. cribl_control_plane/models/getproductsgroupsbyproductop.py +0 -58
  424. cribl_control_plane/models/getsummaryworkersop.py +0 -39
  425. cribl_control_plane/models/getversioncurrentbranchop.py +0 -23
  426. cribl_control_plane/models/getworkersop.py +0 -82
  427. cribl_control_plane/models/healthstatus.py +0 -33
  428. cribl_control_plane/models/packrequestbody.py +0 -75
  429. cribl_control_plane/models/restartresponse.py +0 -26
  430. cribl_control_plane/models/routesroute_input.py +0 -67
  431. cribl_control_plane/models/updategroupsbyidop.py +0 -48
  432. cribl_control_plane/models/updategroupsdeploybyidop.py +0 -46
  433. cribl_control_plane/models/updateworkersrestartop.py +0 -24
  434. cribl_control_plane/versioning.py +0 -2309
  435. cribl_control_plane-0.0.21.dist-info/METADATA +0 -561
  436. cribl_control_plane-0.0.21.dist-info/RECORD +0 -301
@@ -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
 
@@ -12,100 +16,137 @@ class OutputDlS3Type(str, Enum):
12
16
  DL_S3 = "dl_s3"
13
17
 
14
18
 
15
- class OutputDlS3AuthenticationMethod(str, Enum):
19
+ class OutputDlS3AuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
16
20
  r"""AWS authentication method. Choose Auto to use IAM roles."""
17
21
 
22
+ # Auto
18
23
  AUTO = "auto"
24
+ # Manual
19
25
  MANUAL = "manual"
26
+ # Secret Key pair
20
27
  SECRET = "secret"
21
28
 
22
29
 
23
- class OutputDlS3SignatureVersion(str, Enum):
30
+ class OutputDlS3SignatureVersion(str, Enum, metaclass=utils.OpenEnumMeta):
24
31
  r"""Signature version to use for signing S3 requests"""
25
32
 
26
33
  V2 = "v2"
27
34
  V4 = "v4"
28
35
 
29
36
 
30
- class OutputDlS3ObjectACL(str, Enum):
37
+ class OutputDlS3ObjectACL(str, Enum, metaclass=utils.OpenEnumMeta):
31
38
  r"""Object ACL to assign to uploaded objects"""
32
39
 
40
+ # Private
33
41
  PRIVATE = "private"
42
+ # Public Read Only
34
43
  PUBLIC_READ = "public-read"
44
+ # Public Read/Write
35
45
  PUBLIC_READ_WRITE = "public-read-write"
46
+ # Authenticated Read Only
36
47
  AUTHENTICATED_READ = "authenticated-read"
48
+ # AWS EC2 AMI Read Only
37
49
  AWS_EXEC_READ = "aws-exec-read"
50
+ # Bucket Owner Read Only
38
51
  BUCKET_OWNER_READ = "bucket-owner-read"
52
+ # Bucket Owner Full Control
39
53
  BUCKET_OWNER_FULL_CONTROL = "bucket-owner-full-control"
40
54
 
41
55
 
42
- class OutputDlS3StorageClass(str, Enum):
56
+ class OutputDlS3StorageClass(str, Enum, metaclass=utils.OpenEnumMeta):
43
57
  r"""Storage class to select for uploaded objects"""
44
58
 
59
+ # Standard
45
60
  STANDARD = "STANDARD"
61
+ # Reduced Redundancy Storage
46
62
  REDUCED_REDUNDANCY = "REDUCED_REDUNDANCY"
63
+ # Standard, Infrequent Access
47
64
  STANDARD_IA = "STANDARD_IA"
65
+ # One Zone, Infrequent Access
48
66
  ONEZONE_IA = "ONEZONE_IA"
67
+ # Intelligent Tiering
49
68
  INTELLIGENT_TIERING = "INTELLIGENT_TIERING"
69
+ # Glacier Flexible Retrieval
50
70
  GLACIER = "GLACIER"
71
+ # Glacier Instant Retrieval
51
72
  GLACIER_IR = "GLACIER_IR"
73
+ # Glacier Deep Archive
52
74
  DEEP_ARCHIVE = "DEEP_ARCHIVE"
53
75
 
54
76
 
55
- class OutputDlS3ServerSideEncryptionForUploadedObjects(str, Enum):
77
+ class OutputDlS3ServerSideEncryptionForUploadedObjects(
78
+ str, Enum, metaclass=utils.OpenEnumMeta
79
+ ):
80
+ # Amazon S3 Managed Key
56
81
  AES256 = "AES256"
82
+ # AWS KMS Managed Key
57
83
  AWS_KMS = "aws:kms"
58
84
 
59
85
 
60
- class OutputDlS3DataFormat(str, Enum):
86
+ class OutputDlS3DataFormat(str, Enum, metaclass=utils.OpenEnumMeta):
61
87
  r"""Format of the output data"""
62
88
 
89
+ # JSON
63
90
  JSON = "json"
91
+ # Raw
64
92
  RAW = "raw"
93
+ # Parquet
65
94
  PARQUET = "parquet"
66
95
 
67
96
 
68
- class OutputDlS3BackpressureBehavior(str, Enum):
97
+ class OutputDlS3BackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
69
98
  r"""How to handle events when all receivers are exerting backpressure"""
70
99
 
100
+ # Block
71
101
  BLOCK = "block"
102
+ # Drop
72
103
  DROP = "drop"
73
104
 
74
105
 
75
- class OutputDlS3DiskSpaceProtection(str, Enum):
106
+ class OutputDlS3DiskSpaceProtection(str, Enum, metaclass=utils.OpenEnumMeta):
76
107
  r"""How to handle events when disk space is below the global 'Min free disk space' limit"""
77
108
 
109
+ # Block
78
110
  BLOCK = "block"
111
+ # Drop
79
112
  DROP = "drop"
80
113
 
81
114
 
82
- class OutputDlS3Compression(str, Enum):
115
+ class OutputDlS3Compression(str, Enum, metaclass=utils.OpenEnumMeta):
83
116
  r"""Data compression format to apply to HTTP content before it is delivered"""
84
117
 
85
118
  NONE = "none"
86
119
  GZIP = "gzip"
87
120
 
88
121
 
89
- class OutputDlS3CompressionLevel(str, Enum):
122
+ class OutputDlS3CompressionLevel(str, Enum, metaclass=utils.OpenEnumMeta):
90
123
  r"""Compression level to apply before moving files to final destination"""
91
124
 
125
+ # Best Speed
92
126
  BEST_SPEED = "best_speed"
127
+ # Normal
93
128
  NORMAL = "normal"
129
+ # Best Compression
94
130
  BEST_COMPRESSION = "best_compression"
95
131
 
96
132
 
97
- class OutputDlS3ParquetVersion(str, Enum):
133
+ class OutputDlS3ParquetVersion(str, Enum, metaclass=utils.OpenEnumMeta):
98
134
  r"""Determines which data types are supported and how they are represented"""
99
135
 
136
+ # 1.0
100
137
  PARQUET_1_0 = "PARQUET_1_0"
138
+ # 2.4
101
139
  PARQUET_2_4 = "PARQUET_2_4"
140
+ # 2.6
102
141
  PARQUET_2_6 = "PARQUET_2_6"
103
142
 
104
143
 
105
- class OutputDlS3DataPageVersion(str, Enum):
144
+ class OutputDlS3DataPageVersion(str, Enum, metaclass=utils.OpenEnumMeta):
106
145
  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."""
107
146
 
147
+ # V1
108
148
  DATA_PAGE_V1 = "DATA_PAGE_V1"
149
+ # V2
109
150
  DATA_PAGE_V2 = "DATA_PAGE_V2"
110
151
 
111
152
 
@@ -121,11 +162,11 @@ class OutputDlS3KeyValueMetadatum(BaseModel):
121
162
 
122
163
 
123
164
  class OutputDlS3TypedDict(TypedDict):
165
+ type: OutputDlS3Type
124
166
  bucket: str
125
167
  r"""Name of the destination S3 bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`"""
126
168
  id: NotRequired[str]
127
169
  r"""Unique ID for this output"""
128
- type: NotRequired[OutputDlS3Type]
129
170
  pipeline: NotRequired[str]
130
171
  r"""Pipeline to process data before sending out to this output"""
131
172
  system_fields: NotRequired[List[str]]
@@ -161,7 +202,7 @@ class OutputDlS3TypedDict(TypedDict):
161
202
  add_id_to_stage_path: NotRequired[bool]
162
203
  r"""Add the Output ID value to staging location"""
163
204
  dest_path: NotRequired[str]
164
- r"""Prefix to append to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`"""
205
+ r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`"""
165
206
  object_acl: NotRequired[OutputDlS3ObjectACL]
166
207
  r"""Object ACL to assign to uploaded objects"""
167
208
  storage_class: NotRequired[OutputDlS3StorageClass]
@@ -193,6 +234,8 @@ class OutputDlS3TypedDict(TypedDict):
193
234
  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"""
194
235
  on_disk_full_backpressure: NotRequired[OutputDlS3DiskSpaceProtection]
195
236
  r"""How to handle events when disk space is below the global 'Min free disk space' limit"""
237
+ force_close_on_shutdown: NotRequired[bool]
238
+ 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."""
196
239
  max_file_open_time_sec: NotRequired[float]
197
240
  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."""
198
241
  max_file_idle_time_sec: NotRequired[float]
@@ -216,6 +259,8 @@ class OutputDlS3TypedDict(TypedDict):
216
259
  r"""Compression level to apply before moving files to final destination"""
217
260
  automatic_schema: NotRequired[bool]
218
261
  r"""Automatically calculate the schema based on the events of each Parquet file generated"""
262
+ parquet_schema: NotRequired[str]
263
+ r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas"""
219
264
  parquet_version: NotRequired[OutputDlS3ParquetVersion]
220
265
  r"""Determines which data types are supported and how they are represented"""
221
266
  parquet_data_page_version: NotRequired[OutputDlS3DataPageVersion]
@@ -236,6 +281,8 @@ class OutputDlS3TypedDict(TypedDict):
236
281
  r"""Parquet tools can use the checksum of a Parquet page to verify data integrity"""
237
282
  empty_dir_cleanup_sec: NotRequired[float]
238
283
  r"""How frequently, in seconds, to clean up empty directories"""
284
+ directory_batch_size: NotRequired[float]
285
+ 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."""
239
286
  deadletter_path: NotRequired[str]
240
287
  r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded"""
241
288
  max_retry_num: NotRequired[float]
@@ -243,14 +290,14 @@ class OutputDlS3TypedDict(TypedDict):
243
290
 
244
291
 
245
292
  class OutputDlS3(BaseModel):
293
+ type: OutputDlS3Type
294
+
246
295
  bucket: str
247
296
  r"""Name of the destination S3 bucket. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at initialization time. Example referencing a Global Variable: `myBucket-${C.vars.myVar}`"""
248
297
 
249
298
  id: Optional[str] = None
250
299
  r"""Unique ID for this output"""
251
300
 
252
- type: Optional[OutputDlS3Type] = None
253
-
254
301
  pipeline: Optional[str] = None
255
302
  r"""Pipeline to process data before sending out to this output"""
256
303
 
@@ -274,7 +321,10 @@ class OutputDlS3(BaseModel):
274
321
  r"""Secret key. This value can be a constant or a JavaScript expression. Example: `${C.env.SOME_SECRET}`)"""
275
322
 
276
323
  aws_authentication_method: Annotated[
277
- Optional[OutputDlS3AuthenticationMethod],
324
+ Annotated[
325
+ Optional[OutputDlS3AuthenticationMethod],
326
+ PlainValidator(validate_open_enum(False)),
327
+ ],
278
328
  pydantic.Field(alias="awsAuthenticationMethod"),
279
329
  ] = OutputDlS3AuthenticationMethod.AUTO
280
330
  r"""AWS authentication method. Choose Auto to use IAM roles."""
@@ -283,7 +333,11 @@ class OutputDlS3(BaseModel):
283
333
  r"""S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint."""
284
334
 
285
335
  signature_version: Annotated[
286
- Optional[OutputDlS3SignatureVersion], pydantic.Field(alias="signatureVersion")
336
+ Annotated[
337
+ Optional[OutputDlS3SignatureVersion],
338
+ PlainValidator(validate_open_enum(False)),
339
+ ],
340
+ pydantic.Field(alias="signatureVersion"),
287
341
  ] = OutputDlS3SignatureVersion.V4
288
342
  r"""Signature version to use for signing S3 requests"""
289
343
 
@@ -328,20 +382,29 @@ class OutputDlS3(BaseModel):
328
382
  r"""Add the Output ID value to staging location"""
329
383
 
330
384
  dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = ""
331
- r"""Prefix to append to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`"""
385
+ r"""Prefix to prepend to files before uploading. Must be a JavaScript expression (which can evaluate to a constant value), enclosed in quotes or backticks. Can be evaluated only at init time. Example referencing a Global Variable: `myKeyPrefix-${C.vars.myVar}`"""
332
386
 
333
387
  object_acl: Annotated[
334
- Optional[OutputDlS3ObjectACL], pydantic.Field(alias="objectACL")
388
+ Annotated[
389
+ Optional[OutputDlS3ObjectACL], PlainValidator(validate_open_enum(False))
390
+ ],
391
+ pydantic.Field(alias="objectACL"),
335
392
  ] = OutputDlS3ObjectACL.PRIVATE
336
393
  r"""Object ACL to assign to uploaded objects"""
337
394
 
338
395
  storage_class: Annotated[
339
- Optional[OutputDlS3StorageClass], pydantic.Field(alias="storageClass")
396
+ Annotated[
397
+ Optional[OutputDlS3StorageClass], PlainValidator(validate_open_enum(False))
398
+ ],
399
+ pydantic.Field(alias="storageClass"),
340
400
  ] = None
341
401
  r"""Storage class to select for uploaded objects"""
342
402
 
343
403
  server_side_encryption: Annotated[
344
- Optional[OutputDlS3ServerSideEncryptionForUploadedObjects],
404
+ Annotated[
405
+ Optional[OutputDlS3ServerSideEncryptionForUploadedObjects],
406
+ PlainValidator(validate_open_enum(False)),
407
+ ],
345
408
  pydantic.Field(alias="serverSideEncryption"),
346
409
  ] = None
347
410
 
@@ -354,7 +417,10 @@ class OutputDlS3(BaseModel):
354
417
  r"""Remove empty staging directories after moving files"""
355
418
 
356
419
  format_: Annotated[
357
- Optional[OutputDlS3DataFormat], pydantic.Field(alias="format")
420
+ Annotated[
421
+ Optional[OutputDlS3DataFormat], PlainValidator(validate_open_enum(False))
422
+ ],
423
+ pydantic.Field(alias="format"),
358
424
  ] = OutputDlS3DataFormat.JSON
359
425
  r"""Format of the output data"""
360
426
 
@@ -387,7 +453,11 @@ class OutputDlS3(BaseModel):
387
453
  r"""Buffer size used to write to a file"""
388
454
 
389
455
  on_backpressure: Annotated[
390
- Optional[OutputDlS3BackpressureBehavior], pydantic.Field(alias="onBackpressure")
456
+ Annotated[
457
+ Optional[OutputDlS3BackpressureBehavior],
458
+ PlainValidator(validate_open_enum(False)),
459
+ ],
460
+ pydantic.Field(alias="onBackpressure"),
391
461
  ] = OutputDlS3BackpressureBehavior.BLOCK
392
462
  r"""How to handle events when all receivers are exerting backpressure"""
393
463
 
@@ -397,11 +467,19 @@ class OutputDlS3(BaseModel):
397
467
  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"""
398
468
 
399
469
  on_disk_full_backpressure: Annotated[
400
- Optional[OutputDlS3DiskSpaceProtection],
470
+ Annotated[
471
+ Optional[OutputDlS3DiskSpaceProtection],
472
+ PlainValidator(validate_open_enum(False)),
473
+ ],
401
474
  pydantic.Field(alias="onDiskFullBackpressure"),
402
475
  ] = OutputDlS3DiskSpaceProtection.BLOCK
403
476
  r"""How to handle events when disk space is below the global 'Min free disk space' limit"""
404
477
 
478
+ force_close_on_shutdown: Annotated[
479
+ Optional[bool], pydantic.Field(alias="forceCloseOnShutdown")
480
+ ] = False
481
+ 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."""
482
+
405
483
  max_file_open_time_sec: Annotated[
406
484
  Optional[float], pydantic.Field(alias="maxFileOpenTimeSec")
407
485
  ] = 300
@@ -440,11 +518,17 @@ class OutputDlS3(BaseModel):
440
518
  aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None
441
519
  r"""Select or create a stored secret that references your access key and secret key"""
442
520
 
443
- compress: Optional[OutputDlS3Compression] = OutputDlS3Compression.GZIP
521
+ compress: Annotated[
522
+ Optional[OutputDlS3Compression], PlainValidator(validate_open_enum(False))
523
+ ] = OutputDlS3Compression.GZIP
444
524
  r"""Data compression format to apply to HTTP content before it is delivered"""
445
525
 
446
526
  compression_level: Annotated[
447
- Optional[OutputDlS3CompressionLevel], pydantic.Field(alias="compressionLevel")
527
+ Annotated[
528
+ Optional[OutputDlS3CompressionLevel],
529
+ PlainValidator(validate_open_enum(False)),
530
+ ],
531
+ pydantic.Field(alias="compressionLevel"),
448
532
  ] = OutputDlS3CompressionLevel.BEST_SPEED
449
533
  r"""Compression level to apply before moving files to final destination"""
450
534
 
@@ -453,13 +537,25 @@ class OutputDlS3(BaseModel):
453
537
  ] = False
454
538
  r"""Automatically calculate the schema based on the events of each Parquet file generated"""
455
539
 
540
+ parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = (
541
+ None
542
+ )
543
+ r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas"""
544
+
456
545
  parquet_version: Annotated[
457
- Optional[OutputDlS3ParquetVersion], pydantic.Field(alias="parquetVersion")
546
+ Annotated[
547
+ Optional[OutputDlS3ParquetVersion],
548
+ PlainValidator(validate_open_enum(False)),
549
+ ],
550
+ pydantic.Field(alias="parquetVersion"),
458
551
  ] = OutputDlS3ParquetVersion.PARQUET_2_6
459
552
  r"""Determines which data types are supported and how they are represented"""
460
553
 
461
554
  parquet_data_page_version: Annotated[
462
- Optional[OutputDlS3DataPageVersion],
555
+ Annotated[
556
+ Optional[OutputDlS3DataPageVersion],
557
+ PlainValidator(validate_open_enum(False)),
558
+ ],
463
559
  pydantic.Field(alias="parquetDataPageVersion"),
464
560
  ] = OutputDlS3DataPageVersion.DATA_PAGE_V2
465
561
  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."""
@@ -505,6 +601,11 @@ class OutputDlS3(BaseModel):
505
601
  ] = 300
506
602
  r"""How frequently, in seconds, to clean up empty directories"""
507
603
 
604
+ directory_batch_size: Annotated[
605
+ Optional[float], pydantic.Field(alias="directoryBatchSize")
606
+ ] = 1000
607
+ 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."""
608
+
508
609
  deadletter_path: Annotated[
509
610
  Optional[str], pydantic.Field(alias="deadletterPath")
510
611
  ] = "$CRIBL_HOME/state/outputs/dead-letter"
@@ -512,3 +613,111 @@ class OutputDlS3(BaseModel):
512
613
 
513
614
  max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = 20
514
615
  r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered"""
616
+
617
+ @field_serializer("aws_authentication_method")
618
+ def serialize_aws_authentication_method(self, value):
619
+ if isinstance(value, str):
620
+ try:
621
+ return models.OutputDlS3AuthenticationMethod(value)
622
+ except ValueError:
623
+ return value
624
+ return value
625
+
626
+ @field_serializer("signature_version")
627
+ def serialize_signature_version(self, value):
628
+ if isinstance(value, str):
629
+ try:
630
+ return models.OutputDlS3SignatureVersion(value)
631
+ except ValueError:
632
+ return value
633
+ return value
634
+
635
+ @field_serializer("object_acl")
636
+ def serialize_object_acl(self, value):
637
+ if isinstance(value, str):
638
+ try:
639
+ return models.OutputDlS3ObjectACL(value)
640
+ except ValueError:
641
+ return value
642
+ return value
643
+
644
+ @field_serializer("storage_class")
645
+ def serialize_storage_class(self, value):
646
+ if isinstance(value, str):
647
+ try:
648
+ return models.OutputDlS3StorageClass(value)
649
+ except ValueError:
650
+ return value
651
+ return value
652
+
653
+ @field_serializer("server_side_encryption")
654
+ def serialize_server_side_encryption(self, value):
655
+ if isinstance(value, str):
656
+ try:
657
+ return models.OutputDlS3ServerSideEncryptionForUploadedObjects(value)
658
+ except ValueError:
659
+ return value
660
+ return value
661
+
662
+ @field_serializer("format_")
663
+ def serialize_format_(self, value):
664
+ if isinstance(value, str):
665
+ try:
666
+ return models.OutputDlS3DataFormat(value)
667
+ except ValueError:
668
+ return value
669
+ return value
670
+
671
+ @field_serializer("on_backpressure")
672
+ def serialize_on_backpressure(self, value):
673
+ if isinstance(value, str):
674
+ try:
675
+ return models.OutputDlS3BackpressureBehavior(value)
676
+ except ValueError:
677
+ return value
678
+ return value
679
+
680
+ @field_serializer("on_disk_full_backpressure")
681
+ def serialize_on_disk_full_backpressure(self, value):
682
+ if isinstance(value, str):
683
+ try:
684
+ return models.OutputDlS3DiskSpaceProtection(value)
685
+ except ValueError:
686
+ return value
687
+ return value
688
+
689
+ @field_serializer("compress")
690
+ def serialize_compress(self, value):
691
+ if isinstance(value, str):
692
+ try:
693
+ return models.OutputDlS3Compression(value)
694
+ except ValueError:
695
+ return value
696
+ return value
697
+
698
+ @field_serializer("compression_level")
699
+ def serialize_compression_level(self, value):
700
+ if isinstance(value, str):
701
+ try:
702
+ return models.OutputDlS3CompressionLevel(value)
703
+ except ValueError:
704
+ return value
705
+ return value
706
+
707
+ @field_serializer("parquet_version")
708
+ def serialize_parquet_version(self, value):
709
+ if isinstance(value, str):
710
+ try:
711
+ return models.OutputDlS3ParquetVersion(value)
712
+ except ValueError:
713
+ return value
714
+ return value
715
+
716
+ @field_serializer("parquet_data_page_version")
717
+ def serialize_parquet_data_page_version(self, value):
718
+ if isinstance(value, str):
719
+ try:
720
+ return models.OutputDlS3DataPageVersion(value)
721
+ except ValueError:
722
+ return value
723
+ return value