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
 
@@ -23,22 +27,27 @@ class OutputHumioHecExtraHTTPHeader(BaseModel):
23
27
  name: Optional[str] = None
24
28
 
25
29
 
26
- class OutputHumioHecFailedRequestLoggingMode(str, Enum):
30
+ class OutputHumioHecFailedRequestLoggingMode(str, Enum, metaclass=utils.OpenEnumMeta):
27
31
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
28
32
 
33
+ # Payload
29
34
  PAYLOAD = "payload"
35
+ # Payload + Headers
30
36
  PAYLOAD_AND_HEADERS = "payloadAndHeaders"
37
+ # None
31
38
  NONE = "none"
32
39
 
33
40
 
34
- class OutputHumioHecRequestFormat(str, Enum):
41
+ class OutputHumioHecRequestFormat(str, Enum, metaclass=utils.OpenEnumMeta):
35
42
  r"""When set to JSON, the event is automatically formatted with required fields before sending. When set to Raw, only the event's `_raw` value is sent."""
36
43
 
44
+ # JSON
37
45
  JSON = "JSON"
46
+ # Raw
38
47
  RAW = "raw"
39
48
 
40
49
 
41
- class OutputHumioHecAuthenticationMethod(str, Enum):
50
+ class OutputHumioHecAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
42
51
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
43
52
 
44
53
  MANUAL = "manual"
@@ -99,36 +108,46 @@ class OutputHumioHecTimeoutRetrySettings(BaseModel):
99
108
  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)."""
100
109
 
101
110
 
102
- class OutputHumioHecBackpressureBehavior(str, Enum):
111
+ class OutputHumioHecBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
103
112
  r"""How to handle events when all receivers are exerting backpressure"""
104
113
 
114
+ # Block
105
115
  BLOCK = "block"
116
+ # Drop
106
117
  DROP = "drop"
118
+ # Persistent Queue
107
119
  QUEUE = "queue"
108
120
 
109
121
 
110
- class OutputHumioHecCompression(str, Enum):
122
+ class OutputHumioHecMode(str, Enum, metaclass=utils.OpenEnumMeta):
123
+ 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."""
124
+
125
+ # Error
126
+ ERROR = "error"
127
+ # Backpressure
128
+ ALWAYS = "always"
129
+ # Always On
130
+ BACKPRESSURE = "backpressure"
131
+
132
+
133
+ class OutputHumioHecCompression(str, Enum, metaclass=utils.OpenEnumMeta):
111
134
  r"""Codec to use to compress the persisted data"""
112
135
 
136
+ # None
113
137
  NONE = "none"
138
+ # Gzip
114
139
  GZIP = "gzip"
115
140
 
116
141
 
117
- class OutputHumioHecQueueFullBehavior(str, Enum):
142
+ class OutputHumioHecQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
118
143
  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."""
119
144
 
145
+ # Block
120
146
  BLOCK = "block"
147
+ # Drop new data
121
148
  DROP = "drop"
122
149
 
123
150
 
124
- class OutputHumioHecMode(str, Enum):
125
- 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."""
126
-
127
- ERROR = "error"
128
- BACKPRESSURE = "backpressure"
129
- ALWAYS = "always"
130
-
131
-
132
151
  class OutputHumioHecPqControlsTypedDict(TypedDict):
133
152
  pass
134
153
 
@@ -138,9 +157,9 @@ class OutputHumioHecPqControls(BaseModel):
138
157
 
139
158
 
140
159
  class OutputHumioHecTypedDict(TypedDict):
160
+ type: OutputHumioHecType
141
161
  id: NotRequired[str]
142
162
  r"""Unique ID for this output"""
143
- type: NotRequired[OutputHumioHecType]
144
163
  pipeline: NotRequired[str]
145
164
  r"""Pipeline to process data before sending out to this output"""
146
165
  system_fields: NotRequired[List[str]]
@@ -194,6 +213,16 @@ class OutputHumioHecTypedDict(TypedDict):
194
213
  r"""CrowdStrike Falcon LogScale authentication token"""
195
214
  text_secret: NotRequired[str]
196
215
  r"""Select or create a stored text secret"""
