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, Union
8
12
  from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
9
13
 
@@ -12,10 +16,12 @@ class OutputGrafanaCloudType2(str, Enum):
12
16
  GRAFANA_CLOUD = "grafana_cloud"
13
17
 
14
18
 
15
- class OutputGrafanaCloudMessageFormat2(str, Enum):
19
+ class OutputGrafanaCloudMessageFormat2(str, Enum, metaclass=utils.OpenEnumMeta):
16
20
  r"""Format to use when sending logs to Loki (Protobuf or JSON)"""
17
21
 
22
+ # Protobuf
18
23
  PROTOBUF = "protobuf"
24
+ # JSON
19
25
  JSON = "json"
20
26
 
21
27
 
@@ -30,11 +36,18 @@ class OutputGrafanaCloudLabel2(BaseModel):
30
36
  name: Optional[str] = ""
31
37
 
32
38
 
33
- class OutputGrafanaCloudPrometheusAuthAuthenticationType2(str, Enum):
39
+ class OutputGrafanaCloudPrometheusAuthAuthenticationType2(
40
+ str, Enum, metaclass=utils.OpenEnumMeta
41
+ ):
42
+ # None
34
43
  NONE = "none"
44
+ # Auth token
35
45
  TOKEN = "token"
46
+ # Auth token (text secret)
36
47
  TEXT_SECRET = "textSecret"
48
+ # Basic
37
49
  BASIC = "basic"
50
+ # Basic (credentials secret)
38
51
  CREDENTIALS_SECRET = "credentialsSecret"
39
52
 
40
53
 
@@ -54,7 +67,10 @@ class OutputGrafanaCloudPrometheusAuth2TypedDict(TypedDict):
54
67
 
55
68
  class OutputGrafanaCloudPrometheusAuth2(BaseModel):
56
69
  auth_type: Annotated[
57
- Optional[OutputGrafanaCloudPrometheusAuthAuthenticationType2],
70
+ Annotated[
71
+ Optional[OutputGrafanaCloudPrometheusAuthAuthenticationType2],
72
+ PlainValidator(validate_open_enum(False)),
73
+ ],
58
74
  pydantic.Field(alias="authType"),
59
75
  ] = OutputGrafanaCloudPrometheusAuthAuthenticationType2.BASIC
60
76
 
@@ -75,12 +91,28 @@ class OutputGrafanaCloudPrometheusAuth2(BaseModel):
75
91
  ] = None
76
92
  r"""Select or create a secret that references your credentials"""
77
93
 
94
+ @field_serializer("auth_type")
95
+ def serialize_auth_type(self, value):
96
+ if isinstance(value, str):
97
+ try:
98
+ return models.OutputGrafanaCloudPrometheusAuthAuthenticationType2(value)
99
+ except ValueError:
100
+ return value
101
+ return value
78
102
 
79
- class OutputGrafanaCloudLokiAuthAuthenticationType2(str, Enum):
103
+
104
+ class OutputGrafanaCloudLokiAuthAuthenticationType2(
105
+ str, Enum, metaclass=utils.OpenEnumMeta
106
+ ):
107
+ # None
80
108
  NONE = "none"
109
+ # Auth token
81
110
  TOKEN = "token"
111
+ # Auth token (text secret)
82
112
  TEXT_SECRET = "textSecret"
113
+ # Basic
83
114
  BASIC = "basic"
115
+ # Basic (credentials secret)
84
116
  CREDENTIALS_SECRET = "credentialsSecret"
85
117
 
86
118
 
@@ -100,7 +132,10 @@ class OutputGrafanaCloudLokiAuth2TypedDict(TypedDict):
100
132
 
101
133
  class OutputGrafanaCloudLokiAuth2(BaseModel):
102
134
  auth_type: Annotated[
103
- Optional[OutputGrafanaCloudLokiAuthAuthenticationType2],
135
+ Annotated[
136
+ Optional[OutputGrafanaCloudLokiAuthAuthenticationType2],
137
+ PlainValidator(validate_open_enum(False)),
138
+ ],
104
139
  pydantic.Field(alias="authType"),
105
140
  ] = OutputGrafanaCloudLokiAuthAuthenticationType2.BASIC
106
141
 
@@ -121,6 +156,15 @@ class OutputGrafanaCloudLokiAuth2(BaseModel):
121
156
  ] = None
122
157
  r"""Select or create a secret that references your credentials"""
123
158
 
