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,88 +16,122 @@ class OutputGoogleCloudStorageType(str, Enum):
12
16
  GOOGLE_CLOUD_STORAGE = "google_cloud_storage"
13
17
 
14
18
 
15
- class OutputGoogleCloudStorageSignatureVersion(str, Enum):
19
+ class OutputGoogleCloudStorageSignatureVersion(str, Enum, metaclass=utils.OpenEnumMeta):
16
20
  r"""Signature version to use for signing Google Cloud Storage requests"""
17
21
 
18
22
  V2 = "v2"
19
23
  V4 = "v4"
20
24
 
21
25
 
22
- class OutputGoogleCloudStorageAuthenticationMethod(str, Enum):
26
+ class OutputGoogleCloudStorageAuthenticationMethod(
27
+ str, Enum, metaclass=utils.OpenEnumMeta
28
+ ):
29
+ # auto
23
30
  AUTO = "auto"
31
+ # manual
24
32
  MANUAL = "manual"
33
+ # Secret Key pair
25
34
  SECRET = "secret"
26
35
 
27
36
 
28
- class OutputGoogleCloudStorageObjectACL(str, Enum):
37
+ class OutputGoogleCloudStorageObjectACL(str, Enum, metaclass=utils.OpenEnumMeta):
29
38
  r"""Object ACL to assign to uploaded objects"""
30
39
 
40
+ # private
31
41
  PRIVATE = "private"
42
+ # bucket-owner-read
32
43
  BUCKET_OWNER_READ = "bucket-owner-read"
44
+ # bucket-owner-full-control
33
45
  BUCKET_OWNER_FULL_CONTROL = "bucket-owner-full-control"
46
+ # project-private
34
47
  PROJECT_PRIVATE = "project-private"
48
+ # authenticated-read
35
49
  AUTHENTICATED_READ = "authenticated-read"
50
+ # public-read
36
51
  PUBLIC_READ = "public-read"
37
52
 
38
53
 
39
- class OutputGoogleCloudStorageStorageClass(str, Enum):
54
+ class OutputGoogleCloudStorageStorageClass(str, Enum, metaclass=utils.OpenEnumMeta):
40
55
  r"""Storage class to select for uploaded objects"""
41
56
 
57
+ # Standard Storage
42
58
  STANDARD = "STANDARD"
59
+ # Nearline Storage
43
60
  NEARLINE = "NEARLINE"
61
+ # Coldline Storage
44
62
  COLDLINE = "COLDLINE"
63
+ # Archive Storage
45
64
  ARCHIVE = "ARCHIVE"
46
65
 
47
66
 
48
- class OutputGoogleCloudStorageDataFormat(str, Enum):
67
+ class OutputGoogleCloudStorageDataFormat(str, Enum, metaclass=utils.OpenEnumMeta):
49
68
  r"""Format of the output data"""
50
69
 
70
+ # JSON
51
71
  JSON = "json"
72
+ # Raw
52
73
  RAW = "raw"
74
+ # Parquet
53
75
  PARQUET = "parquet"
54
76
 
55
77
 
56
- class OutputGoogleCloudStorageBackpressureBehavior(str, Enum):
78
+ class OutputGoogleCloudStorageBackpressureBehavior(
79
+ str, Enum, metaclass=utils.OpenEnumMeta
80
+ ):
57
81
  r"""How to handle events when all receivers are exerting backpressure"""
58
82
 
83
+ # Block
59
84
  BLOCK = "block"
85
+ # Drop
60
86
  DROP = "drop"
61
87
 
62
88
 
63
- class OutputGoogleCloudStorageDiskSpaceProtection(str, Enum):
89
+ class OutputGoogleCloudStorageDiskSpaceProtection(
90
+ str, Enum, metaclass=utils.OpenEnumMeta
91
+ ):
64
92
  r"""How to handle events when disk space is below the global 'Min free disk space' limit"""
65
93
 
94
+ # Block
66
95
  BLOCK = "block"
96
+ # Drop
67
97
  DROP = "drop"
68
98
 
69
99
 
70
- class OutputGoogleCloudStorageCompression(str, Enum):
100
+ class OutputGoogleCloudStorageCompression(str, Enum, metaclass=utils.OpenEnumMeta):
71
101
  r"""Data compression format to apply to HTTP content before it is delivered"""
72
102
 
73
103
  NONE = "none"
