cribl-control-plane 0.0.39__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 (403) hide show
  1. cribl_control_plane/_hooks/clientcredentials.py +92 -42
  2. cribl_control_plane/_version.py +4 -4
  3. cribl_control_plane/acl.py +21 -9
  4. cribl_control_plane/auth_sdk.py +6 -3
  5. cribl_control_plane/basesdk.py +17 -1
  6. cribl_control_plane/branches.py +28 -8
  7. cribl_control_plane/commits.py +119 -47
  8. cribl_control_plane/commits_files.py +44 -24
  9. cribl_control_plane/configs_versions.py +16 -10
  10. cribl_control_plane/cribl.py +495 -0
  11. cribl_control_plane/destinations.py +86 -34
  12. cribl_control_plane/destinations_pq.py +34 -14
  13. cribl_control_plane/errors/__init__.py +23 -8
  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 +8 -3
  22. cribl_control_plane/groups_sdk.py +156 -94
  23. cribl_control_plane/health.py +34 -14
  24. cribl_control_plane/hectokens.py +44 -20
  25. cribl_control_plane/httpclient.py +0 -1
  26. cribl_control_plane/lakedatasets.py +156 -62
  27. cribl_control_plane/models/__init__.py +3298 -479
  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 +62 -8
  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/{createinputop.py → countedgitdiffresult.py} +5 -9
  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/{createoutputop.py → countedoutputsamplesresponse.py} +5 -9
  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 +26 -27
  81. cribl_control_plane/models/createcribllakedatasetbylakeidop.py +1 -19
  82. cribl_control_plane/models/createinputhectokenbyidop.py +1 -19
  83. cribl_control_plane/models/createoutputtestbyidop.py +1 -20
  84. cribl_control_plane/models/createroutesappendbyidop.py +4 -22
  85. cribl_control_plane/models/createversioncommitop.py +1 -19
  86. cribl_control_plane/models/createversionrevertop.py +3 -21
  87. cribl_control_plane/models/createversionundoop.py +1 -18
  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/datasetmetadata.py +18 -2
  92. cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +18 -21
  93. cribl_control_plane/models/deletecribllakedatasetbylakeidandidop.py +1 -20
  94. cribl_control_plane/models/deleteinputbyidop.py +1 -20
  95. cribl_control_plane/models/deleteoutputbyidop.py +1 -20
  96. cribl_control_plane/models/deleteoutputpqbyidop.py +1 -19
  97. cribl_control_plane/models/deletepacksbyidop.py +1 -20
  98. cribl_control_plane/models/deletepipelinebyidop.py +3 -22
  99. cribl_control_plane/models/difffiles.py +130 -0
  100. cribl_control_plane/models/diffline.py +26 -0
  101. cribl_control_plane/models/difflinecontext.py +28 -0
  102. cribl_control_plane/models/difflinedelete.py +25 -0
  103. cribl_control_plane/models/difflineinsert.py +25 -0
  104. cribl_control_plane/models/distributedsummary.py +6 -0
  105. cribl_control_plane/models/functionaggregatemetrics.py +206 -0
  106. cribl_control_plane/models/functionaggregation.py +172 -0
  107. cribl_control_plane/models/functionautotimestamp.py +173 -0
  108. cribl_control_plane/models/functioncef.py +111 -0
  109. cribl_control_plane/models/functionchain.py +75 -0
  110. cribl_control_plane/models/functionclone.py +75 -0
  111. cribl_control_plane/models/functioncode.py +96 -0
  112. cribl_control_plane/models/functioncomment.py +75 -0
  113. cribl_control_plane/models/functiondistinct.py +99 -0
  114. cribl_control_plane/models/functiondnslookup.py +250 -0
  115. cribl_control_plane/models/functiondrop.py +73 -0
  116. cribl_control_plane/models/functiondropdimensions.py +87 -0
  117. cribl_control_plane/models/functiondynamicsampling.py +121 -0
  118. cribl_control_plane/models/functioneval.py +103 -0
  119. cribl_control_plane/models/functioneventbreaker.py +103 -0
  120. cribl_control_plane/models/functioneventstats.py +92 -0
  121. cribl_control_plane/models/functionexternaldata.py +73 -0
  122. cribl_control_plane/models/functionflatten.py +90 -0
  123. cribl_control_plane/models/functionfoldkeys.py +89 -0
  124. cribl_control_plane/models/functiongenstats.py +73 -0
  125. cribl_control_plane/models/functiongeoip.py +120 -0
  126. cribl_control_plane/models/functiongrok.py +95 -0
  127. cribl_control_plane/models/functionhandlebar.py +112 -0
  128. cribl_control_plane/models/functionjoin.py +112 -0
  129. cribl_control_plane/models/functionjsonunroll.py +80 -0
  130. cribl_control_plane/models/functionlakeexport.py +102 -0
  131. cribl_control_plane/models/functionlimit.py +75 -0
  132. cribl_control_plane/models/functionlocalsearchdatatypeparser.py +76 -0
  133. cribl_control_plane/models/functionlocalsearchrulesetrunner.py +97 -0
  134. cribl_control_plane/models/functionlookup.py +148 -0
  135. cribl_control_plane/models/functionmask.py +121 -0
  136. cribl_control_plane/models/functionmvexpand.py +128 -0
  137. cribl_control_plane/models/functionmvpull.py +99 -0
  138. cribl_control_plane/models/functionnotificationpolicies.py +186 -0
  139. cribl_control_plane/models/functionnotifications.py +85 -0
  140. cribl_control_plane/models/functionnotify.py +196 -0
  141. cribl_control_plane/models/functionnumerify.py +119 -0
  142. cribl_control_plane/models/functionotlplogs.py +82 -0
  143. cribl_control_plane/models/functionotlpmetrics.py +118 -0
  144. cribl_control_plane/models/functionotlptraces.py +111 -0
  145. cribl_control_plane/models/functionpack.py +80 -0
  146. cribl_control_plane/models/functionpivot.py +85 -0
  147. cribl_control_plane/models/functionpublishmetrics.py +153 -0
  148. cribl_control_plane/models/functionredis.py +173 -0
  149. cribl_control_plane/models/functionregexextract.py +112 -0
  150. cribl_control_plane/models/functionregexfilter.py +95 -0
  151. cribl_control_plane/models/functionrename.py +107 -0
  152. cribl_control_plane/models/functionresponse.py +242 -0
  153. cribl_control_plane/models/functionrollupmetrics.py +114 -0
  154. cribl_control_plane/models/functionsampling.py +90 -0
  155. cribl_control_plane/models/functionsend.py +141 -0
  156. cribl_control_plane/models/functionsensitivedatascanner.py +128 -0
  157. cribl_control_plane/models/functionserde.py +161 -0
  158. cribl_control_plane/models/functionserialize.py +134 -0
  159. cribl_control_plane/models/functionsidlookup.py +93 -0
  160. cribl_control_plane/models/functionsnmptrapserialize.py +144 -0
  161. cribl_control_plane/models/functionsort.py +97 -0
  162. cribl_control_plane/models/functionstore.py +132 -0
  163. cribl_control_plane/models/functionsuppress.py +115 -0
  164. cribl_control_plane/models/functiontee.py +90 -0
  165. cribl_control_plane/models/functiontrimtimestamp.py +75 -0
  166. cribl_control_plane/models/functionunion.py +80 -0
  167. cribl_control_plane/models/functionunroll.py +80 -0
  168. cribl_control_plane/models/functionwindow.py +96 -0
  169. cribl_control_plane/models/functionxmlunroll.py +92 -0
  170. cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +24 -20
  171. cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +24 -20
  172. cribl_control_plane/models/getconfiggroupbyproductandidop.py +14 -19
  173. cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +18 -20
  174. cribl_control_plane/models/getcribllakedatasetbylakeidandidop.py +1 -20
  175. cribl_control_plane/models/getcribllakedatasetbylakeidop.py +54 -14
  176. cribl_control_plane/models/getfunctionsbyidop.py +18 -0
  177. cribl_control_plane/models/getinputbyidop.py +1 -20
  178. cribl_control_plane/models/getmasterworkerentryop.py +1 -18
  179. cribl_control_plane/models/getoutputbyidop.py +1 -20
  180. cribl_control_plane/models/getoutputpqbyidop.py +1 -19
  181. cribl_control_plane/models/getoutputsamplesbyidop.py +1 -20
  182. cribl_control_plane/models/getpacksbyidop.py +1 -20
  183. cribl_control_plane/models/getpacksop.py +1 -19
  184. cribl_control_plane/models/getpipelinebyidop.py +3 -22
  185. cribl_control_plane/models/getroutesbyidop.py +3 -22
  186. cribl_control_plane/models/getsummaryop.py +18 -20
  187. cribl_control_plane/models/getversioncountop.py +3 -21
  188. cribl_control_plane/models/getversiondiffop.py +1 -18
  189. cribl_control_plane/models/getversionfilesop.py +3 -22
  190. cribl_control_plane/models/getversionop.py +1 -19
  191. cribl_control_plane/models/getversionshowop.py +1 -18
  192. cribl_control_plane/models/getversionstatusop.py +1 -19
  193. cribl_control_plane/models/{routecloneconf.py → gitcountresult.py} +4 -4
  194. cribl_control_plane/models/gitdiffresult.py +16 -0
  195. cribl_control_plane/models/gitinfo.py +14 -3
  196. cribl_control_plane/models/gitshowresult.py +19 -0
  197. cribl_control_plane/models/groupcreaterequest.py +172 -0
  198. cribl_control_plane/models/hbcriblinfo.py +42 -7
  199. cribl_control_plane/models/healthserverstatus.py +55 -0
  200. cribl_control_plane/models/heartbeatmetadata.py +6 -11
  201. cribl_control_plane/models/input.py +83 -78
  202. cribl_control_plane/models/inputappscope.py +126 -30
  203. cribl_control_plane/models/inputazureblob.py +62 -6
  204. cribl_control_plane/models/inputcloudflarehec.py +518 -0
  205. cribl_control_plane/models/inputcollection.py +47 -4
  206. cribl_control_plane/models/inputconfluentcloud.py +258 -32
  207. cribl_control_plane/models/inputcribl.py +47 -4
  208. cribl_control_plane/models/inputcriblhttp.py +121 -30
  209. cribl_control_plane/models/inputcribllakehttp.py +136 -30
  210. cribl_control_plane/models/inputcriblmetrics.py +48 -4
  211. cribl_control_plane/models/inputcribltcp.py +122 -24
  212. cribl_control_plane/models/inputcrowdstrike.py +92 -10
  213. cribl_control_plane/models/inputdatadogagent.py +98 -24
  214. cribl_control_plane/models/inputdatagen.py +47 -4
  215. cribl_control_plane/models/inputedgeprometheus.py +210 -50
  216. cribl_control_plane/models/inputelastic.py +167 -36
  217. cribl_control_plane/models/inputeventhub.py +209 -6
  218. cribl_control_plane/models/inputexec.py +59 -6
  219. cribl_control_plane/models/inputfile.py +78 -10
  220. cribl_control_plane/models/inputfirehose.py +97 -24
  221. cribl_control_plane/models/inputgooglepubsub.py +67 -6
  222. cribl_control_plane/models/inputgrafana.py +251 -71
  223. cribl_control_plane/models/inputhttp.py +97 -24
  224. cribl_control_plane/models/inputhttpraw.py +97 -24
  225. cribl_control_plane/models/inputjournalfiles.py +48 -4
  226. cribl_control_plane/models/inputkafka.py +252 -28
  227. cribl_control_plane/models/inputkinesis.py +130 -14
  228. cribl_control_plane/models/inputkubeevents.py +47 -4
  229. cribl_control_plane/models/inputkubelogs.py +61 -8
  230. cribl_control_plane/models/inputkubemetrics.py +61 -8
  231. cribl_control_plane/models/inputloki.py +113 -34
  232. cribl_control_plane/models/inputmetrics.py +97 -24
  233. cribl_control_plane/models/inputmodeldriventelemetry.py +107 -26
  234. cribl_control_plane/models/inputmsk.py +145 -32
  235. cribl_control_plane/models/inputnetflow.py +47 -4
  236. cribl_control_plane/models/inputoffice365mgmt.py +112 -14
  237. cribl_control_plane/models/inputoffice365msgtrace.py +114 -16
  238. cribl_control_plane/models/inputoffice365service.py +114 -16
  239. cribl_control_plane/models/inputopentelemetry.py +143 -32
  240. cribl_control_plane/models/inputprometheus.py +193 -44
  241. cribl_control_plane/models/inputprometheusrw.py +114 -27
  242. cribl_control_plane/models/inputrawudp.py +47 -4
  243. cribl_control_plane/models/inputs3.py +78 -8
  244. cribl_control_plane/models/inputs3inventory.py +92 -10
  245. cribl_control_plane/models/inputsecuritylake.py +93 -10
  246. cribl_control_plane/models/inputsnmp.py +112 -21
  247. cribl_control_plane/models/inputsplunk.py +130 -28
  248. cribl_control_plane/models/inputsplunkhec.py +119 -29
  249. cribl_control_plane/models/inputsplunksearch.py +112 -15
  250. cribl_control_plane/models/inputsqs.py +99 -16
  251. cribl_control_plane/models/inputsyslog.py +189 -47
  252. cribl_control_plane/models/inputsystemmetrics.py +202 -32
  253. cribl_control_plane/models/inputsystemstate.py +61 -8
  254. cribl_control_plane/models/inputtcp.py +122 -26
  255. cribl_control_plane/models/inputtcpjson.py +112 -26
  256. cribl_control_plane/models/inputwef.py +144 -15
  257. cribl_control_plane/models/inputwindowsmetrics.py +186 -33
  258. cribl_control_plane/models/inputwineventlogs.py +93 -11
  259. cribl_control_plane/models/inputwiz.py +173 -8
  260. cribl_control_plane/models/inputwizwebhook.py +97 -24
  261. cribl_control_plane/models/inputzscalerhec.py +119 -29
  262. cribl_control_plane/models/jobinfo.py +34 -0
  263. cribl_control_plane/models/jobstatus.py +48 -0
  264. cribl_control_plane/models/lakedatasetmetrics.py +17 -0
  265. cribl_control_plane/models/lakehouseconnectiontype.py +2 -1
  266. cribl_control_plane/models/listconfiggroupbyproductop.py +14 -19
  267. cribl_control_plane/models/listmasterworkerentryop.py +1 -19
  268. cribl_control_plane/models/logininfo.py +3 -3
  269. cribl_control_plane/models/masterworkerentry.py +20 -13
  270. cribl_control_plane/models/nodeactiveupgradestatus.py +2 -1
  271. cribl_control_plane/models/nodefailedupgradestatus.py +2 -1
  272. cribl_control_plane/models/nodeprovidedinfo.py +13 -11
  273. cribl_control_plane/models/nodeskippedupgradestatus.py +2 -1
  274. cribl_control_plane/models/nodeupgradestate.py +2 -1
  275. cribl_control_plane/models/nodeupgradestatus.py +51 -5
  276. cribl_control_plane/models/outpostnodeinfo.py +16 -0
  277. cribl_control_plane/models/output.py +104 -90
  278. cribl_control_plane/models/outputazureblob.py +171 -18
  279. cribl_control_plane/models/outputazuredataexplorer.py +514 -90
  280. cribl_control_plane/models/outputazureeventhub.py +315 -31
  281. cribl_control_plane/models/outputazurelogs.py +145 -26
  282. cribl_control_plane/models/outputchronicle.py +532 -0
  283. cribl_control_plane/models/outputclickhouse.py +205 -34
  284. cribl_control_plane/models/outputcloudflarer2.py +632 -0
  285. cribl_control_plane/models/outputcloudwatch.py +129 -23
  286. cribl_control_plane/models/outputconfluentcloud.py +384 -57
  287. cribl_control_plane/models/outputcriblhttp.py +198 -31
  288. cribl_control_plane/models/outputcribllake.py +156 -16
  289. cribl_control_plane/models/outputcribltcp.py +194 -29
  290. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +172 -28
  291. cribl_control_plane/models/outputdatabricks.py +501 -0
  292. cribl_control_plane/models/outputdatadog.py +199 -31
  293. cribl_control_plane/models/outputdataset.py +181 -29
  294. cribl_control_plane/models/outputdiskspool.py +17 -2
  295. cribl_control_plane/models/outputdls3.py +233 -24
  296. cribl_control_plane/models/outputdynatracehttp.py +208 -34
  297. cribl_control_plane/models/outputdynatraceotlp.py +210 -36
  298. cribl_control_plane/models/outputelastic.py +199 -30
  299. cribl_control_plane/models/outputelasticcloud.py +171 -26
  300. cribl_control_plane/models/outputexabeam.py +96 -10
  301. cribl_control_plane/models/outputfilesystem.py +139 -14
  302. cribl_control_plane/models/outputgooglechronicle.py +216 -35
  303. cribl_control_plane/models/outputgooglecloudlogging.py +174 -31
  304. cribl_control_plane/models/outputgooglecloudstorage.py +215 -24
  305. cribl_control_plane/models/outputgooglepubsub.py +131 -23
  306. cribl_control_plane/models/outputgrafanacloud.py +376 -74
  307. cribl_control_plane/models/outputgraphite.py +128 -25
  308. cribl_control_plane/models/outputhoneycomb.py +145 -26
  309. cribl_control_plane/models/outputhumiohec.py +162 -28
  310. cribl_control_plane/models/outputinfluxdb.py +165 -28
  311. cribl_control_plane/models/outputkafka.py +375 -52
  312. cribl_control_plane/models/outputkinesis.py +165 -27
  313. cribl_control_plane/models/outputloki.py +164 -34
  314. cribl_control_plane/models/outputmicrosoftfabric.py +540 -0
  315. cribl_control_plane/models/outputminio.py +225 -25
  316. cribl_control_plane/models/outputmsk.py +267 -54
  317. cribl_control_plane/models/outputnewrelic.py +171 -29
  318. cribl_control_plane/models/outputnewrelicevents.py +163 -28
  319. cribl_control_plane/models/outputopentelemetry.py +240 -40
  320. cribl_control_plane/models/outputprometheus.py +145 -26
  321. cribl_control_plane/models/outputring.py +49 -8
  322. cribl_control_plane/models/outputs3.py +233 -26
  323. cribl_control_plane/models/outputsecuritylake.py +179 -18
  324. cribl_control_plane/models/outputsentinel.py +172 -29
  325. cribl_control_plane/models/outputsentineloneaisiem.py +178 -32
  326. cribl_control_plane/models/outputservicenow.py +223 -38
  327. cribl_control_plane/models/outputsignalfx.py +145 -26
  328. cribl_control_plane/models/outputsns.py +143 -25
  329. cribl_control_plane/models/outputsplunk.py +206 -36
  330. cribl_control_plane/models/outputsplunkhec.py +238 -26
  331. cribl_control_plane/models/outputsplunklb.py +262 -42
  332. cribl_control_plane/models/outputsqs.py +163 -33
  333. cribl_control_plane/models/outputstatsd.py +127 -25
  334. cribl_control_plane/models/outputstatsdext.py +128 -25
  335. cribl_control_plane/models/outputsumologic.py +146 -25
  336. cribl_control_plane/models/outputsyslog.py +318 -46
  337. cribl_control_plane/models/outputtcpjson.py +186 -32
  338. cribl_control_plane/models/outputwavefront.py +145 -26
  339. cribl_control_plane/models/outputwebhook.py +211 -33
  340. cribl_control_plane/models/outputxsiam.py +143 -26
  341. cribl_control_plane/models/packinfo.py +8 -5
  342. cribl_control_plane/models/packinstallinfo.py +11 -8
  343. cribl_control_plane/models/piisettings_union.py +31 -0
  344. cribl_control_plane/models/productscore.py +2 -1
  345. cribl_control_plane/models/rbacresource.py +2 -1
  346. cribl_control_plane/models/resourcepolicy.py +15 -2
  347. cribl_control_plane/models/rollbacksettings_union.py +44 -0
  348. cribl_control_plane/models/routeconf.py +3 -4
  349. cribl_control_plane/models/runnablejob.py +27 -0
  350. cribl_control_plane/models/runnablejobcollection.py +628 -0
  351. cribl_control_plane/models/runnablejobexecutor.py +360 -0
  352. cribl_control_plane/models/runnablejobscheduledsearch.py +279 -0
  353. cribl_control_plane/models/snisettings_union.py +31 -0
  354. cribl_control_plane/models/systemsettingsconf.py +291 -0
  355. cribl_control_plane/models/tlssettings_union.py +43 -0
  356. cribl_control_plane/models/updateconfiggroupbyproductandidop.py +19 -20
  357. cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +19 -21
  358. cribl_control_plane/models/updatecribllakedatasetbylakeidandidop.py +10 -25
  359. cribl_control_plane/models/updatehectokenrequest.py +7 -1
  360. cribl_control_plane/models/updateinputbyidop.py +1 -19
  361. cribl_control_plane/models/updateinputhectokenbyidandtokenop.py +1 -19
  362. cribl_control_plane/models/updateoutputbyidop.py +1 -19
  363. cribl_control_plane/models/updatepacksbyidop.py +1 -20
  364. cribl_control_plane/models/updatepacksop.py +25 -0
  365. cribl_control_plane/models/updatepipelinebyidop.py +5 -23
  366. cribl_control_plane/models/updateroutesbyidop.py +3 -21
  367. cribl_control_plane/models/upgradegroupsettings_union.py +43 -0
  368. cribl_control_plane/models/upgradepackageurls.py +20 -0
  369. cribl_control_plane/models/upgradesettings.py +38 -0
  370. cribl_control_plane/models/uploadpackresponse.py +13 -0
  371. cribl_control_plane/models/workertypes.py +2 -1
  372. cribl_control_plane/nodes.py +37 -23
  373. cribl_control_plane/packs.py +292 -37
  374. cribl_control_plane/pipelines.py +98 -48
  375. cribl_control_plane/routes_sdk.py +86 -50
  376. cribl_control_plane/samples.py +32 -16
  377. cribl_control_plane/sdk.py +26 -6
  378. cribl_control_plane/settings.py +20 -0
  379. cribl_control_plane/sources.py +85 -33
  380. cribl_control_plane/statuses.py +16 -6
  381. cribl_control_plane/summaries.py +16 -6
  382. cribl_control_plane/system_sdk.py +20 -0
  383. cribl_control_plane/teams.py +16 -6
  384. cribl_control_plane/tokens.py +49 -21
  385. cribl_control_plane/utils/__init__.py +15 -3
  386. cribl_control_plane/utils/annotations.py +32 -8
  387. cribl_control_plane/utils/eventstreaming.py +10 -0
  388. cribl_control_plane/utils/forms.py +21 -10
  389. cribl_control_plane/utils/queryparams.py +14 -2
  390. cribl_control_plane/utils/retries.py +69 -5
  391. cribl_control_plane/utils/unmarshal_json_response.py +15 -1
  392. cribl_control_plane/versions.py +11 -6
  393. cribl_control_plane/versions_configs.py +16 -6
  394. {cribl_control_plane-0.0.39.dist-info → cribl_control_plane-0.4.0b23.dist-info}/METADATA +99 -43
  395. cribl_control_plane-0.4.0b23.dist-info/RECORD +450 -0
  396. {cribl_control_plane-0.0.39.dist-info → cribl_control_plane-0.4.0b23.dist-info}/WHEEL +1 -1
  397. cribl_control_plane-0.4.0b23.dist-info/licenses/LICENSE +201 -0
  398. cribl_control_plane/errors/healthstatus_error.py +0 -32
  399. cribl_control_plane/models/appmode.py +0 -13
  400. cribl_control_plane/models/createpipelineop.py +0 -24
  401. cribl_control_plane/models/createversionpushop.py +0 -23
  402. cribl_control_plane/models/healthstatus.py +0 -33
  403. cribl_control_plane-0.0.39.dist-info/RECORD +0 -315