216
+ pq_strict_ordering: NotRequired[bool]
217
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
218
+ pq_rate_per_sec: NotRequired[float]
219
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
220
+ pq_mode: NotRequired[OutputHumioHecMode]
221
+ 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."""
222
+ pq_max_buffer_size: NotRequired[float]
223
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
224
+ pq_max_backpressure_sec: NotRequired[float]
225
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
197
226
  pq_max_file_size: NotRequired[str]
198
227
  r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
199
228
  pq_max_size: NotRequired[str]
@@ -204,17 +233,15 @@ class OutputHumioHecTypedDict(TypedDict):
204
233
  r"""Codec to use to compress the persisted data"""
205
234
  pq_on_backpressure: NotRequired[OutputHumioHecQueueFullBehavior]
206
235
  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."""
207
- pq_mode: NotRequired[OutputHumioHecMode]
208
- 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."""
209
236
  pq_controls: NotRequired[OutputHumioHecPqControlsTypedDict]
210
237
 
211
238
 
212
239
  class OutputHumioHec(BaseModel):
240
+ type: OutputHumioHecType
241
+
213
242
  id: Optional[str] = None
214
243
  r"""Unique ID for this output"""
215
244
 
216
- type: Optional[OutputHumioHecType] = None
217
-
218
245
  pipeline: Optional[str] = None
219
246
  r"""Pipeline to process data before sending out to this output"""
220
247
 
@@ -276,7 +303,10 @@ class OutputHumioHec(BaseModel):
276
303
  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."""
277
304
 
278
305
  failed_request_logging_mode: Annotated[
279
- Optional[OutputHumioHecFailedRequestLoggingMode],
306
+ Annotated[
307
+ Optional[OutputHumioHecFailedRequestLoggingMode],
308
+ PlainValidator(validate_open_enum(False)),
309
+ ],
280
310
  pydantic.Field(alias="failedRequestLoggingMode"),
281
311
  ] = OutputHumioHecFailedRequestLoggingMode.NONE
282
312
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
@@ -287,12 +317,20 @@ class OutputHumioHec(BaseModel):
287
317
  r"""List of headers that are safe to log in plain text"""
288
318
 
289
319
  format_: Annotated[
290
- Optional[OutputHumioHecRequestFormat], pydantic.Field(alias="format")
320
+ Annotated[
321
+ Optional[OutputHumioHecRequestFormat],
322
+ PlainValidator(validate_open_enum(False)),
323
+ ],
324
+ pydantic.Field(alias="format"),
291
325
  ] = OutputHumioHecRequestFormat.JSON
292
326
  r"""When set to JSON, the event is automatically formatted with required fields before sending. When set to Raw, only the event's `_raw` value is sent."""
293
327
 
294
328
  auth_type: Annotated[
295
- Optional[OutputHumioHecAuthenticationMethod], pydantic.Field(alias="authType")
329
+ Annotated[
330
+ Optional[OutputHumioHecAuthenticationMethod],
331
+ PlainValidator(validate_open_enum(False)),
332
+ ],
333
+ pydantic.Field(alias="authType"),
296
334
  ] = OutputHumioHecAuthenticationMethod.MANUAL
297
335
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
298
336
 
@@ -309,11 +347,14 @@ class OutputHumioHec(BaseModel):
309
347
 
310
348
  response_honor_retry_after_header: Annotated[
311
349
  Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader")
312
- ] = False
350
+ ] = True
313
351
  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."""
314
352
 
315
353
  on_backpressure: Annotated[
316
- Optional[OutputHumioHecBackpressureBehavior],
354
+ Annotated[
355
+ Optional[OutputHumioHecBackpressureBehavior],
356
+ PlainValidator(validate_open_enum(False)),
357
+ ],
317
358
  pydantic.Field(alias="onBackpressure"),
318
359
  ] = OutputHumioHecBackpressureBehavior.BLOCK
319
360
  r"""How to handle events when all receivers are exerting backpressure"""
@@ -326,6 +367,34 @@ class OutputHumioHec(BaseModel):
326
367
  text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None
327
368
  r"""Select or create a stored text secret"""
328
369
 
370
+ pq_strict_ordering: Annotated[
371
+ Optional[bool], pydantic.Field(alias="pqStrictOrdering")
372
+ ] = True
373
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
374
+
375
+ pq_rate_per_sec: Annotated[
376
+ Optional[float], pydantic.Field(alias="pqRatePerSec")
377
+ ] = 0
378
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
379
+
380
+ pq_mode: Annotated[
381
+ Annotated[
382
+ Optional[OutputHumioHecMode], PlainValidator(validate_open_enum(False))
383
+ ],
384
+ pydantic.Field(alias="pqMode"),
385
+ ] = OutputHumioHecMode.ERROR
386
+ 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."""
387
+
388
+ pq_max_buffer_size: Annotated[
389
+ Optional[float], pydantic.Field(alias="pqMaxBufferSize")
390
+ ] = 42
391
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
392
+
393
+ pq_max_backpressure_sec: Annotated[
394
+ Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
395
+ ] = 30
396
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
397
+
329
398
  pq_max_file_size: Annotated[
330
399
  Optional[str], pydantic.Field(alias="pqMaxFileSize")
331
400
  ] = "1 MB"