159
+ @field_serializer("auth_type")
160
+ def serialize_auth_type(self, value):
161
+ if isinstance(value, str):
162
+ try:
163
+ return models.OutputGrafanaCloudLokiAuthAuthenticationType2(value)
164
+ except ValueError:
165
+ return value
166
+ return value
167
+
124
168
 
125
169
  class OutputGrafanaCloudExtraHTTPHeader2TypedDict(TypedDict):
126
170
  value: str
@@ -133,11 +177,16 @@ class OutputGrafanaCloudExtraHTTPHeader2(BaseModel):
133
177
  name: Optional[str] = None
134
178
 
135
179
 
136
- class OutputGrafanaCloudFailedRequestLoggingMode2(str, Enum):
180
+ class OutputGrafanaCloudFailedRequestLoggingMode2(
181
+ str, Enum, metaclass=utils.OpenEnumMeta
182
+ ):
137
183
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
138
184
 
185
+ # Payload
139
186
  PAYLOAD = "payload"
187
+ # Payload + Headers
140
188
  PAYLOAD_AND_HEADERS = "payloadAndHeaders"
189
+ # None
141
190
  NONE = "none"
142
191
 
143
192
 
@@ -195,36 +244,46 @@ class OutputGrafanaCloudTimeoutRetrySettings2(BaseModel):
195
244
  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)."""
196
245
 
197
246
 
198
- class OutputGrafanaCloudBackpressureBehavior2(str, Enum):
247
+ class OutputGrafanaCloudBackpressureBehavior2(str, Enum, metaclass=utils.OpenEnumMeta):
199
248
  r"""How to handle events when all receivers are exerting backpressure"""
200
249
 
250
+ # Block
201
251
  BLOCK = "block"
252
+ # Drop
202
253
  DROP = "drop"
254
+ # Persistent Queue
203
255
  QUEUE = "queue"
204
256
 
205
257
 
206
- class OutputGrafanaCloudCompression2(str, Enum):
258
+ class OutputGrafanaCloudMode2(str, Enum, metaclass=utils.OpenEnumMeta):
259
+ 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."""
260
+
261
+ # Error
262
+ ERROR = "error"
263
+ # Backpressure
264
+ ALWAYS = "always"
265
+ # Always On
266
+ BACKPRESSURE = "backpressure"
267
+
268
+
269
+ class OutputGrafanaCloudCompression2(str, Enum, metaclass=utils.OpenEnumMeta):
207
270
  r"""Codec to use to compress the persisted data"""
208
271
 
272
+ # None
209
273
  NONE = "none"
274
+ # Gzip
210
275
  GZIP = "gzip"
211
276
 
212
277
 
213
- class OutputGrafanaCloudQueueFullBehavior2(str, Enum):
278
+ class OutputGrafanaCloudQueueFullBehavior2(str, Enum, metaclass=utils.OpenEnumMeta):
214
279
  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."""
215
280
 
281
+ # Block
216
282
  BLOCK = "block"
283
+ # Drop new data
217
284
  DROP = "drop"
218
285
 
219
286
 
220
- class OutputGrafanaCloudMode2(str, Enum):
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
-
223
- ERROR = "error"
224
- BACKPRESSURE = "backpressure"
225
- ALWAYS = "always"
226
-
227
-
228
287
  class OutputGrafanaCloudPqControls2TypedDict(TypedDict):
229
288
  pass
230
289
 
@@ -234,11 +293,11 @@ class OutputGrafanaCloudPqControls2(BaseModel):
234
293
 
235
294
 
236
295
  class OutputGrafanaCloudGrafanaCloud2TypedDict(TypedDict):
237
- id: str
238
- r"""Unique ID for this output"""
239
296
  type: OutputGrafanaCloudType2
240
297
  prometheus_url: str
241
298
  r"""The remote_write endpoint to send Prometheus metrics to, such as https://prometheus-blocks-prod-us-central1.grafana.net/api/prom/push"""
299
+ id: NotRequired[str]
300
+ r"""Unique ID for this output"""
242
301
  pipeline: NotRequired[str]
243
302
  r"""Pipeline to process data before sending out to this output"""
244
303
  system_fields: NotRequired[List[str]]
@@ -298,6 +357,16 @@ class OutputGrafanaCloudGrafanaCloud2TypedDict(TypedDict):
298
357
  description: NotRequired[str]
299
358
  compress: NotRequired[bool]
300
359
  r"""Compress the payload body before sending. Applies only to JSON payloads; the Protobuf variant for both Prometheus and Loki are snappy-compressed by default."""