@@ -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
 
@@ -284,8 +343,6 @@ class OutputGrafanaCloudGrafanaCloud2TypedDict(TypedDict):
284
343
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
285
344
  safe_headers: NotRequired[List[str]]
286
345
  r"""List of headers that are safe to log in plain text"""
287
- send_structured_metadata: NotRequired[bool]
288
- r"""Add structured metadata fields from __structuredMetadata to each log. Key-value pairs must be strings."""
289
346
  response_retry_settings: NotRequired[
290
347
  List[OutputGrafanaCloudResponseRetrySetting2TypedDict]
291
348
  ]
@@ -300,6 +357,16 @@ class OutputGrafanaCloudGrafanaCloud2TypedDict(TypedDict):
300
357
  description: NotRequired[str]
301
358
  compress: NotRequired[bool]
302
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"""
303
370
  pq_max_file_size: NotRequired[str]
304
371
  r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
305
372
  pq_max_size: NotRequired[str]
@@ -310,8 +377,6 @@ class OutputGrafanaCloudGrafanaCloud2TypedDict(TypedDict):
310
377
  r"""Codec to use to compress the persisted data"""
311
378
  pq_on_backpressure: NotRequired[OutputGrafanaCloudQueueFullBehavior2]
312
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."""
313
- pq_mode: NotRequired[OutputGrafanaCloudMode2]
314
- 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."""
315
380
  pq_controls: NotRequired[OutputGrafanaCloudPqControls2TypedDict]
316
381
 
317
382
 
@@ -345,7 +410,10 @@ class OutputGrafanaCloudGrafanaCloud2(BaseModel):
345
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."""
346
411
 