@@ -340,21 +409,86 @@ class OutputHumioHec(BaseModel):
340
409
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
341
410
 
342
411
  pq_compress: Annotated[
343
- Optional[OutputHumioHecCompression], pydantic.Field(alias="pqCompress")
412
+ Annotated[
413
+ Optional[OutputHumioHecCompression],
414
+ PlainValidator(validate_open_enum(False)),
415
+ ],
416
+ pydantic.Field(alias="pqCompress"),
344
417
  ] = OutputHumioHecCompression.NONE
345
418
  r"""Codec to use to compress the persisted data"""
346
419
 
347
420
  pq_on_backpressure: Annotated[
348
- Optional[OutputHumioHecQueueFullBehavior],
421
+ Annotated[
422
+ Optional[OutputHumioHecQueueFullBehavior],
423
+ PlainValidator(validate_open_enum(False)),
424
+ ],
349
425
  pydantic.Field(alias="pqOnBackpressure"),
350
426
  ] = OutputHumioHecQueueFullBehavior.BLOCK
351
427
  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."""
352
428
 
353
- pq_mode: Annotated[Optional[OutputHumioHecMode], pydantic.Field(alias="pqMode")] = (
354
- OutputHumioHecMode.ERROR
355
- )
356
- 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."""
357
-
358
429
  pq_controls: Annotated[
359
430
  Optional[OutputHumioHecPqControls], pydantic.Field(alias="pqControls")
360
431
  ] = None
432
+
433
+ @field_serializer("failed_request_logging_mode")
434
+ def serialize_failed_request_logging_mode(self, value):
435
+ if isinstance(value, str):
436
+ try:
437
+ return models.OutputHumioHecFailedRequestLoggingMode(value)
438
+ except ValueError:
439
+ return value
440
+ return value
441
+
442
+ @field_serializer("format_")
443
+ def serialize_format_(self, value):
444
+ if isinstance(value, str):
445
+ try:
446
+ return models.OutputHumioHecRequestFormat(value)
447
+ except ValueError:
448
+ return value
449
+ return value
450
+
451
+ @field_serializer("auth_type")
452
+ def serialize_auth_type(self, value):
453
+ if isinstance(value, str):
454
+ try:
455
+ return models.OutputHumioHecAuthenticationMethod(value)
456
+ except ValueError:
457
+ return value
458
+ return value
459
+
460
+ @field_serializer("on_backpressure")
461
+ def serialize_on_backpressure(self, value):
462
+ if isinstance(value, str):
463
+ try:
464
+ return models.OutputHumioHecBackpressureBehavior(value)
465
+ except ValueError:
466
+ return value
467
+ return value
468
+
469
+ @field_serializer("pq_mode")
470
+ def serialize_pq_mode(self, value):
471
+ if isinstance(value, str):
472
+ try:
473
+ return models.OutputHumioHecMode(value)
474
+ except ValueError:
475
+ return value
476
+ return value
477
+
478
+ @field_serializer("pq_compress")
479
+ def serialize_pq_compress(self, value):
480
+ if isinstance(value, str):
481
+ try:
482
+ return models.OutputHumioHecCompression(value)
483
+ except ValueError:
484
+ return value
485
+ return value
486
+
487
+ @field_serializer("pq_on_backpressure")
488
+ def serialize_pq_on_backpressure(self, value):
489
+ if isinstance(value, str):
490
+ try:
491
+ return models.OutputHumioHecQueueFullBehavior(value)
492
+ except ValueError:
493
+ return value
494
+ return value
@@ -1,9 +1,13 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
+ from cribl_control_plane import models, utils
4
5
  from cribl_control_plane.types import BaseModel
6
+ from cribl_control_plane.utils import validate_open_enum
5
7
  from enum import Enum
6
8
  import pydantic