360
+ pq_strict_ordering: NotRequired[bool]
361
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
362
+ pq_rate_per_sec: NotRequired[float]
363
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
364
+ pq_mode: NotRequired[OutputGrafanaCloudMode2]
365
+ 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."""
366
+ pq_max_buffer_size: NotRequired[float]
367
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
368
+ pq_max_backpressure_sec: NotRequired[float]
369
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
301
370
  pq_max_file_size: NotRequired[str]
302
371
  r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
303
372
  pq_max_size: NotRequired[str]
@@ -308,20 +377,18 @@ class OutputGrafanaCloudGrafanaCloud2TypedDict(TypedDict):
308
377
  r"""Codec to use to compress the persisted data"""
309
378
  pq_on_backpressure: NotRequired[OutputGrafanaCloudQueueFullBehavior2]
310
379
  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."""
311
- pq_mode: NotRequired[OutputGrafanaCloudMode2]
312
- 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."""
313
380
  pq_controls: NotRequired[OutputGrafanaCloudPqControls2TypedDict]
314
381
 
315
382
 
316
383
  class OutputGrafanaCloudGrafanaCloud2(BaseModel):
317
- id: str
318
- r"""Unique ID for this output"""
319
-
320
384
  type: OutputGrafanaCloudType2
321
385
 
322
386
  prometheus_url: Annotated[str, pydantic.Field(alias="prometheusUrl")]
323
387
  r"""The remote_write endpoint to send Prometheus metrics to, such as https://prometheus-blocks-prod-us-central1.grafana.net/api/prom/push"""
324
388
 
389
+ id: Optional[str] = None
390
+ r"""Unique ID for this output"""
391
+
325
392
  pipeline: Optional[str] = None
326
393
  r"""Pipeline to process data before sending out to this output"""
327
394
 
@@ -343,7 +410,10 @@ class OutputGrafanaCloudGrafanaCloud2(BaseModel):
343
410
  r"""Name of the event field that contains the message to send. If not specified, Stream sends a JSON representation of the whole event."""
344
411
 
345
412
  message_format: Annotated[
346
- Optional[OutputGrafanaCloudMessageFormat2],
413
+ Annotated[
414
+ Optional[OutputGrafanaCloudMessageFormat2],
415
+ PlainValidator(validate_open_enum(False)),
416
+ ],
347
417
  pydantic.Field(alias="messageFormat"),
348
418
  ] = OutputGrafanaCloudMessageFormat2.PROTOBUF
349
419
  r"""Format to use when sending logs to Loki (Protobuf or JSON)"""
@@ -406,7 +476,10 @@ class OutputGrafanaCloudGrafanaCloud2(BaseModel):
406
476
  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."""
407
477
 
408
478
  failed_request_logging_mode: Annotated[
409
- Optional[OutputGrafanaCloudFailedRequestLoggingMode2],
479
+ Annotated[
480
+ Optional[OutputGrafanaCloudFailedRequestLoggingMode2],
481
+ PlainValidator(validate_open_enum(False)),
482
+ ],
410
483
  pydantic.Field(alias="failedRequestLoggingMode"),
411
484
  ] = OutputGrafanaCloudFailedRequestLoggingMode2.NONE
412
485
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
@@ -429,11 +502,14 @@ class OutputGrafanaCloudGrafanaCloud2(BaseModel):
429
502
 
430
503
  response_honor_retry_after_header: Annotated[
431
504
  Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader")
432
- ] = False
505
+ ] = True
433
506
  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."""
434
507
 
435
508
  on_backpressure: Annotated[
436
- Optional[OutputGrafanaCloudBackpressureBehavior2],
509
+ Annotated[
510
+ Optional[OutputGrafanaCloudBackpressureBehavior2],
511
+ PlainValidator(validate_open_enum(False)),
512
+ ],
437
513
  pydantic.Field(alias="onBackpressure"),
438
514
  ] = OutputGrafanaCloudBackpressureBehavior2.BLOCK
439
515
  r"""How to handle events when all receivers are exerting backpressure"""
@@ -443,6 +519,34 @@ class OutputGrafanaCloudGrafanaCloud2(BaseModel):
443
519
  compress: Optional[bool] = True
444
520
  r"""Compress the payload body before sending. Applies only to JSON payloads; the Protobuf variant for both Prometheus and Loki are snappy-compressed by default."""
445
521
 