347
412
  message_format: Annotated[
348
- Optional[OutputGrafanaCloudMessageFormat2],
413
+ Annotated[
414
+ Optional[OutputGrafanaCloudMessageFormat2],
415
+ PlainValidator(validate_open_enum(False)),
416
+ ],
349
417
  pydantic.Field(alias="messageFormat"),
350
418
  ] = OutputGrafanaCloudMessageFormat2.PROTOBUF
351
419
  r"""Format to use when sending logs to Loki (Protobuf or JSON)"""
@@ -408,7 +476,10 @@ class OutputGrafanaCloudGrafanaCloud2(BaseModel):
408
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."""
409
477
 
410
478
  failed_request_logging_mode: Annotated[
411
- Optional[OutputGrafanaCloudFailedRequestLoggingMode2],
479
+ Annotated[
480
+ Optional[OutputGrafanaCloudFailedRequestLoggingMode2],
481
+ PlainValidator(validate_open_enum(False)),
482
+ ],
412
483
  pydantic.Field(alias="failedRequestLoggingMode"),
413
484
  ] = OutputGrafanaCloudFailedRequestLoggingMode2.NONE
414
485
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
@@ -418,11 +489,6 @@ class OutputGrafanaCloudGrafanaCloud2(BaseModel):
418
489
  ] = None
419
490
  r"""List of headers that are safe to log in plain text"""
420
491
 
421
- send_structured_metadata: Annotated[
422
- Optional[bool], pydantic.Field(alias="sendStructuredMetadata")
423
- ] = False
424
- r"""Add structured metadata fields from __structuredMetadata to each log. Key-value pairs must be strings."""
425
-
426
492
  response_retry_settings: Annotated[
427
493
  Optional[List[OutputGrafanaCloudResponseRetrySetting2]],
428
494
  pydantic.Field(alias="responseRetrySettings"),
@@ -436,11 +502,14 @@ class OutputGrafanaCloudGrafanaCloud2(BaseModel):
436
502
 
437
503
  response_honor_retry_after_header: Annotated[
438
504
  Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader")
439
- ] = False
505
+ ] = True
440
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."""
441
507
 