9
+ from pydantic import field_serializer
10
+ from pydantic.functional_validators import PlainValidator
7
11
  from typing import List, Optional
8
12
  from typing_extensions import Annotated, NotRequired, TypedDict
9
13
 
@@ -12,14 +16,20 @@ class OutputInfluxdbType(str, Enum):
12
16
  INFLUXDB = "influxdb"
13
17
 
14
18
 
15
- class TimestampPrecision(str, Enum):
19
+ class TimestampPrecision(str, Enum, metaclass=utils.OpenEnumMeta):
16
20
  r"""Sets the precision for the supplied Unix time values. Defaults to milliseconds."""
17
21
 
22
+ # Nanoseconds
18
23
  NS = "ns"
24
+ # Microseconds
19
25
  U = "u"
26
+ # Milliseconds
20
27
  MS = "ms"
28
+ # Seconds
21
29
  S = "s"
30
+ # Minutes
22
31
  M = "m"
32
+ # Hours
23
33
  H = "h"
24
34
 
25
35
 
@@ -34,11 +44,14 @@ class OutputInfluxdbExtraHTTPHeader(BaseModel):
34
44
  name: Optional[str] = None
35
45
 
36
46
 
37
- class OutputInfluxdbFailedRequestLoggingMode(str, Enum):
47
+ class OutputInfluxdbFailedRequestLoggingMode(str, Enum, metaclass=utils.OpenEnumMeta):
38
48
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
39
49
 
50
+ # Payload
40
51
  PAYLOAD = "payload"
52
+ # Payload + Headers
41
53
  PAYLOAD_AND_HEADERS = "payloadAndHeaders"
54
+ # None
42
55
  NONE = "none"
43
56
 
44
57
 
@@ -96,15 +109,18 @@ class OutputInfluxdbTimeoutRetrySettings(BaseModel):
96
109
  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)."""
97
110
 
98
111
 
99
- class OutputInfluxdbBackpressureBehavior(str, Enum):
112
+ class OutputInfluxdbBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
100
113
  r"""How to handle events when all receivers are exerting backpressure"""
101
114
 
115
+ # Block
102
116
  BLOCK = "block"
117
+ # Drop
103
118
  DROP = "drop"
119
+ # Persistent Queue
104
120
  QUEUE = "queue"
105
121
 
106
122
 
107
- class OutputInfluxdbAuthenticationType(str, Enum):
123
+ class OutputInfluxdbAuthenticationType(str, Enum, metaclass=utils.OpenEnumMeta):
108
124
  r"""InfluxDB authentication type"""
109
125
 
110
126
  NONE = "none"
@@ -115,28 +131,35 @@ class OutputInfluxdbAuthenticationType(str, Enum):
115
131
  OAUTH = "oauth"
116
132
 
117
133
 
118
- class OutputInfluxdbCompression(str, Enum):
134
+ class OutputInfluxdbMode(str, Enum, metaclass=utils.OpenEnumMeta):
135
+ 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."""
136
+
137
+ # Error
138
+ ERROR = "error"
139
+ # Backpressure
140
+ ALWAYS = "always"
141
+ # Always On
142
+ BACKPRESSURE = "backpressure"
143
+
144
+
145
+ class OutputInfluxdbCompression(str, Enum, metaclass=utils.OpenEnumMeta):
119
146
  r"""Codec to use to compress the persisted data"""
120
147
 
148
+ # None
121
149
  NONE = "none"
150
+ # Gzip
122
151
  GZIP = "gzip"
123
152
 
124
153
 
125
- class OutputInfluxdbQueueFullBehavior(str, Enum):
154
+ class OutputInfluxdbQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
126
155
  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."""
127
156
 
157
+ # Block
128
158
  BLOCK = "block"
159
+ # Drop new data
129
160
  DROP = "drop"
130
161
 
131
162
 
132
- class OutputInfluxdbMode(str, Enum):
133
- 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."""
134
-
135
- ERROR = "error"
136
- BACKPRESSURE = "backpressure"
137
- ALWAYS = "always"
138
-
139
-
140
163
  class OutputInfluxdbPqControlsTypedDict(TypedDict):
141
164
  pass
142
165
 
@@ -240,6 +263,16 @@ class OutputInfluxdbTypedDict(TypedDict):
240
263
  r"""Bucket to write to."""
241
264
  org: NotRequired[str]
242
265
  r"""Organization ID for this bucket."""
