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,15 +16,22 @@ class OutputDatasetType(str, Enum):
12
16
  DATASET = "dataset"
13
17
 
14
18
 
15
- class OutputDatasetSeverity(str, Enum):
19
+ class OutputDatasetSeverity(str, Enum, metaclass=utils.OpenEnumMeta):
16
20
  r"""Default value for event severity. If the `sev` or `__severity` fields are set on an event, the first one matching will override this value."""
17
21
 
22
+ # 0 - finest
18
23
  FINEST = "finest"
24
+ # 1 - finer
19
25
  FINER = "finer"
26
+ # 2 - fine
20
27
  FINE = "fine"
28
+ # 3 - info
21
29
  INFO = "info"
30
+ # 4 - warning
22
31
  WARNING = "warning"
32
+ # 5 - error
23
33
  ERROR = "error"
34
+ # 6 - fatal
24
35
  FATAL = "fatal"
25
36
 
26
37
 
@@ -78,11 +89,14 @@ class OutputDatasetTimeoutRetrySettings(BaseModel):
78
89
  r"""The maximum backoff interval, in milliseconds, Cribl Stream should apply. Default (and minimum) is 10,000 ms (10 seconds); maximum is 180,000 ms (180 seconds)."""
79
90
 
80
91
 
81
- class DataSetSite(str, Enum):
92
+ class DataSetSite(str, Enum, metaclass=utils.OpenEnumMeta):
82
93
  r"""DataSet site to which events should be sent"""
83
94
 
95
+ # US
84
96
  US = "us"
97
+ # Europe
85
98
  EU = "eu"
99
+ # Custom
86
100
  CUSTOM = "custom"
87
101
 
88
102
 
@@ -97,51 +111,64 @@ class OutputDatasetExtraHTTPHeader(BaseModel):
97
111
  name: Optional[str] = None
98
112
 
99
113
 
100
- class OutputDatasetFailedRequestLoggingMode(str, Enum):
114
+ class OutputDatasetFailedRequestLoggingMode(str, Enum, metaclass=utils.OpenEnumMeta):
101
115
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
102
116
 
117
+ # Payload
103
118
  PAYLOAD = "payload"
119
+ # Payload + Headers
104
120
  PAYLOAD_AND_HEADERS = "payloadAndHeaders"
121
+ # None
105
122
  NONE = "none"
106
123
 
107
124
 
108
- class OutputDatasetBackpressureBehavior(str, Enum):
125
+ class OutputDatasetBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
109
126
  r"""How to handle events when all receivers are exerting backpressure"""
110
127
 
128
+ # Block
111
129
  BLOCK = "block"
130
+ # Drop
112
131
  DROP = "drop"
132
+ # Persistent Queue
113
133
  QUEUE = "queue"
114
134
 
115
135
 
116
- class OutputDatasetAuthenticationMethod(str, Enum):
136
+ class OutputDatasetAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
117
137
  r"""Enter API key directly, or select a stored secret"""
118
138
 
119
139
  MANUAL = "manual"
120
140
  SECRET = "secret"
121
141
 
122
142
 
123
- class OutputDatasetCompression(str, Enum):
143
+ class OutputDatasetMode(str, Enum, metaclass=utils.OpenEnumMeta):
144
+ r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
145
+
146
+ # Error
147
+ ERROR = "error"
148
+ # Backpressure
149
+ ALWAYS = "always"
150
+ # Always On
151
+ BACKPRESSURE = "backpressure"
152
+
153
+
154
+ class OutputDatasetCompression(str, Enum, metaclass=utils.OpenEnumMeta):
124
155
  r"""Codec to use to compress the persisted data"""
125
156
 
157
+ # None
126
158
  NONE = "none"
159
+ # Gzip
127
160
  GZIP = "gzip"
128
161
 
129
162
 
130
- class OutputDatasetQueueFullBehavior(str, Enum):
163
+ class OutputDatasetQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
131
164
  r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
132
165
 
166
+ # Block
133
167
  BLOCK = "block"
168
+ # Drop new data
134
169
  DROP = "drop"
135
170
 
136
171
 
137
- class OutputDatasetMode(str, Enum):
138
- r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
139
-
140
- ERROR = "error"
141
- BACKPRESSURE = "backpressure"
142
- ALWAYS = "always"
143
-
144
-
145
172
  class OutputDatasetPqControlsTypedDict(TypedDict):
146
173
  pass
147
174
 
@@ -151,9 +178,9 @@ class OutputDatasetPqControls(BaseModel):
151
178
 
152
179
 
153
180
  class OutputDatasetTypedDict(TypedDict):
154
- id: str
155
- r"""Unique ID for this output"""
156
181
  type: OutputDatasetType
182
+ id: NotRequired[str]
183
+ r"""Unique ID for this output"""
157
184
  pipeline: NotRequired[str]