442
508
  on_backpressure: Annotated[
443
- Optional[OutputGrafanaCloudBackpressureBehavior2],
509
+ Annotated[
510
+ Optional[OutputGrafanaCloudBackpressureBehavior2],
511
+ PlainValidator(validate_open_enum(False)),
512
+ ],
444
513
  pydantic.Field(alias="onBackpressure"),
445
514
  ] = OutputGrafanaCloudBackpressureBehavior2.BLOCK
446
515
  r"""How to handle events when all receivers are exerting backpressure"""
@@ -450,6 +519,34 @@ class OutputGrafanaCloudGrafanaCloud2(BaseModel):
450
519
  compress: Optional[bool] = True
451
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."""
452
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
+
453
550
  pq_max_file_size: Annotated[
454
551
  Optional[str], pydantic.Field(alias="pqMaxFileSize")
455
552
  ] = "1 MB"
@@ -464,34 +561,92 @@ class OutputGrafanaCloudGrafanaCloud2(BaseModel):
464
561
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
465
562
 
466
563
  pq_compress: Annotated[
467
- Optional[OutputGrafanaCloudCompression2], pydantic.Field(alias="pqCompress")
564
+ Annotated[
565
+ Optional[OutputGrafanaCloudCompression2],
566
+ PlainValidator(validate_open_enum(False)),
567
+ ],
568
+ pydantic.Field(alias="pqCompress"),
468
569
  ] = OutputGrafanaCloudCompression2.NONE
469
570
  r"""Codec to use to compress the persisted data"""
470
571
 
471
572
  pq_on_backpressure: Annotated[
472
- Optional[OutputGrafanaCloudQueueFullBehavior2],
573
+ Annotated[
574
+ Optional[OutputGrafanaCloudQueueFullBehavior2],
575
+ PlainValidator(validate_open_enum(False)),
576
+ ],
473
577
  pydantic.Field(alias="pqOnBackpressure"),
474
578
  ] = OutputGrafanaCloudQueueFullBehavior2.BLOCK
475
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."""
476
580
 