266
+ pq_strict_ordering: NotRequired[bool]
267
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
268
+ pq_rate_per_sec: NotRequired[float]
269
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
270
+ pq_mode: NotRequired[OutputInfluxdbMode]
271
+ 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."""
272
+ pq_max_buffer_size: NotRequired[float]
273
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
274
+ pq_max_backpressure_sec: NotRequired[float]
275
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
243
276
  pq_max_file_size: NotRequired[str]
244
277
  r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
245
278
  pq_max_size: NotRequired[str]
@@ -250,8 +283,6 @@ class OutputInfluxdbTypedDict(TypedDict):
250
283
  r"""Codec to use to compress the persisted data"""
251
284
  pq_on_backpressure: NotRequired[OutputInfluxdbQueueFullBehavior]
252
285
  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."""
253
- pq_mode: NotRequired[OutputInfluxdbMode]
254
- 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."""
255
286
  pq_controls: NotRequired[OutputInfluxdbPqControlsTypedDict]
256
287
  username: NotRequired[str]
257
288
  password: NotRequired[str]
@@ -306,7 +337,10 @@ class OutputInfluxdb(BaseModel):
306
337
  r"""The v2 API can be enabled with InfluxDB versions 1.8 and later."""
307
338
 
308
339
  timestamp_precision: Annotated[
309
- Optional[TimestampPrecision], pydantic.Field(alias="timestampPrecision")
340
+ Annotated[
341
+ Optional[TimestampPrecision], PlainValidator(validate_open_enum(False))
342
+ ],
343
+ pydantic.Field(alias="timestampPrecision"),
310
344
  ] = TimestampPrecision.MS
311
345
  r"""Sets the precision for the supplied Unix time values. Defaults to milliseconds."""
312
346
 
@@ -364,7 +398,10 @@ class OutputInfluxdb(BaseModel):
364
398
  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."""
365
399
 
366
400
  failed_request_logging_mode: Annotated[
367
- Optional[OutputInfluxdbFailedRequestLoggingMode],
401
+ Annotated[
402
+ Optional[OutputInfluxdbFailedRequestLoggingMode],
403
+ PlainValidator(validate_open_enum(False)),
404
+ ],
368
405
  pydantic.Field(alias="failedRequestLoggingMode"),
369
406
  ] = OutputInfluxdbFailedRequestLoggingMode.NONE
370
407
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
@@ -387,17 +424,24 @@ class OutputInfluxdb(BaseModel):
387
424
 
388
425
  response_honor_retry_after_header: Annotated[
389
426
  Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader")
390
- ] = False
427
+ ] = True
391
428
  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."""
392
429
 
393
430
  on_backpressure: Annotated[
394
- Optional[OutputInfluxdbBackpressureBehavior],
431
+ Annotated[
432
+ Optional[OutputInfluxdbBackpressureBehavior],
433
+ PlainValidator(validate_open_enum(False)),
434
+ ],
395
435
  pydantic.Field(alias="onBackpressure"),
396
436
  ] = OutputInfluxdbBackpressureBehavior.BLOCK
397
437
  r"""How to handle events when all receivers are exerting backpressure"""
398
438
 
399
439
  auth_type: Annotated[
400
- Optional[OutputInfluxdbAuthenticationType], pydantic.Field(alias="authType")
440
+ Annotated[
441
+ Optional[OutputInfluxdbAuthenticationType],
442
+ PlainValidator(validate_open_enum(False)),
443
+ ],
444
+ pydantic.Field(alias="authType"),
401
445
  ] = OutputInfluxdbAuthenticationType.NONE
402
446
  r"""InfluxDB authentication type"""
403
447
 
@@ -412,6 +456,34 @@ class OutputInfluxdb(BaseModel):
412
456
  org: Optional[str] = None
413
457
  r"""Organization ID for this bucket."""
414
458
 
459
+ pq_strict_ordering: Annotated[
460
+ Optional[bool], pydantic.Field(alias="pqStrictOrdering")
461
+ ] = True
462
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
463
+
464
+ pq_rate_per_sec: Annotated[
465
+ Optional[float], pydantic.Field(alias="pqRatePerSec")
466
+ ] = 0
467
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
468
+
469
+ pq_mode: Annotated[
470
+ Annotated[
471
+ Optional[OutputInfluxdbMode], PlainValidator(validate_open_enum(False))
472
+ ],
473
+ pydantic.Field(alias="pqMode"),
474
+ ] = OutputInfluxdbMode.ERROR
475
+ 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."""
476
+
477
+ pq_max_buffer_size: Annotated[
478
+ Optional[float], pydantic.Field(alias="pqMaxBufferSize")
479
+ ] = 42
480
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
481
+
482
+ pq_max_backpressure_sec: Annotated[
483
+ Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
484
+ ] = 30
485
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
486
+
415
487
  pq_max_file_size: Annotated[
416
488
  Optional[str], pydantic.Field(alias="pqMaxFileSize")
417
489
  ] = "1 MB"