522
+ pq_strict_ordering: Annotated[
523
+ Optional[bool], pydantic.Field(alias="pqStrictOrdering")
524
+ ] = True
525
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
526
+
527
+ pq_rate_per_sec: Annotated[
528
+ Optional[float], pydantic.Field(alias="pqRatePerSec")
529
+ ] = 0
530
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
531
+
532
+ pq_mode: Annotated[
533
+ Annotated[
534
+ Optional[OutputGrafanaCloudMode2], PlainValidator(validate_open_enum(False))
535
+ ],
536
+ pydantic.Field(alias="pqMode"),
537
+ ] = OutputGrafanaCloudMode2.ERROR
538
+ 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."""
539
+
540
+ pq_max_buffer_size: Annotated[
541
+ Optional[float], pydantic.Field(alias="pqMaxBufferSize")
542
+ ] = 42
543
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
544
+
545
+ pq_max_backpressure_sec: Annotated[
546
+ Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
547
+ ] = 30
548
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
549
+
446
550
  pq_max_file_size: Annotated[
447
551
  Optional[str], pydantic.Field(alias="pqMaxFileSize")
448
552
  ] = "1 MB"
@@ -457,34 +561,92 @@ class OutputGrafanaCloudGrafanaCloud2(BaseModel):
457
561
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
458
562
 
459
563
  pq_compress: Annotated[
460
- Optional[OutputGrafanaCloudCompression2], pydantic.Field(alias="pqCompress")
564
+ Annotated[
565
+ Optional[OutputGrafanaCloudCompression2],
566
+ PlainValidator(validate_open_enum(False)),
567
+ ],
568
+ pydantic.Field(alias="pqCompress"),
461
569
  ] = OutputGrafanaCloudCompression2.NONE
462
570
  r"""Codec to use to compress the persisted data"""
463
571
 
464
572
  pq_on_backpressure: Annotated[
465
- Optional[OutputGrafanaCloudQueueFullBehavior2],
573
+ Annotated[
574
+ Optional[OutputGrafanaCloudQueueFullBehavior2],
575
+ PlainValidator(validate_open_enum(False)),
576
+ ],
466
577
  pydantic.Field(alias="pqOnBackpressure"),
467
578
  ] = OutputGrafanaCloudQueueFullBehavior2.BLOCK
468
579
  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."""
469
580
 