74
104
  GZIP = "gzip"
75
105
 
76
106
 
77
- class OutputGoogleCloudStorageCompressionLevel(str, Enum):
107
+ class OutputGoogleCloudStorageCompressionLevel(str, Enum, metaclass=utils.OpenEnumMeta):
78
108
  r"""Compression level to apply before moving files to final destination"""
79
109
 
110
+ # Best Speed
80
111
  BEST_SPEED = "best_speed"
112
+ # Normal
81
113
  NORMAL = "normal"
114
+ # Best Compression
82
115
  BEST_COMPRESSION = "best_compression"
83
116
 
84
117
 
85
- class OutputGoogleCloudStorageParquetVersion(str, Enum):
118
+ class OutputGoogleCloudStorageParquetVersion(str, Enum, metaclass=utils.OpenEnumMeta):
86
119
  r"""Determines which data types are supported and how they are represented"""
87
120
 
121
+ # 1.0
88
122
  PARQUET_1_0 = "PARQUET_1_0"
123
+ # 2.4
89
124
  PARQUET_2_4 = "PARQUET_2_4"
125
+ # 2.6
90
126
  PARQUET_2_6 = "PARQUET_2_6"
91
127
 
92
128
 
93
- class OutputGoogleCloudStorageDataPageVersion(str, Enum):
129
+ class OutputGoogleCloudStorageDataPageVersion(str, Enum, metaclass=utils.OpenEnumMeta):
94
130
  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."""
95
131
 
132
+ # V1
96
133
  DATA_PAGE_V1 = "DATA_PAGE_V1"
134
+ # V2
97
135
  DATA_PAGE_V2 = "DATA_PAGE_V2"
98
136
 
99
137
 
@@ -109,13 +147,13 @@ class OutputGoogleCloudStorageKeyValueMetadatum(BaseModel):
109
147
 
110
148
 
111
149
  class OutputGoogleCloudStorageTypedDict(TypedDict):
150
+ type: OutputGoogleCloudStorageType
112
151
  bucket: str
113
152
  r"""Name of the destination bucket. This value can be a constant or a JavaScript expression that can only be evaluated at init time. Example of referencing a Global Variable: `myBucket-${C.vars.myVar}`."""
114
153
  region: str
115
154
  r"""Region where the bucket is located"""
116
155
  id: NotRequired[str]
117
156
  r"""Unique ID for this output"""
118
- type: NotRequired[OutputGoogleCloudStorageType]
119
157
  pipeline: NotRequired[str]
120
158
  r"""Pipeline to process data before sending out to this output"""
121
159
  system_fields: NotRequired[List[str]]
@@ -132,7 +170,7 @@ class OutputGoogleCloudStorageTypedDict(TypedDict):
132
170
  stage_path: NotRequired[str]
133
171
  r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage."""
134
172
  dest_path: NotRequired[str]
135
- 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}`"""
173
+ 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}`"""
136
174
  verify_permissions: NotRequired[bool]
137
175
  r"""Disable if you can access files within the bucket but not the bucket itself"""
138
176
  object_acl: NotRequired[OutputGoogleCloudStorageObjectACL]
@@ -173,6 +211,8 @@ class OutputGoogleCloudStorageTypedDict(TypedDict):
173
211
  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"""
174
212
  on_disk_full_backpressure: NotRequired[OutputGoogleCloudStorageDiskSpaceProtection]
175
213
  r"""How to handle events when disk space is below the global 'Min free disk space' limit"""
214
+ force_close_on_shutdown: NotRequired[bool]
215
+ 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."""
176
216
  description: NotRequired[str]
177
217
  compress: NotRequired[OutputGoogleCloudStorageCompression]
178
218
  r"""Data compression format to apply to HTTP content before it is delivered"""
@@ -180,6 +220,8 @@ class OutputGoogleCloudStorageTypedDict(TypedDict):
180
220
  r"""Compression level to apply before moving files to final destination"""
181
221
  automatic_schema: NotRequired[bool]
182
222
  r"""Automatically calculate the schema based on the events of each Parquet file generated"""
223
+ parquet_schema: NotRequired[str]
224
+ r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas"""
183
225
  parquet_version: NotRequired[OutputGoogleCloudStorageParquetVersion]
184
226
  r"""Determines which data types are supported and how they are represented"""
185
227
  parquet_data_page_version: NotRequired[OutputGoogleCloudStorageDataPageVersion]