477
- pq_mode: Annotated[
478
- Optional[OutputGrafanaCloudMode2], pydantic.Field(alias="pqMode")
479
- ] = OutputGrafanaCloudMode2.ERROR
480
- 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."""
481
-
482
581
  pq_controls: Annotated[
483
582
  Optional[OutputGrafanaCloudPqControls2], pydantic.Field(alias="pqControls")
484
583
  ] = None
485
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
+
486
639
 
487
640
  class OutputGrafanaCloudType1(str, Enum):
488
641
  GRAFANA_CLOUD = "grafana_cloud"
489
642
 
490
643
 
491
- class OutputGrafanaCloudMessageFormat1(str, Enum):
644
+ class OutputGrafanaCloudMessageFormat1(str, Enum, metaclass=utils.OpenEnumMeta):
492
645
  r"""Format to use when sending logs to Loki (Protobuf or JSON)"""
493
646
 
647
+ # Protobuf
494
648
  PROTOBUF = "protobuf"
649
+ # JSON
495
650
  JSON = "json"
496
651
 
497
652
 
@@ -506,11 +661,18 @@ class OutputGrafanaCloudLabel1(BaseModel):
506
661
  name: Optional[str] = ""
507
662
 
508
663
 
509
- class OutputGrafanaCloudPrometheusAuthAuthenticationType1(str, Enum):
664
+ class OutputGrafanaCloudPrometheusAuthAuthenticationType1(
665
+ str, Enum, metaclass=utils.OpenEnumMeta
666
+ ):
667
+ # None
510
668
  NONE = "none"
669
+ # Auth token
511
670
  TOKEN = "token"
671
+ # Auth token (text secret)
512
672
  TEXT_SECRET = "textSecret"
673
+ # Basic
513
674
  BASIC = "basic"
675
+ # Basic (credentials secret)
514
676
  CREDENTIALS_SECRET = "credentialsSecret"
515
677
 
516
678
 
@@ -530,7 +692,10 @@ class OutputGrafanaCloudPrometheusAuth1TypedDict(TypedDict):
530
692
 
531
693
  class OutputGrafanaCloudPrometheusAuth1(BaseModel):
532
694
  auth_type: Annotated[
533
- Optional[OutputGrafanaCloudPrometheusAuthAuthenticationType1],
695
+ Annotated[
696
+ Optional[OutputGrafanaCloudPrometheusAuthAuthenticationType1],
697
+ PlainValidator(validate_open_enum(False)),
698
+ ],
534
699
  pydantic.Field(alias="authType"),
535
700
  ] = OutputGrafanaCloudPrometheusAuthAuthenticationType1.BASIC
536
701
 
@@ -551,12 +716,28 @@ class OutputGrafanaCloudPrometheusAuth1(BaseModel):
551
716
  ] = None
552
717
  r"""Select or create a secret that references your credentials"""
553
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
554
727
 
555
- class OutputGrafanaCloudLokiAuthAuthenticationType1(str, Enum):
728
+
729
+ class OutputGrafanaCloudLokiAuthAuthenticationType1(
730
+ str, Enum, metaclass=utils.OpenEnumMeta
731
+ ):
732
+ # None
556
733
  NONE = "none"
734
+ # Auth token
557
735
  TOKEN = "token"
736
+ # Auth token (text secret)
558
737
  TEXT_SECRET = "textSecret"
738
+ # Basic
559
739
  BASIC = "basic"
740
+ # Basic (credentials secret)
560
741
  CREDENTIALS_SECRET = "credentialsSecret"
561
742
 
562
743
 
@@ -576,7 +757,10 @@ class OutputGrafanaCloudLokiAuth1TypedDict(TypedDict):
576
757
 
577
758
  class OutputGrafanaCloudLokiAuth1(BaseModel):
578
759
  auth_type: Annotated[
579
- Optional[OutputGrafanaCloudLokiAuthAuthenticationType1],
760
+ Annotated[
761
+ Optional[OutputGrafanaCloudLokiAuthAuthenticationType1],
762
+ PlainValidator(validate_open_enum(False)),
763
+ ],
580
764
  pydantic.Field(alias="authType"),
581
765
  ] = OutputGrafanaCloudLokiAuthAuthenticationType1.BASIC
582
766
 
@@ -597,6 +781,15 @@ class OutputGrafanaCloudLokiAuth1(BaseModel):
597
781
  ] = None
598
782
  r"""Select or create a secret that references your credentials"""
599
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
+
600
793
 
601
794
  class OutputGrafanaCloudExtraHTTPHeader1TypedDict(TypedDict):
602
795
  value: str
@@ -609,11 +802,16 @@ class OutputGrafanaCloudExtraHTTPHeader1(BaseModel):
609
802
  name: Optional[str] = None
610
803
 
611
804
 
612
- class OutputGrafanaCloudFailedRequestLoggingMode1(str, Enum):
805
+ class OutputGrafanaCloudFailedRequestLoggingMode1(
806
+ str, Enum, metaclass=utils.OpenEnumMeta
807
+ ):
613
808
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
614
809
 
810
+ # Payload
615
811
  PAYLOAD = "payload"
812
+ # Payload + Headers
616
813
  PAYLOAD_AND_HEADERS = "payloadAndHeaders"
814
+ # None
617
815
  NONE = "none"
618
816
 
619
817
 
@@ -671,36 +869,46 @@ class OutputGrafanaCloudTimeoutRetrySettings1(BaseModel):
671
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)."""
672
870
 