470
- pq_mode: Annotated[
471
- Optional[OutputGrafanaCloudMode2], pydantic.Field(alias="pqMode")
472
- ] = OutputGrafanaCloudMode2.ERROR
473
- 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."""
474
-
475
581
  pq_controls: Annotated[
476
582
  Optional[OutputGrafanaCloudPqControls2], pydantic.Field(alias="pqControls")
477
583
  ] = None
478
584
 
585
+ @field_serializer("message_format")
586
+ def serialize_message_format(self, value):
587
+ if isinstance(value, str):
588
+ try:
589
+ return models.OutputGrafanaCloudMessageFormat2(value)
590
+ except ValueError:
591
+ return value
592
+ return value
593
+
594
+ @field_serializer("failed_request_logging_mode")
595
+ def serialize_failed_request_logging_mode(self, value):
596
+ if isinstance(value, str):
597
+ try:
598
+ return models.OutputGrafanaCloudFailedRequestLoggingMode2(value)
599
+ except ValueError:
600
+ return value
601
+ return value
602
+
603
+ @field_serializer("on_backpressure")
604
+ def serialize_on_backpressure(self, value):
605
+ if isinstance(value, str):
606
+ try:
607
+ return models.OutputGrafanaCloudBackpressureBehavior2(value)
608
+ except ValueError:
609
+ return value
610
+ return value
611
+
612
+ @field_serializer("pq_mode")
613
+ def serialize_pq_mode(self, value):
614
+ if isinstance(value, str):
615
+ try:
616
+ return models.OutputGrafanaCloudMode2(value)
617
+ except ValueError:
618
+ return value
619
+ return value
620
+
621
+ @field_serializer("pq_compress")
622
+ def serialize_pq_compress(self, value):
623
+ if isinstance(value, str):
624
+ try:
625
+ return models.OutputGrafanaCloudCompression2(value)
626
+ except ValueError:
627
+ return value
628
+ return value
629
+
630
+ @field_serializer("pq_on_backpressure")
631
+ def serialize_pq_on_backpressure(self, value):
632
+ if isinstance(value, str):
633
+ try:
634
+ return models.OutputGrafanaCloudQueueFullBehavior2(value)
635
+ except ValueError:
636
+ return value
637
+ return value
638
+
479
639
 
480
640
  class OutputGrafanaCloudType1(str, Enum):
481
641
  GRAFANA_CLOUD = "grafana_cloud"
482
642
 
483
643
 
484
- class OutputGrafanaCloudMessageFormat1(str, Enum):
644
+ class OutputGrafanaCloudMessageFormat1(str, Enum, metaclass=utils.OpenEnumMeta):
485
645
  r"""Format to use when sending logs to Loki (Protobuf or JSON)"""
486
646
 
647
+ # Protobuf
487
648
  PROTOBUF = "protobuf"
649
+ # JSON
488
650
  JSON = "json"
489
651
 
490
652
 
@@ -499,11 +661,18 @@ class OutputGrafanaCloudLabel1(BaseModel):
499
661
  name: Optional[str] = ""
500
662
 
501
663
 
502
- class OutputGrafanaCloudPrometheusAuthAuthenticationType1(str, Enum):
664
+ class OutputGrafanaCloudPrometheusAuthAuthenticationType1(
665
+ str, Enum, metaclass=utils.OpenEnumMeta
666
+ ):
667
+ # None
503
668
  NONE = "none"
669
+ # Auth token
504
670
  TOKEN = "token"
671
+ # Auth token (text secret)
505
672
  TEXT_SECRET = "textSecret"
673
+ # Basic
506
674
  BASIC = "basic"
675
+ # Basic (credentials secret)
507
676
  CREDENTIALS_SECRET = "credentialsSecret"
508
677
 
509
678
 
@@ -523,7 +692,10 @@ class OutputGrafanaCloudPrometheusAuth1TypedDict(TypedDict):
523
692
 
524
693
  class OutputGrafanaCloudPrometheusAuth1(BaseModel):
525
694
  auth_type: Annotated[
526
- Optional[OutputGrafanaCloudPrometheusAuthAuthenticationType1],
695
+ Annotated[
696
+ Optional[OutputGrafanaCloudPrometheusAuthAuthenticationType1],
697
+ PlainValidator(validate_open_enum(False)),
698
+ ],
527
699
  pydantic.Field(alias="authType"),
528
700
  ] = OutputGrafanaCloudPrometheusAuthAuthenticationType1.BASIC
529
701
 
@@ -544,12 +716,28 @@ class OutputGrafanaCloudPrometheusAuth1(BaseModel):
544
716
  ] = None
545
717
  r"""Select or create a secret that references your credentials"""
546
718
 
719
+ @field_serializer("auth_type")
720
+ def serialize_auth_type(self, value):
721
+ if isinstance(value, str):
722
+ try:
723
+ return models.OutputGrafanaCloudPrometheusAuthAuthenticationType1(value)
724
+ except ValueError:
725
+ return value
726
+ return value
547
727
 
548
- class OutputGrafanaCloudLokiAuthAuthenticationType1(str, Enum):
728
+
729
+ class OutputGrafanaCloudLokiAuthAuthenticationType1(
730
+ str, Enum, metaclass=utils.OpenEnumMeta
731
+ ):
732
+ # None
549
733
  NONE = "none"
734
+ # Auth token
550
735
  TOKEN = "token"
736
+ # Auth token (text secret)
551
737
  TEXT_SECRET = "textSecret"
738
+ # Basic
552
739
  BASIC = "basic"
740
+ # Basic (credentials secret)
553
741
  CREDENTIALS_SECRET = "credentialsSecret"
554
742
 
555
743
 
@@ -569,7 +757,10 @@ class OutputGrafanaCloudLokiAuth1TypedDict(TypedDict):
569
757
 
570
758
  class OutputGrafanaCloudLokiAuth1(BaseModel):
571
759
  auth_type: Annotated[
572
- Optional[OutputGrafanaCloudLokiAuthAuthenticationType1],
760
+ Annotated[
761
+ Optional[OutputGrafanaCloudLokiAuthAuthenticationType1],
762
+ PlainValidator(validate_open_enum(False)),
763
+ ],
573
764
  pydantic.Field(alias="authType"),
574
765
  ] = OutputGrafanaCloudLokiAuthAuthenticationType1.BASIC
575
766
 
@@ -590,6 +781,15 @@ class OutputGrafanaCloudLokiAuth1(BaseModel):
590
781
  ] = None
591
782
  r"""Select or create a secret that references your credentials"""
592
783
 
784
+ @field_serializer("auth_type")
785
+ def serialize_auth_type(self, value):
786
+ if isinstance(value, str):
787
+ try:
788
+ return models.OutputGrafanaCloudLokiAuthAuthenticationType1(value)
789
+ except ValueError:
790
+ return value
791
+ return value
792
+
593
793
 
594
794
  class OutputGrafanaCloudExtraHTTPHeader1TypedDict(TypedDict):
595
795
  value: str
@@ -602,11 +802,16 @@ class OutputGrafanaCloudExtraHTTPHeader1(BaseModel):
602
802
  name: Optional[str] = None
603
803
 
604
804
 
605
- class OutputGrafanaCloudFailedRequestLoggingMode1(str, Enum):
805
+ class OutputGrafanaCloudFailedRequestLoggingMode1(
806
+ str, Enum, metaclass=utils.OpenEnumMeta
807
+ ):
606
808
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
607
809
 
810
+ # Payload
608
811
  PAYLOAD = "payload"
812
+ # Payload + Headers
609
813
  PAYLOAD_AND_HEADERS = "payloadAndHeaders"
814
+ # None
610
815
  NONE = "none"
611
816
 
612
817
 
@@ -664,36 +869,46 @@ class OutputGrafanaCloudTimeoutRetrySettings1(BaseModel):
664
869
  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)."""