158
185
  r"""Pipeline to process data before sending out to this output"""
159
186
  system_fields: NotRequired[List[str]]
@@ -214,6 +241,16 @@ class OutputDatasetTypedDict(TypedDict):
214
241
  r"""Maximum total size of the batches waiting to be sent. If left blank, defaults to 5 times the max body size (if set). If 0, no limit is enforced."""
215
242
  description: NotRequired[str]
216
243
  custom_url: NotRequired[str]
244
+ pq_strict_ordering: NotRequired[bool]
245
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
246
+ pq_rate_per_sec: NotRequired[float]
247
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
248
+ pq_mode: NotRequired[OutputDatasetMode]
249
+ r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
250
+ pq_max_buffer_size: NotRequired[float]
251
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
252
+ pq_max_backpressure_sec: NotRequired[float]
253
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
217
254
  pq_max_file_size: NotRequired[str]
218
255
  r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
219
256
  pq_max_size: NotRequired[str]
@@ -224,8 +261,6 @@ class OutputDatasetTypedDict(TypedDict):
224
261
  r"""Codec to use to compress the persisted data"""
225
262
  pq_on_backpressure: NotRequired[OutputDatasetQueueFullBehavior]
226
263
  r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
227
- pq_mode: NotRequired[OutputDatasetMode]
228
- r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
229
264
  pq_controls: NotRequired[OutputDatasetPqControlsTypedDict]
230
265
  api_key: NotRequired[str]
231
266
  r"""A 'Log Write Access' API key for the DataSet account"""
@@ -234,11 +269,11 @@ class OutputDatasetTypedDict(TypedDict):
234
269
 
235
270
 
236
271
  class OutputDataset(BaseModel):
237
- id: str
238
- r"""Unique ID for this output"""
239
-
240
272
  type: OutputDatasetType
241
273
 
274
+ id: Optional[str] = None
275
+ r"""Unique ID for this output"""
276
+
242
277
  pipeline: Optional[str] = None
243
278
  r"""Pipeline to process data before sending out to this output"""
244
279
 
@@ -272,7 +307,10 @@ class OutputDataset(BaseModel):
272
307
  r"""Name of the event field that contains the timestamp. If not specified, defaults to `ts`, `_time`, or `Date.now()`, in that order."""
273
308
 
274
309
  default_severity: Annotated[
275
- Optional[OutputDatasetSeverity], pydantic.Field(alias="defaultSeverity")
310
+ Annotated[
311
+ Optional[OutputDatasetSeverity], PlainValidator(validate_open_enum(False))
312
+ ],
313
+ pydantic.Field(alias="defaultSeverity"),
276
314
  ] = OutputDatasetSeverity.INFO
277
315
  r"""Default value for event severity. If the `sev` or `__severity` fields are set on an event, the first one matching will override this value."""
278
316
 
@@ -292,7 +330,9 @@ class OutputDataset(BaseModel):
292
330
  ] = False