@@ -202,6 +244,8 @@ class OutputGoogleCloudStorageTypedDict(TypedDict):
202
244
  r"""Parquet tools can use the checksum of a Parquet page to verify data integrity"""
203
245
  empty_dir_cleanup_sec: NotRequired[float]
204
246
  r"""How frequently, in seconds, to clean up empty directories"""
247
+ directory_batch_size: NotRequired[float]
248
+ 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."""
205
249
  deadletter_path: NotRequired[str]
206
250
  r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded"""
207
251
  max_retry_num: NotRequired[float]
@@ -215,6 +259,8 @@ class OutputGoogleCloudStorageTypedDict(TypedDict):
215
259
 
216
260
 
217
261
  class OutputGoogleCloudStorage(BaseModel):
262
+ type: OutputGoogleCloudStorageType
263
+
218
264
  bucket: str
219
265
  r"""Name of the destination bucket. This value can be a constant or a JavaScript expression that can only be evaluated at init time. Example of referencing a Global Variable: `myBucket-${C.vars.myVar}`."""
220
266
 
@@ -224,8 +270,6 @@ class OutputGoogleCloudStorage(BaseModel):
224
270
  id: Optional[str] = None
225
271
  r"""Unique ID for this output"""
226
272
 
227
- type: Optional[OutputGoogleCloudStorageType] = None
228
-
229
273
  pipeline: Optional[str] = None
230
274
  r"""Pipeline to process data before sending out to this output"""
231
275
 
@@ -244,13 +288,19 @@ class OutputGoogleCloudStorage(BaseModel):
244
288
  r"""Google Cloud Storage service endpoint"""
245
289
 
246
290
  signature_version: Annotated[
247
- Optional[OutputGoogleCloudStorageSignatureVersion],
291
+ Annotated[
292
+ Optional[OutputGoogleCloudStorageSignatureVersion],
293
+ PlainValidator(validate_open_enum(False)),
294
+ ],
248
295
  pydantic.Field(alias="signatureVersion"),
249
296
  ] = OutputGoogleCloudStorageSignatureVersion.V4
250
297
  r"""Signature version to use for signing Google Cloud Storage requests"""
251
298
 
252
299
  aws_authentication_method: Annotated[
253
- Optional[OutputGoogleCloudStorageAuthenticationMethod],
300
+ Annotated[
301
+ Optional[OutputGoogleCloudStorageAuthenticationMethod],
302
+ PlainValidator(validate_open_enum(False)),
303
+ ],
254
304
  pydantic.Field(alias="awsAuthenticationMethod"),
255
305
  ] = OutputGoogleCloudStorageAuthenticationMethod.MANUAL
256
306
 
@@ -260,7 +310,7 @@ class OutputGoogleCloudStorage(BaseModel):
260
310
  r"""Filesystem location in which to buffer files, before compressing and moving to final destination. Use performant and stable storage."""
261
311
 
262
312
  dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = ""
263
- 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}`"""
313
+ 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}`"""
264
314
 
265
315
  verify_permissions: Annotated[
266
316
  Optional[bool], pydantic.Field(alias="verifyPermissions")
@@ -268,12 +318,19 @@ class OutputGoogleCloudStorage(BaseModel):
268
318
  r"""Disable if you can access files within the bucket but not the bucket itself"""
269
319
 
270
320
  object_acl: Annotated[
271
- Optional[OutputGoogleCloudStorageObjectACL], pydantic.Field(alias="objectACL")
321
+ Annotated[
322
+ Optional[OutputGoogleCloudStorageObjectACL],
323
+ PlainValidator(validate_open_enum(False)),
324
+ ],
325
+ pydantic.Field(alias="objectACL"),
272
326
  ] = OutputGoogleCloudStorageObjectACL.PRIVATE
273
327
  r"""Object ACL to assign to uploaded objects"""
274
328
 
275
329
  storage_class: Annotated[
276
- Optional[OutputGoogleCloudStorageStorageClass],
330
+ Annotated[
331
+ Optional[OutputGoogleCloudStorageStorageClass],
332
+ PlainValidator(validate_open_enum(False)),
333
+ ],
277
334
  pydantic.Field(alias="storageClass"),
278
335
  ] = None
279
336
  r"""Storage class to select for uploaded objects"""
@@ -304,7 +361,11 @@ class OutputGoogleCloudStorage(BaseModel):
304
361
  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."""