665
870
 
666
871
 
667
- class OutputGrafanaCloudBackpressureBehavior1(str, Enum):
872
+ class OutputGrafanaCloudBackpressureBehavior1(str, Enum, metaclass=utils.OpenEnumMeta):
668
873
  r"""How to handle events when all receivers are exerting backpressure"""
669
874
 
875
+ # Block
670
876
  BLOCK = "block"
877
+ # Drop
671
878
  DROP = "drop"
879
+ # Persistent Queue
672
880
  QUEUE = "queue"
673
881
 
674
882
 
675
- class OutputGrafanaCloudCompression1(str, Enum):
883
+ class OutputGrafanaCloudMode1(str, Enum, metaclass=utils.OpenEnumMeta):
884
+ 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."""
885
+
886
+ # Error
887
+ ERROR = "error"
888
+ # Backpressure
889
+ ALWAYS = "always"
890
+ # Always On
891
+ BACKPRESSURE = "backpressure"
892
+
893
+
894
+ class OutputGrafanaCloudCompression1(str, Enum, metaclass=utils.OpenEnumMeta):
676
895
  r"""Codec to use to compress the persisted data"""
677
896
 
897
+ # None
678
898
  NONE = "none"
899
+ # Gzip
679
900
  GZIP = "gzip"
680
901
 
681
902
 
682
- class OutputGrafanaCloudQueueFullBehavior1(str, Enum):
903
+ class OutputGrafanaCloudQueueFullBehavior1(str, Enum, metaclass=utils.OpenEnumMeta):
683
904
  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."""
684
905
 
906
+ # Block
685
907
  BLOCK = "block"
908
+ # Drop new data
686
909
  DROP = "drop"
687
910
 
688
911
 
689
- class OutputGrafanaCloudMode1(str, Enum):
690
- 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."""
691
-
692
- ERROR = "error"
693
- BACKPRESSURE = "backpressure"
694
- ALWAYS = "always"
695
-
696
-
697
912
  class OutputGrafanaCloudPqControls1TypedDict(TypedDict):
698
913
  pass
699
914
 
@@ -703,11 +918,11 @@ class OutputGrafanaCloudPqControls1(BaseModel):
703
918
 
704
919
 
705
920
  class OutputGrafanaCloudGrafanaCloud1TypedDict(TypedDict):
706
- id: str
707
- r"""Unique ID for this output"""
708
921
  type: OutputGrafanaCloudType1
709
922
  loki_url: str
710
923
  r"""The endpoint to send logs to, such as https://logs-prod-us-central1.grafana.net"""
924
+ id: NotRequired[str]
925
+ r"""Unique ID for this output"""
711
926
  pipeline: NotRequired[str]
712
927
  r"""Pipeline to process data before sending out to this output"""
713
928
  system_fields: NotRequired[List[str]]
@@ -767,6 +982,16 @@ class OutputGrafanaCloudGrafanaCloud1TypedDict(TypedDict):
767
982
  description: NotRequired[str]
768
983
  compress: NotRequired[bool]
769
984
  r"""Compress the payload body before sending. Applies only to JSON payloads; the Protobuf variant for both Prometheus and Loki are snappy-compressed by default."""