293
331
  r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored."""
294
332
 
295
- site: Optional[DataSetSite] = DataSetSite.US
333
+ site: Annotated[
334
+ Optional[DataSetSite], PlainValidator(validate_open_enum(False))
335
+ ] = DataSetSite.US
296
336
  r"""DataSet site to which events should be sent"""
297
337
 
298
338
  concurrency: Optional[float] = 5
@@ -339,7 +379,10 @@ class OutputDataset(BaseModel):
339
379
  r"""Enable round-robin DNS lookup. When a DNS server returns multiple addresses, @{product} will cycle through them in the order returned. For optimal performance, consider enabling this setting for non-load balanced destinations."""
340
380
 
341
381
  failed_request_logging_mode: Annotated[
342
- Optional[OutputDatasetFailedRequestLoggingMode],
382
+ Annotated[
383
+ Optional[OutputDatasetFailedRequestLoggingMode],
384
+ PlainValidator(validate_open_enum(False)),
385
+ ],
343
386
  pydantic.Field(alias="failedRequestLoggingMode"),
344
387
  ] = OutputDatasetFailedRequestLoggingMode.NONE
345
388
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
@@ -350,13 +393,20 @@ class OutputDataset(BaseModel):
350
393
  r"""List of headers that are safe to log in plain text"""
351
394
 
352
395
  on_backpressure: Annotated[
353
- Optional[OutputDatasetBackpressureBehavior],
396
+ Annotated[
397
+ Optional[OutputDatasetBackpressureBehavior],
398
+ PlainValidator(validate_open_enum(False)),
399
+ ],
354
400
  pydantic.Field(alias="onBackpressure"),
355
401
  ] = OutputDatasetBackpressureBehavior.BLOCK
356
402
  r"""How to handle events when all receivers are exerting backpressure"""
357
403
 
358
404
  auth_type: Annotated[
359
- Optional[OutputDatasetAuthenticationMethod], pydantic.Field(alias="authType")
405
+ Annotated[
406
+ Optional[OutputDatasetAuthenticationMethod],
407
+ PlainValidator(validate_open_enum(False)),
408
+ ],
409
+ pydantic.Field(alias="authType"),
360
410
  ] = OutputDatasetAuthenticationMethod.MANUAL
361
411
  r"""Enter API key directly, or select a stored secret"""
362
412
 
@@ -369,6 +419,34 @@ class OutputDataset(BaseModel):
369
419
 
370
420
  custom_url: Annotated[Optional[str], pydantic.Field(alias="customUrl")] = None
371
421
 
422
+ pq_strict_ordering: Annotated[
423
+ Optional[bool], pydantic.Field(alias="pqStrictOrdering")
424
+ ] = True
425
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
426
+
427
+ pq_rate_per_sec: Annotated[
428
+ Optional[float], pydantic.Field(alias="pqRatePerSec")
429
+ ] = 0
430
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
431
+
432
+ pq_mode: Annotated[
433
+ Annotated[
434
+ Optional[OutputDatasetMode], PlainValidator(validate_open_enum(False))
435
+ ],
436
+ pydantic.Field(alias="pqMode"),
437
+ ] = OutputDatasetMode.ERROR
438
+ r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
439
+
440
+ pq_max_buffer_size: Annotated[
441
+ Optional[float], pydantic.Field(alias="pqMaxBufferSize")
442
+ ] = 42
443
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
444
+
445
+ pq_max_backpressure_sec: Annotated[
446
+ Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
447
+ ] = 30
448
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
449
+
372
450
  pq_max_file_size: Annotated[
373
451
  Optional[str], pydantic.Field(alias="pqMaxFileSize")
374
452
  ] = "1 MB"
@@ -383,21 +461,23 @@ class OutputDataset(BaseModel):
383
461
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
384
462
 
385
463
  pq_compress: Annotated[
386
- Optional[OutputDatasetCompression], pydantic.Field(alias="pqCompress")
464
+ Annotated[
465
+ Optional[OutputDatasetCompression],
466
+ PlainValidator(validate_open_enum(False)),
467
+ ],
468
+ pydantic.Field(alias="pqCompress"),
387
469
  ] = OutputDatasetCompression.NONE
388
470
  r"""Codec to use to compress the persisted data"""
389
471
 
390
472
  pq_on_backpressure: Annotated[
391
- Optional[OutputDatasetQueueFullBehavior],
473
+ Annotated[
474
+ Optional[OutputDatasetQueueFullBehavior],
475
+ PlainValidator(validate_open_enum(False)),
476
+ ],
392
477
  pydantic.Field(alias="pqOnBackpressure"),
393
478
  ] = OutputDatasetQueueFullBehavior.BLOCK
394
479
  r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
395
480
 
396
- pq_mode: Annotated[Optional[OutputDatasetMode], pydantic.Field(alias="pqMode")] = (
397
- OutputDatasetMode.ERROR
398
- )
399
- r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
400
-
401
481
  pq_controls: Annotated[
402
482
  Optional[OutputDatasetPqControls], pydantic.Field(alias="pqControls")
403
483
  ] = None
@@ -407,3 +487,75 @@ class OutputDataset(BaseModel):
407
487
 
408
488
  text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None
409
489
  r"""Select or create a stored text secret"""
490
+
491
+ @field_serializer("default_severity")
492
+ def serialize_default_severity(self, value):
493
+ if isinstance(value, str):
494
+ try:
495
+ return models.OutputDatasetSeverity(value)
496
+ except ValueError:
497
+ return value
498
+ return value
499
+
500
+ @field_serializer("site")
501
+ def serialize_site(self, value):
502
+ if isinstance(value, str):
503
+ try:
504
+ return models.DataSetSite(value)
505
+ except ValueError:
506
+ return value
507
+ return value
508
+
509
+ @field_serializer("failed_request_logging_mode")
510
+ def serialize_failed_request_logging_mode(self, value):
511
+ if isinstance(value, str):
512
+ try:
513
+ return models.OutputDatasetFailedRequestLoggingMode(value)
514
+ except ValueError:
515
+ return value
516
+ return value
517
+
518
+ @field_serializer("on_backpressure")
519
+ def serialize_on_backpressure(self, value):
520
+ if isinstance(value, str):
521
+ try:
522
+ return models.OutputDatasetBackpressureBehavior(value)
523
+ except ValueError:
524
+ return value
525
+ return value
526
+
527
+ @field_serializer("auth_type")
528
+ def serialize_auth_type(self, value):
529
+ if isinstance(value, str):
530
+ try:
531
+ return models.OutputDatasetAuthenticationMethod(value)
532
+ except ValueError:
533
+ return value
534
+ return value
535
+
536
+ @field_serializer("pq_mode")
537
+ def serialize_pq_mode(self, value):
538
+ if isinstance(value, str):
539
+ try:
540
+ return models.OutputDatasetMode(value)
541
+ except ValueError:
542
+ return value
543
+ return value
544
+
545
+ @field_serializer("pq_compress")
546
+ def serialize_pq_compress(self, value):
547
+ if isinstance(value, str):
548
+ try:
549
+ return models.OutputDatasetCompression(value)
550
+ except ValueError:
551
+ return value
552
+ return value
553
+
554
+ @field_serializer("pq_on_backpressure")
555
+ def serialize_pq_on_backpressure(self, value):
556
+ if isinstance(value, str):
557
+ try:
558
+ return models.OutputDatasetQueueFullBehavior(value)
559
+ except ValueError:
560
+ return value
561
+ return value
@@ -13,9 +13,9 @@ class OutputDevnullType(str, Enum):
13
13
 
14
14
 
15
15
  class OutputDevnullTypedDict(TypedDict):
16
- id: str
17
- r"""Unique ID for this output"""
18
16
  type: OutputDevnullType
17
+ id: NotRequired[str]
18
+ r"""Unique ID for this output"""
19
19
  pipeline: NotRequired[str]
20
20
  r"""Pipeline to process data before sending out to this output"""
21
21
  system_fields: NotRequired[List[str]]
@@ -27,11 +27,11 @@ class OutputDevnullTypedDict(TypedDict):
27
27
 
28
28
 
29
29
  class OutputDevnull(BaseModel):
30
- id: str
31
- r"""Unique ID for this output"""
32
-
33
30
  type: OutputDevnullType
34
31
 
32
+ id: Optional[str] = None
33
+ r"""Unique ID for this output"""
34
+
35
35
  pipeline: Optional[str] = None
36
36
  r"""Pipeline to process data before sending out to this output"""
37
37
 
@@ -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,7 +16,7 @@ class OutputDiskSpoolType(str, Enum):
12
16
  DISK_SPOOL = "disk_spool"
13
17
 
14
18
 
15
- class OutputDiskSpoolCompression(str, Enum):
19
+ class OutputDiskSpoolCompression(str, Enum, metaclass=utils.OpenEnumMeta):
16
20
  r"""Data compression format. Default is gzip."""
17
21
 
18
22
  NONE = "none"
@@ -20,9 +24,9 @@ class OutputDiskSpoolCompression(str, Enum):
20
24
 
21
25
 
22
26
  class OutputDiskSpoolTypedDict(TypedDict):
23
- id: str
24
- r"""Unique ID for this output"""
25
27
  type: OutputDiskSpoolType
28
+ id: NotRequired[str]
29
+ r"""Unique ID for this output"""
26
30
  pipeline: NotRequired[str]
27
31
  r"""Pipeline to process data before sending out to this output"""
28
32
  system_fields: NotRequired[List[str]]
@@ -45,11 +49,11 @@ class OutputDiskSpoolTypedDict(TypedDict):
45
49
 
46
50
 
47
51
  class OutputDiskSpool(BaseModel):
48
- id: str
49
- r"""Unique ID for this output"""
50
-
51
52
  type: OutputDiskSpoolType
52
53
 
54
+ id: Optional[str] = None
55
+ r"""Unique ID for this output"""
56
+
53
57
  pipeline: Optional[str] = None
54
58
  r"""Pipeline to process data before sending out to this output"""
55
59
 
@@ -73,7 +77,9 @@ class OutputDiskSpool(BaseModel):
73
77
  max_data_time: Annotated[Optional[str], pydantic.Field(alias="maxDataTime")] = "24h"
74
78
  r"""Maximum amount of time to retain data before older buckets are deleted. Examples: 2h, 4d. Default is 24h."""
75
79
 
76
- compress: Optional[OutputDiskSpoolCompression] = OutputDiskSpoolCompression.GZIP
80
+ compress: Annotated[
81
+ Optional[OutputDiskSpoolCompression], PlainValidator(validate_open_enum(False))
82
+ ] = OutputDiskSpoolCompression.GZIP
77
83
  r"""Data compression format. Default is gzip."""
78
84
 
79
85
  partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = (
@@ -82,3 +88,12 @@ class OutputDiskSpool(BaseModel):
82
88
  r"""JavaScript expression defining how files are partitioned and organized within the time-buckets. If blank, the event's __partition property is used and otherwise, events go directly into the time-bucket directory."""
83
89
 
84
90
  description: Optional[str] = None
91
+
92
+ @field_serializer("compress")
93
+ def serialize_compress(self, value):
94
+ if isinstance(value, str):
95
+ try:
96
+ return models.OutputDiskSpoolCompression(value)
97
+ except ValueError:
98
+ return value
99
+ return value