673
871
 
674
- class OutputGrafanaCloudBackpressureBehavior1(str, Enum):
872
+ class OutputGrafanaCloudBackpressureBehavior1(str, Enum, metaclass=utils.OpenEnumMeta):
675
873
  r"""How to handle events when all receivers are exerting backpressure"""
676
874
 
875
+ # Block
677
876
  BLOCK = "block"
877
+ # Drop
678
878
  DROP = "drop"
879
+ # Persistent Queue
679
880
  QUEUE = "queue"
680
881
 
681
882
 
682
- 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):
683
895
  r"""Codec to use to compress the persisted data"""
684
896
 
897
+ # None
685
898
  NONE = "none"
899
+ # Gzip
686
900
  GZIP = "gzip"
687
901
 
688
902
 
689
- class OutputGrafanaCloudQueueFullBehavior1(str, Enum):
903
+ class OutputGrafanaCloudQueueFullBehavior1(str, Enum, metaclass=utils.OpenEnumMeta):
690
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."""
691
905
 
906
+ # Block
692
907
  BLOCK = "block"
908
+ # Drop new data
693
909
  DROP = "drop"
694
910
 
695
911
 
696
- class OutputGrafanaCloudMode1(str, Enum):
697
- 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."""
698
-
699
- ERROR = "error"
700
- BACKPRESSURE = "backpressure"
701
- ALWAYS = "always"
702
-
703
-
704
912
  class OutputGrafanaCloudPqControls1TypedDict(TypedDict):