305
362
 
306
363
  format_: Annotated[
307
- Optional[OutputGoogleCloudStorageDataFormat], pydantic.Field(alias="format")
364
+ Annotated[
365
+ Optional[OutputGoogleCloudStorageDataFormat],
366
+ PlainValidator(validate_open_enum(False)),
367
+ ],
368
+ pydantic.Field(alias="format"),
308
369
  ] = OutputGoogleCloudStorageDataFormat.JSON
309
370
  r"""Format of the output data"""
310
371
 
@@ -347,7 +408,10 @@ class OutputGoogleCloudStorage(BaseModel):
347
408
  r"""Buffer size used to write to a file"""
348
409
 
349
410
  on_backpressure: Annotated[
350
- Optional[OutputGoogleCloudStorageBackpressureBehavior],
411
+ Annotated[
412
+ Optional[OutputGoogleCloudStorageBackpressureBehavior],
413
+ PlainValidator(validate_open_enum(False)),
414
+ ],
351
415
  pydantic.Field(alias="onBackpressure"),
352
416
  ] = OutputGoogleCloudStorageBackpressureBehavior.BLOCK
353
417
  r"""How to handle events when all receivers are exerting backpressure"""
@@ -358,20 +422,32 @@ class OutputGoogleCloudStorage(BaseModel):
358
422
  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"""
359
423
 
360
424
  on_disk_full_backpressure: Annotated[
361
- Optional[OutputGoogleCloudStorageDiskSpaceProtection],
425
+ Annotated[
426
+ Optional[OutputGoogleCloudStorageDiskSpaceProtection],
427
+ PlainValidator(validate_open_enum(False)),
428
+ ],
362
429
  pydantic.Field(alias="onDiskFullBackpressure"),
363
430
  ] = OutputGoogleCloudStorageDiskSpaceProtection.BLOCK
364
431
  r"""How to handle events when disk space is below the global 'Min free disk space' limit"""
365
432
 
433
+ force_close_on_shutdown: Annotated[
434
+ Optional[bool], pydantic.Field(alias="forceCloseOnShutdown")
435
+ ] = False
436
+ 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."""
437
+
366
438
  description: Optional[str] = None
367
439
 
368
- compress: Optional[OutputGoogleCloudStorageCompression] = (
369
- OutputGoogleCloudStorageCompression.GZIP
370
- )
440
+ compress: Annotated[
441
+ Optional[OutputGoogleCloudStorageCompression],
442
+ PlainValidator(validate_open_enum(False)),
443
+ ] = OutputGoogleCloudStorageCompression.GZIP
371
444
  r"""Data compression format to apply to HTTP content before it is delivered"""
372
445
 
373
446
  compression_level: Annotated[
374
- Optional[OutputGoogleCloudStorageCompressionLevel],
447
+ Annotated[
448
+ Optional[OutputGoogleCloudStorageCompressionLevel],
449
+ PlainValidator(validate_open_enum(False)),
450
+ ],
375
451
  pydantic.Field(alias="compressionLevel"),
376
452
  ] = OutputGoogleCloudStorageCompressionLevel.BEST_SPEED
377
453
  r"""Compression level to apply before moving files to final destination"""
@@ -381,14 +457,25 @@ class OutputGoogleCloudStorage(BaseModel):
381
457
  ] = False
382
458
  r"""Automatically calculate the schema based on the events of each Parquet file generated"""
383
459
 
460
+ parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = (
461
+ None
462
+ )
463
+ r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas"""
464
+
384
465
  parquet_version: Annotated[
385
- Optional[OutputGoogleCloudStorageParquetVersion],
466
+ Annotated[
467
+ Optional[OutputGoogleCloudStorageParquetVersion],
468
+ PlainValidator(validate_open_enum(False)),
469
+ ],
386
470
  pydantic.Field(alias="parquetVersion"),
387
471
  ] = OutputGoogleCloudStorageParquetVersion.PARQUET_2_6
388
472
  r"""Determines which data types are supported and how they are represented"""
389
473
 
390
474
  parquet_data_page_version: Annotated[
391
- Optional[OutputGoogleCloudStorageDataPageVersion],
475
+ Annotated[
476
+ Optional[OutputGoogleCloudStorageDataPageVersion],
477
+ PlainValidator(validate_open_enum(False)),
478
+ ],
392
479
  pydantic.Field(alias="parquetDataPageVersion"),
393
480
  ] = OutputGoogleCloudStorageDataPageVersion.DATA_PAGE_V2
394
481
  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."""