985
+ pq_strict_ordering: NotRequired[bool]
986
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
987
+ pq_rate_per_sec: NotRequired[float]
988
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
989
+ pq_mode: NotRequired[OutputGrafanaCloudMode1]
990
+ 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."""
991
+ pq_max_buffer_size: NotRequired[float]
992
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
993
+ pq_max_backpressure_sec: NotRequired[float]
994
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
770
995
  pq_max_file_size: NotRequired[str]
771
996
  r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
772
997
  pq_max_size: NotRequired[str]
@@ -777,20 +1002,18 @@ class OutputGrafanaCloudGrafanaCloud1TypedDict(TypedDict):
777
1002
  r"""Codec to use to compress the persisted data"""
778
1003
  pq_on_backpressure: NotRequired[OutputGrafanaCloudQueueFullBehavior1]
779
1004
  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."""
780
- pq_mode: NotRequired[OutputGrafanaCloudMode1]
781
- 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."""
782
1005
  pq_controls: NotRequired[OutputGrafanaCloudPqControls1TypedDict]
783
1006
 
784
1007
 
785
1008
  class OutputGrafanaCloudGrafanaCloud1(BaseModel):
786
- id: str
787
- r"""Unique ID for this output"""
788
-
789
1009
  type: OutputGrafanaCloudType1
790
1010
 
791
1011
  loki_url: Annotated[str, pydantic.Field(alias="lokiUrl")]
792
1012
  r"""The endpoint to send logs to, such as https://logs-prod-us-central1.grafana.net"""
793
1013
 
1014
+ id: Optional[str] = None
1015
+ r"""Unique ID for this output"""
1016
+
794
1017
  pipeline: Optional[str] = None
795
1018
  r"""Pipeline to process data before sending out to this output"""
796
1019
 
@@ -814,7 +1037,10 @@ class OutputGrafanaCloudGrafanaCloud1(BaseModel):
814
1037
  r"""Name of the event field that contains the message to send. If not specified, Stream sends a JSON representation of the whole event."""
815
1038
 
816
1039
  message_format: Annotated[
817
- Optional[OutputGrafanaCloudMessageFormat1],
1040
+ Annotated[
1041
+ Optional[OutputGrafanaCloudMessageFormat1],
1042
+ PlainValidator(validate_open_enum(False)),
1043
+ ],
818
1044
  pydantic.Field(alias="messageFormat"),
819
1045
  ] = OutputGrafanaCloudMessageFormat1.PROTOBUF
820
1046
  r"""Format to use when sending logs to Loki (Protobuf or JSON)"""
@@ -877,7 +1103,10 @@ class OutputGrafanaCloudGrafanaCloud1(BaseModel):
877
1103
  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."""
878
1104
 
879
1105
  failed_request_logging_mode: Annotated[
880
- Optional[OutputGrafanaCloudFailedRequestLoggingMode1],
1106
+ Annotated[
1107
+ Optional[OutputGrafanaCloudFailedRequestLoggingMode1],
1108
+ PlainValidator(validate_open_enum(False)),
1109
+ ],
881
1110
  pydantic.Field(alias="failedRequestLoggingMode"),
882
1111
  ] = OutputGrafanaCloudFailedRequestLoggingMode1.NONE
883
1112
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
@@ -900,11 +1129,14 @@ class OutputGrafanaCloudGrafanaCloud1(BaseModel):
900
1129
 
901
1130
  response_honor_retry_after_header: Annotated[
902
1131
  Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader")
903
- ] = False
1132
+ ] = True
904
1133
  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."""
905
1134
 
906
1135
  on_backpressure: Annotated[
907
- Optional[OutputGrafanaCloudBackpressureBehavior1],
1136
+ Annotated[
1137
+ Optional[OutputGrafanaCloudBackpressureBehavior1],
1138
+ PlainValidator(validate_open_enum(False)),
1139
+ ],
908
1140
  pydantic.Field(alias="onBackpressure"),
909
1141
  ] = OutputGrafanaCloudBackpressureBehavior1.BLOCK
910
1142
  r"""How to handle events when all receivers are exerting backpressure"""
@@ -914,6 +1146,34 @@ class OutputGrafanaCloudGrafanaCloud1(BaseModel):
914
1146
  compress: Optional[bool] = True
915
1147
  r"""Compress the payload body before sending. Applies only to JSON payloads; the Protobuf variant for both Prometheus and Loki are snappy-compressed by default."""
916
1148
 