@@ -426,21 +498,23 @@ class OutputInfluxdb(BaseModel):
426
498
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
427
499
 
428
500
  pq_compress: Annotated[
429
- Optional[OutputInfluxdbCompression], pydantic.Field(alias="pqCompress")
501
+ Annotated[
502
+ Optional[OutputInfluxdbCompression],
503
+ PlainValidator(validate_open_enum(False)),
504
+ ],
505
+ pydantic.Field(alias="pqCompress"),
430
506
  ] = OutputInfluxdbCompression.NONE
431
507
  r"""Codec to use to compress the persisted data"""
432
508
 
433
509
  pq_on_backpressure: Annotated[
434
- Optional[OutputInfluxdbQueueFullBehavior],
510
+ Annotated[
511
+ Optional[OutputInfluxdbQueueFullBehavior],
512
+ PlainValidator(validate_open_enum(False)),
513
+ ],
435
514
  pydantic.Field(alias="pqOnBackpressure"),
436
515
  ] = OutputInfluxdbQueueFullBehavior.BLOCK
437
516
  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."""
438
517
 
439
- pq_mode: Annotated[Optional[OutputInfluxdbMode], pydantic.Field(alias="pqMode")] = (
440
- OutputInfluxdbMode.ERROR
441
- )
442
- 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."""
443
-
444
518
  pq_controls: Annotated[
445
519
  Optional[OutputInfluxdbPqControls], pydantic.Field(alias="pqControls")
446
520
  ] = None
@@ -495,3 +569,66 @@ class OutputInfluxdb(BaseModel):
495
569
  Optional[List[OutputInfluxdbOauthHeader]], pydantic.Field(alias="oauthHeaders")
496
570
  ] = None
497
571
  r"""Additional headers to send in the OAuth login request. @{product} will automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request."""
572
+
573
+ @field_serializer("timestamp_precision")
574
+ def serialize_timestamp_precision(self, value):
575
+ if isinstance(value, str):
576
+ try:
577
+ return models.TimestampPrecision(value)
578
+ except ValueError:
579
+ return value
580
+ return value
581
+
582
+ @field_serializer("failed_request_logging_mode")
583
+ def serialize_failed_request_logging_mode(self, value):
584
+ if isinstance(value, str):
585
+ try:
586
+ return models.OutputInfluxdbFailedRequestLoggingMode(value)
587
+ except ValueError:
588
+ return value
589
+ return value
590
+
591
+ @field_serializer("on_backpressure")
592
+ def serialize_on_backpressure(self, value):
593
+ if isinstance(value, str):
594
+ try:
595
+ return models.OutputInfluxdbBackpressureBehavior(value)
596
+ except ValueError:
597
+ return value
598
+ return value
599
+
600
+ @field_serializer("auth_type")
601
+ def serialize_auth_type(self, value):
602
+ if isinstance(value, str):
603
+ try:
604
+ return models.OutputInfluxdbAuthenticationType(value)
605
+ except ValueError:
606
+ return value
607
+ return value
608
+
609
+ @field_serializer("pq_mode")
610
+ def serialize_pq_mode(self, value):
611
+ if isinstance(value, str):
612
+ try:
613
+ return models.OutputInfluxdbMode(value)
614
+ except ValueError:
615
+ return value
616
+ return value
617
+
618
+ @field_serializer("pq_compress")
619
+ def serialize_pq_compress(self, value):
620
+ if isinstance(value, str):
621
+ try:
622
+ return models.OutputInfluxdbCompression(value)
623
+ except ValueError:
624
+ return value
625
+ return value
626
+
627
+ @field_serializer("pq_on_backpressure")
628
+ def serialize_pq_on_backpressure(self, value):
629
+ if isinstance(value, str):
630
+ try:
631
+ return models.OutputInfluxdbQueueFullBehavior(value)
632
+ except ValueError:
633
+ return value
634
+ return value