705
913
  pass
706
914
 
@@ -760,8 +968,6 @@ class OutputGrafanaCloudGrafanaCloud1TypedDict(TypedDict):
760
968
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
761
969
  safe_headers: NotRequired[List[str]]
762
970
  r"""List of headers that are safe to log in plain text"""
763
- send_structured_metadata: NotRequired[bool]
764
- r"""Add structured metadata fields from __structuredMetadata to each log. Key-value pairs must be strings."""
765
971
  response_retry_settings: NotRequired[
766
972
  List[OutputGrafanaCloudResponseRetrySetting1TypedDict]
767
973
  ]
@@ -776,6 +982,16 @@ class OutputGrafanaCloudGrafanaCloud1TypedDict(TypedDict):
776
982
  description: NotRequired[str]
777
983
  compress: NotRequired[bool]
778
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"""
779
995
  pq_max_file_size: NotRequired[str]
780
996
  r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
781
997
  pq_max_size: NotRequired[str]
@@ -786,8 +1002,6 @@ class OutputGrafanaCloudGrafanaCloud1TypedDict(TypedDict):
786
1002
  r"""Codec to use to compress the persisted data"""
787
1003
  pq_on_backpressure: NotRequired[OutputGrafanaCloudQueueFullBehavior1]
788
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."""
789
- pq_mode: NotRequired[OutputGrafanaCloudMode1]
790
- 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."""
791
1005
  pq_controls: NotRequired[OutputGrafanaCloudPqControls1TypedDict]
792
1006
 
793
1007
 
@@ -823,7 +1037,10 @@ class OutputGrafanaCloudGrafanaCloud1(BaseModel):
823
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."""
824
1038
 