1149
+ pq_strict_ordering: Annotated[
1150
+ Optional[bool], pydantic.Field(alias="pqStrictOrdering")
1151
+ ] = True
1152
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
1153
+
1154
+ pq_rate_per_sec: Annotated[
1155
+ Optional[float], pydantic.Field(alias="pqRatePerSec")
1156
+ ] = 0
1157
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
1158
+
1159
+ pq_mode: Annotated[
1160
+ Annotated[
1161
+ Optional[OutputGrafanaCloudMode1], PlainValidator(validate_open_enum(False))
1162
+ ],
1163
+ pydantic.Field(alias="pqMode"),
1164
+ ] = OutputGrafanaCloudMode1.ERROR
1165
+ 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."""
1166
+
1167
+ pq_max_buffer_size: Annotated[
1168
+ Optional[float], pydantic.Field(alias="pqMaxBufferSize")
1169
+ ] = 42
1170
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
1171
+
1172
+ pq_max_backpressure_sec: Annotated[
1173
+ Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
1174
+ ] = 30
1175
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
1176
+
917
1177
  pq_max_file_size: Annotated[
918
1178
  Optional[str], pydantic.Field(alias="pqMaxFileSize")
919
1179
  ] = "1 MB"
@@ -928,25 +1188,81 @@ class OutputGrafanaCloudGrafanaCloud1(BaseModel):
928
1188
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
929
1189
 
930
1190
  pq_compress: Annotated[
931
- Optional[OutputGrafanaCloudCompression1], pydantic.Field(alias="pqCompress")
1191
+ Annotated[
1192
+ Optional[OutputGrafanaCloudCompression1],
1193
+ PlainValidator(validate_open_enum(False)),
1194
+ ],
1195
+ pydantic.Field(alias="pqCompress"),
932
1196
  ] = OutputGrafanaCloudCompression1.NONE
933
1197
  r"""Codec to use to compress the persisted data"""
934
1198
 
935
1199
  pq_on_backpressure: Annotated[
936
- Optional[OutputGrafanaCloudQueueFullBehavior1],
1200
+ Annotated[
1201
+ Optional[OutputGrafanaCloudQueueFullBehavior1],
1202
+ PlainValidator(validate_open_enum(False)),
1203
+ ],
937
1204
  pydantic.Field(alias="pqOnBackpressure"),
938
1205
  ] = OutputGrafanaCloudQueueFullBehavior1.BLOCK
939
1206
  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."""
940
1207
 
941
- pq_mode: Annotated[
942
- Optional[OutputGrafanaCloudMode1], pydantic.Field(alias="pqMode")
943
- ] = OutputGrafanaCloudMode1.ERROR
944
- 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."""
945
-
946
1208
  pq_controls: Annotated[
947
1209
  Optional[OutputGrafanaCloudPqControls1], pydantic.Field(alias="pqControls")
948
1210
  ] = None
949
1211
 
1212
+ @field_serializer("message_format")
1213
+ def serialize_message_format(self, value):
1214
+ if isinstance(value, str):
1215
+ try:
1216
+ return models.OutputGrafanaCloudMessageFormat1(value)
1217
+ except ValueError:
1218
+ return value
1219
+ return value
1220
+
1221
+ @field_serializer("failed_request_logging_mode")
1222
+ def serialize_failed_request_logging_mode(self, value):
1223
+ if isinstance(value, str):
1224
+ try:
1225
+ return models.OutputGrafanaCloudFailedRequestLoggingMode1(value)
1226
+ except ValueError:
1227
+ return value
1228
+ return value
1229
+
1230
+ @field_serializer("on_backpressure")
1231
+ def serialize_on_backpressure(self, value):
1232
+ if isinstance(value, str):
1233
+ try:
1234
+ return models.OutputGrafanaCloudBackpressureBehavior1(value)
1235
+ except ValueError:
1236
+ return value
1237
+ return value
1238
+
1239
+ @field_serializer("pq_mode")
1240
+ def serialize_pq_mode(self, value):
1241
+ if isinstance(value, str):
1242
+ try:
1243
+ return models.OutputGrafanaCloudMode1(value)
1244
+ except ValueError:
1245
+ return value
1246
+ return value
1247
+
1248
+ @field_serializer("pq_compress")
1249
+ def serialize_pq_compress(self, value):
1250
+ if isinstance(value, str):
1251
+ try:
1252
+ return models.OutputGrafanaCloudCompression1(value)
1253
+ except ValueError:
1254
+ return value
1255
+ return value
1256
+
1257
+ @field_serializer("pq_on_backpressure")
1258
+ def serialize_pq_on_backpressure(self, value):
1259
+ if isinstance(value, str):
1260
+ try:
1261
+ return models.OutputGrafanaCloudQueueFullBehavior1(value)
1262
+ except ValueError:
1263
+ return value
1264
+ return value
1265
+
950
1266
 
951
1267
  OutputGrafanaCloudTypedDict = TypeAliasType(
952
1268
  "OutputGrafanaCloudTypedDict",