@@ -434,6 +521,11 @@ class OutputGoogleCloudStorage(BaseModel):
434
521
  ] = 300
435
522
  r"""How frequently, in seconds, to clean up empty directories"""
436
523
 
524
+ directory_batch_size: Annotated[
525
+ Optional[float], pydantic.Field(alias="directoryBatchSize")
526
+ ] = 1000
527
+ 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."""
528
+
437
529
  deadletter_path: Annotated[
438
530
  Optional[str], pydantic.Field(alias="deadletterPath")
439
531
  ] = "$CRIBL_HOME/state/outputs/dead-letter"
@@ -452,3 +544,102 @@ class OutputGoogleCloudStorage(BaseModel):
452
544
 
453
545
  aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None
454
546
  r"""Select or create a stored secret that references your access key and secret key"""
547
+
548
+ @field_serializer("signature_version")
549
+ def serialize_signature_version(self, value):
550
+ if isinstance(value, str):
551
+ try:
552
+ return models.OutputGoogleCloudStorageSignatureVersion(value)
553
+ except ValueError:
554
+ return value
555
+ return value
556
+
557
+ @field_serializer("aws_authentication_method")
558
+ def serialize_aws_authentication_method(self, value):
559
+ if isinstance(value, str):
560
+ try:
561
+ return models.OutputGoogleCloudStorageAuthenticationMethod(value)
562
+ except ValueError:
563
+ return value
564
+ return value
565
+
566
+ @field_serializer("object_acl")
567
+ def serialize_object_acl(self, value):
568
+ if isinstance(value, str):
569
+ try:
570
+ return models.OutputGoogleCloudStorageObjectACL(value)
571
+ except ValueError:
572
+ return value
573
+ return value
574
+
575
+ @field_serializer("storage_class")
576
+ def serialize_storage_class(self, value):
577
+ if isinstance(value, str):
578
+ try:
579
+ return models.OutputGoogleCloudStorageStorageClass(value)
580
+ except ValueError:
581
+ return value
582
+ return value
583
+
584
+ @field_serializer("format_")
585
+ def serialize_format_(self, value):
586
+ if isinstance(value, str):
587
+ try:
588
+ return models.OutputGoogleCloudStorageDataFormat(value)
589
+ except ValueError:
590
+ return value
591
+ return value
592
+
593
+ @field_serializer("on_backpressure")
594
+ def serialize_on_backpressure(self, value):
595
+ if isinstance(value, str):
596
+ try:
597
+ return models.OutputGoogleCloudStorageBackpressureBehavior(value)
598
+ except ValueError:
599
+ return value
600
+ return value
601
+
602
+ @field_serializer("on_disk_full_backpressure")
603
+ def serialize_on_disk_full_backpressure(self, value):
604
+ if isinstance(value, str):
605
+ try:
606
+ return models.OutputGoogleCloudStorageDiskSpaceProtection(value)
607
+ except ValueError:
608
+ return value
609
+ return value
610
+
611
+ @field_serializer("compress")
612
+ def serialize_compress(self, value):
613
+ if isinstance(value, str):
614
+ try:
615
+ return models.OutputGoogleCloudStorageCompression(value)
616
+ except ValueError:
617
+ return value
618
+ return value
619
+
620
+ @field_serializer("compression_level")
621
+ def serialize_compression_level(self, value):
622
+ if isinstance(value, str):
623
+ try:
624
+ return models.OutputGoogleCloudStorageCompressionLevel(value)
625
+ except ValueError:
626
+ return value
627
+ return value
628
+
629
+ @field_serializer("parquet_version")
630
+ def serialize_parquet_version(self, value):
631
+ if isinstance(value, str):
632
+ try:
633
+ return models.OutputGoogleCloudStorageParquetVersion(value)
634
+ except ValueError:
635
+ return value
636
+ return value
637
+
638
+ @field_serializer("parquet_data_page_version")
639
+ def serialize_parquet_data_page_version(self, value):
640
+ if isinstance(value, str):
641
+ try:
642
+ return models.OutputGoogleCloudStorageDataPageVersion(value)
643
+ except ValueError:
644
+ return value
645
+ return value