825
1039
  message_format: Annotated[
826
- Optional[OutputGrafanaCloudMessageFormat1],
1040
+ Annotated[
1041
+ Optional[OutputGrafanaCloudMessageFormat1],
1042
+ PlainValidator(validate_open_enum(False)),
1043
+ ],
827
1044
  pydantic.Field(alias="messageFormat"),
828
1045
  ] = OutputGrafanaCloudMessageFormat1.PROTOBUF
829
1046
  r"""Format to use when sending logs to Loki (Protobuf or JSON)"""
@@ -886,7 +1103,10 @@ class OutputGrafanaCloudGrafanaCloud1(BaseModel):
886
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."""
887
1104
 
888
1105
  failed_request_logging_mode: Annotated[
889
- Optional[OutputGrafanaCloudFailedRequestLoggingMode1],
1106
+ Annotated[
1107
+ Optional[OutputGrafanaCloudFailedRequestLoggingMode1],
1108
+ PlainValidator(validate_open_enum(False)),
1109
+ ],
890
1110
  pydantic.Field(alias="failedRequestLoggingMode"),
891
1111
  ] = OutputGrafanaCloudFailedRequestLoggingMode1.NONE
892
1112
  r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
@@ -896,11 +1116,6 @@ class OutputGrafanaCloudGrafanaCloud1(BaseModel):
896
1116
  ] = None
897
1117
  r"""List of headers that are safe to log in plain text"""
898
1118
 
899
- send_structured_metadata: Annotated[
900
- Optional[bool], pydantic.Field(alias="sendStructuredMetadata")
901
- ] = False
902
- r"""Add structured metadata fields from __structuredMetadata to each log. Key-value pairs must be strings."""
903
-
904
1119
  response_retry_settings: Annotated[
905
1120
  Optional[List[OutputGrafanaCloudResponseRetrySetting1]],
906
1121
  pydantic.Field(alias="responseRetrySettings"),
@@ -914,11 +1129,14 @@ class OutputGrafanaCloudGrafanaCloud1(BaseModel):
914
1129
 
915
1130
  response_honor_retry_after_header: Annotated[
916
1131
  Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader")
917
- ] = False
1132
+ ] = True
918
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."""
919
1134
 
920
1135
  on_backpressure: Annotated[
921
- Optional[OutputGrafanaCloudBackpressureBehavior1],
1136
+ Annotated[
1137
+ Optional[OutputGrafanaCloudBackpressureBehavior1],
1138
+ PlainValidator(validate_open_enum(False)),
1139
+ ],
922
1140
  pydantic.Field(alias="onBackpressure"),
923
1141
  ] = OutputGrafanaCloudBackpressureBehavior1.BLOCK
924
1142
  r"""How to handle events when all receivers are exerting backpressure"""
@@ -928,6 +1146,34 @@ class OutputGrafanaCloudGrafanaCloud1(BaseModel):
928
1146
  compress: Optional[bool] = True
929
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."""
930
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
+
931
1177
  pq_max_file_size: Annotated[
932
1178
  Optional[str], pydantic.Field(alias="pqMaxFileSize")
933
1179
  ] = "1 MB"
@@ -942,25 +1188,81 @@ class OutputGrafanaCloudGrafanaCloud1(BaseModel):
942
1188
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
943
1189
 
944
1190
  pq_compress: Annotated[
945
- Optional[OutputGrafanaCloudCompression1], pydantic.Field(alias="pqCompress")
1191
+ Annotated[
1192
+ Optional[OutputGrafanaCloudCompression1],
1193
+ PlainValidator(validate_open_enum(False)),
1194
+ ],
1195
+ pydantic.Field(alias="pqCompress"),
946
1196
  ] = OutputGrafanaCloudCompression1.NONE
947
1197
  r"""Codec to use to compress the persisted data"""
948
1198
 
949
1199
  pq_on_backpressure: Annotated[
950
- Optional[OutputGrafanaCloudQueueFullBehavior1],
1200
+ Annotated[
1201
+ Optional[OutputGrafanaCloudQueueFullBehavior1],
1202
+ PlainValidator(validate_open_enum(False)),
1203
+ ],
951
1204
  pydantic.Field(alias="pqOnBackpressure"),
952
1205
  ] = OutputGrafanaCloudQueueFullBehavior1.BLOCK
953
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."""
954
1207
 
955
- pq_mode: Annotated[
956
- Optional[OutputGrafanaCloudMode1], pydantic.Field(alias="pqMode")
957
- ] = OutputGrafanaCloudMode1.ERROR
958
- 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."""
959
-
960
1208
  pq_controls: Annotated[
961
1209
  Optional[OutputGrafanaCloudPqControls1], pydantic.Field(alias="pqControls")
962
1210
  ] = None
963
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
+
964
1266
 
965
1267
  OutputGrafanaCloudTypedDict = TypeAliasType(
966
1268
  "OutputGrafanaCloudTypedDict",