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
8
12
  from typing_extensions import Annotated, NotRequired, TypedDict
9
13
 
@@ -12,21 +16,23 @@ class OutputSplunkLbType(str, Enum):
12
16
  SPLUNK_LB = "splunk_lb"
13
17
 
14
18
 
15
- class OutputSplunkLbNestedFieldSerialization(str, Enum):
19
+ class OutputSplunkLbNestedFieldSerialization(str, Enum, metaclass=utils.OpenEnumMeta):
16
20
  r"""How to serialize nested fields into index-time fields"""
17
21
 
22
+ # JSON
18
23
  JSON = "json"
24
+ # None
19
25
  NONE = "none"
20
26
 
21
27
 
22
- class OutputSplunkLbMinimumTLSVersion(str, Enum):
28
+ class OutputSplunkLbMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
23
29
  TL_SV1 = "TLSv1"
24
30
  TL_SV1_1 = "TLSv1.1"
25
31
  TL_SV1_2 = "TLSv1.2"
26
32
  TL_SV1_3 = "TLSv1.3"
27
33
 
28
34
 
29
- class OutputSplunkLbMaximumTLSVersion(str, Enum):
35
+ class OutputSplunkLbMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
30
36
  TL_SV1 = "TLSv1"
31
37
  TL_SV1_1 = "TLSv1.1"
32
38
  TL_SV1_2 = "TLSv1.2"
@@ -86,45 +92,79 @@ class OutputSplunkLbTLSSettingsClientSide(BaseModel):
86
92
  r"""Passphrase to use to decrypt private key"""
87
93
 
88
94
  min_version: Annotated[
89
- Optional[OutputSplunkLbMinimumTLSVersion], pydantic.Field(alias="minVersion")
95
+ Annotated[
96
+ Optional[OutputSplunkLbMinimumTLSVersion],
97
+ PlainValidator(validate_open_enum(False)),
98
+ ],
99
+ pydantic.Field(alias="minVersion"),
90
100
  ] = None
91
101
 
92
102
  max_version: Annotated[
93
- Optional[OutputSplunkLbMaximumTLSVersion], pydantic.Field(alias="maxVersion")
103
+ Annotated[
104
+ Optional[OutputSplunkLbMaximumTLSVersion],
105
+ PlainValidator(validate_open_enum(False)),
106
+ ],
107
+ pydantic.Field(alias="maxVersion"),
94
108
  ] = None
95
109
 
96
-
97
- class OutputSplunkLbMaxS2SVersion(str, Enum):
110
+ @field_serializer("min_version")
111
+ def serialize_min_version(self, value):
112
+ if isinstance(value, str):
113
+ try:
114
+ return models.OutputSplunkLbMinimumTLSVersion(value)
115
+ except ValueError:
116
+ return value
117
+ return value
118
+
119
+ @field_serializer("max_version")
120
+ def serialize_max_version(self, value):
121
+ if isinstance(value, str):
122
+ try:
123
+ return models.OutputSplunkLbMaximumTLSVersion(value)
124
+ except ValueError:
125
+ return value
126
+ return value
127
+
128
+
129
+ class OutputSplunkLbMaxS2SVersion(str, Enum, metaclass=utils.OpenEnumMeta):
98
130
  r"""The highest S2S protocol version to advertise during handshake"""
99
131
 
100
132
  V3 = "v3"
101
133
  V4 = "v4"
102
134
 
103
135
 
104
- class OutputSplunkLbBackpressureBehavior(str, Enum):
136
+ class OutputSplunkLbBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
105
137
  r"""How to handle events when all receivers are exerting backpressure"""
106
138
 
139
+ # Block
107
140
  BLOCK = "block"
141
+ # Drop
108
142
  DROP = "drop"
143
+ # Persistent Queue
109
144
  QUEUE = "queue"
110
145
 
111
146
 
112
- class OutputSplunkLbAuthenticationMethod(str, Enum):
147
+ class OutputSplunkLbAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
113
148
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
114
149
 
115
150
  MANUAL = "manual"
116
151
  SECRET = "secret"
117
152
 
118
153
 
119
- class OutputSplunkLbCompressCompression(str, Enum):
154
+ class OutputSplunkLbCompressCompression(str, Enum, metaclass=utils.OpenEnumMeta):
120
155
  r"""Controls whether the sender should send compressed data to the server. Select 'Disabled' to reject compressed connections or 'Always' to ignore server's configuration and send compressed data."""
121
156
 
157
+ # Disabled
122
158
  DISABLED = "disabled"
159
+ # Automatic
123
160
  AUTO = "auto"
161
+ # Always
124
162
  ALWAYS = "always"
125
163
 
126
164
 
127
- class IndexerDiscoveryConfigsAuthTokenAuthenticationMethod(str, Enum):
165
+ class IndexerDiscoveryConfigsAuthTokenAuthenticationMethod(
166
+ str, Enum, metaclass=utils.OpenEnumMeta
167
+ ):
128
168
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
129
169
 
130
170
  MANUAL = "manual"
@@ -134,17 +174,43 @@ class IndexerDiscoveryConfigsAuthTokenAuthenticationMethod(str, Enum):
134
174
  class OutputSplunkLbAuthTokenTypedDict(TypedDict):
135
175
  auth_type: NotRequired[IndexerDiscoveryConfigsAuthTokenAuthenticationMethod]
136
176
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
177
+ auth_token: NotRequired[str]
178
+ r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted."""
179
+ text_secret: NotRequired[str]
180
+ r"""Select or create a stored text secret"""
137
181
 
138
182
 
139
183
  class OutputSplunkLbAuthToken(BaseModel):
140
184
  auth_type: Annotated[
141
- Optional[IndexerDiscoveryConfigsAuthTokenAuthenticationMethod],
185
+ Annotated[
186
+ Optional[IndexerDiscoveryConfigsAuthTokenAuthenticationMethod],
187
+ PlainValidator(validate_open_enum(False)),
188
+ ],
142
189
  pydantic.Field(alias="authType"),
143
190
  ] = IndexerDiscoveryConfigsAuthTokenAuthenticationMethod.MANUAL
144
191
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
145
192
 
193
+ auth_token: Annotated[Optional[str], pydantic.Field(alias="authToken")] = ""
194
+ r"""Shared secret to be provided by any client (in authToken header field). If empty, unauthorized access is permitted."""
146
195
 
147
- class IndexerDiscoveryConfigsAuthenticationMethod(str, Enum):
196
+ text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None
197
+ r"""Select or create a stored text secret"""
198
+
199
+ @field_serializer("auth_type")
200
+ def serialize_auth_type(self, value):
201
+ if isinstance(value, str):
202
+ try:
203
+ return models.IndexerDiscoveryConfigsAuthTokenAuthenticationMethod(
204
+ value
205
+ )
206
+ except ValueError:
207
+ return value
208
+ return value
209
+
210
+
211
+ class IndexerDiscoveryConfigsAuthenticationMethod(
212
+ str, Enum, metaclass=utils.OpenEnumMeta
213
+ ):
148
214
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
149
215
 
150
216
  MANUAL = "manual"
@@ -197,7 +263,10 @@ class IndexerDiscoveryConfigs(BaseModel):
197
263
  r"""Tokens required to authenticate to cluster manager for indexer discovery"""
198
264
 
199
265
  auth_type: Annotated[
200
- Optional[IndexerDiscoveryConfigsAuthenticationMethod],
266
+ Annotated[
267
+ Optional[IndexerDiscoveryConfigsAuthenticationMethod],
268
+ PlainValidator(validate_open_enum(False)),
269
+ ],
201
270
  pydantic.Field(alias="authType"),
202
271
  ] = IndexerDiscoveryConfigsAuthenticationMethod.MANUAL
203
272
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
@@ -208,8 +277,17 @@ class IndexerDiscoveryConfigs(BaseModel):
208
277
  text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None
209
278
  r"""Select or create a stored text secret"""
210
279
 
280
+ @field_serializer("auth_type")
281
+ def serialize_auth_type(self, value):
282
+ if isinstance(value, str):
283
+ try:
284
+ return models.IndexerDiscoveryConfigsAuthenticationMethod(value)
285
+ except ValueError:
286
+ return value
287
+ return value
288
+
211
289
 
212
- class OutputSplunkLbTLS(str, Enum):
290
+ class OutputSplunkLbTLS(str, Enum, metaclass=utils.OpenEnumMeta):
213
291
  r"""Whether to inherit TLS configs from group setting or disable TLS"""
214
292
 
215
293
  INHERIT = "inherit"
@@ -236,7 +314,9 @@ class OutputSplunkLbHost(BaseModel):
236
314
  port: Optional[float] = 9997
237
315
  r"""The port to connect to on the provided host"""
238
316
 
239
- tls: Optional[OutputSplunkLbTLS] = OutputSplunkLbTLS.INHERIT
317
+ tls: Annotated[
318
+ Optional[OutputSplunkLbTLS], PlainValidator(validate_open_enum(False))
319
+ ] = OutputSplunkLbTLS.INHERIT
240
320
  r"""Whether to inherit TLS configs from group setting or disable TLS"""
241
321
 
242
322
  servername: Optional[str] = None
@@ -245,29 +325,45 @@ class OutputSplunkLbHost(BaseModel):
245
325
  weight: Optional[float] = 1
246
326
  r"""Assign a weight (>0) to each endpoint to indicate its traffic-handling capability"""
247
327
 
328
+ @field_serializer("tls")
329
+ def serialize_tls(self, value):
330
+ if isinstance(value, str):
331
+ try:
332
+ return models.OutputSplunkLbTLS(value)
333
+ except ValueError:
334
+ return value
335
+ return value
248
336
 
249
- class OutputSplunkLbPqCompressCompression(str, Enum):
337
+
338
+ class OutputSplunkLbMode(str, Enum, metaclass=utils.OpenEnumMeta):
339
+ 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."""
340
+
341
+ # Error
342
+ ERROR = "error"
343
+ # Backpressure
344
+ ALWAYS = "always"
345
+ # Always On
346
+ BACKPRESSURE = "backpressure"
347
+
348
+
349
+ class OutputSplunkLbPqCompressCompression(str, Enum, metaclass=utils.OpenEnumMeta):
250
350
  r"""Codec to use to compress the persisted data"""
251
351
 
352
+ # None
252
353
  NONE = "none"
354
+ # Gzip
253
355
  GZIP = "gzip"
254
356
 
255
357
 
256
- class OutputSplunkLbQueueFullBehavior(str, Enum):
358
+ class OutputSplunkLbQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
257
359
  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."""
258
360
 
361
+ # Block
259
362
  BLOCK = "block"
363
+ # Drop new data
260
364
  DROP = "drop"
261
365
 
262
366
 
263
- class OutputSplunkLbMode(str, Enum):
264
- 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."""
265
-
266
- ERROR = "error"
267
- BACKPRESSURE = "backpressure"
268
- ALWAYS = "always"
269
-
270
-
271
367
  class OutputSplunkLbPqControlsTypedDict(TypedDict):
272
368
  pass
273
369
 
@@ -330,6 +426,16 @@ class OutputSplunkLbTypedDict(TypedDict):
330
426
  r"""List of configurations to set up indexer discovery in Splunk Indexer clustering environment."""
331
427
  exclude_self: NotRequired[bool]
332
428
  r"""Exclude all IPs of the current host from the list of any resolved hostnames"""
429
+ pq_strict_ordering: NotRequired[bool]
430
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
431
+ pq_rate_per_sec: NotRequired[float]
432
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
433
+ pq_mode: NotRequired[OutputSplunkLbMode]
434
+ 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."""
435
+ pq_max_buffer_size: NotRequired[float]
436
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
437
+ pq_max_backpressure_sec: NotRequired[float]
438
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
333
439
  pq_max_file_size: NotRequired[str]
334
440
  r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
335
441
  pq_max_size: NotRequired[str]
@@ -340,8 +446,6 @@ class OutputSplunkLbTypedDict(TypedDict):
340
446
  r"""Codec to use to compress the persisted data"""
341
447
  pq_on_backpressure: NotRequired[OutputSplunkLbQueueFullBehavior]
342
448
  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."""
343
- pq_mode: NotRequired[OutputSplunkLbMode]
344
- 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."""
345
449
  pq_controls: NotRequired[OutputSplunkLbPqControlsTypedDict]
346
450
  auth_token: NotRequired[str]
347
451
  r"""Shared secret token to use when establishing a connection to a Splunk indexer."""
@@ -388,7 +492,10 @@ class OutputSplunkLb(BaseModel):
388
492
  r"""Maximum number of concurrent connections (per Worker Process). A random set of IPs will be picked on every DNS resolution period. Use 0 for unlimited."""
389
493
 
390
494
  nested_fields: Annotated[
391
- Optional[OutputSplunkLbNestedFieldSerialization],
495
+ Annotated[
496
+ Optional[OutputSplunkLbNestedFieldSerialization],
497
+ PlainValidator(validate_open_enum(False)),
498
+ ],
392
499
  pydantic.Field(alias="nestedFields"),
393
500
  ] = OutputSplunkLbNestedFieldSerialization.NONE
394
501
  r"""How to serialize nested fields into index-time fields"""
@@ -424,12 +531,19 @@ class OutputSplunkLb(BaseModel):
424
531
  r"""Use to troubleshoot issues with sending data"""
425
532
 
426
533
  max_s2_sversion: Annotated[
427
- Optional[OutputSplunkLbMaxS2SVersion], pydantic.Field(alias="maxS2Sversion")
534
+ Annotated[
535
+ Optional[OutputSplunkLbMaxS2SVersion],
536
+ PlainValidator(validate_open_enum(False)),
537
+ ],
538
+ pydantic.Field(alias="maxS2Sversion"),
428
539
  ] = OutputSplunkLbMaxS2SVersion.V3
429
540
  r"""The highest S2S protocol version to advertise during handshake"""
430
541
 
431
542
  on_backpressure: Annotated[
432
- Optional[OutputSplunkLbBackpressureBehavior],
543
+ Annotated[
544
+ Optional[OutputSplunkLbBackpressureBehavior],
545
+ PlainValidator(validate_open_enum(False)),
546
+ ],
433
547
  pydantic.Field(alias="onBackpressure"),
434
548
  ] = OutputSplunkLbBackpressureBehavior.BLOCK
435
549
  r"""How to handle events when all receivers are exerting backpressure"""
@@ -445,7 +559,11 @@ class OutputSplunkLb(BaseModel):
445
559
  r"""How long (in milliseconds) each LB endpoint can report blocked before the Destination reports unhealthy, blocking the sender. (Grace period for fluctuations.) Use 0 to disable; max 1 minute."""
446
560
 
447
561
  auth_type: Annotated[
448
- Optional[OutputSplunkLbAuthenticationMethod], pydantic.Field(alias="authType")
562
+ Annotated[
563
+ Optional[OutputSplunkLbAuthenticationMethod],
564
+ PlainValidator(validate_open_enum(False)),
565
+ ],
566
+ pydantic.Field(alias="authType"),
449
567
  ] = OutputSplunkLbAuthenticationMethod.MANUAL
450
568
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
451
569
 
@@ -456,9 +574,10 @@ class OutputSplunkLb(BaseModel):
456
574
  ] = 1
457
575
  r"""Maximum number of times healthcheck can fail before we close connection. If set to 0 (disabled), and the connection to Splunk is forcibly closed, some data loss might occur."""
458
576
 
459
- compress: Optional[OutputSplunkLbCompressCompression] = (
460
- OutputSplunkLbCompressCompression.DISABLED
461
- )
577
+ compress: Annotated[
578
+ Optional[OutputSplunkLbCompressCompression],
579
+ PlainValidator(validate_open_enum(False)),
580
+ ] = OutputSplunkLbCompressCompression.DISABLED
462
581
  r"""Controls whether the sender should send compressed data to the server. Select 'Disabled' to reject compressed connections or 'Always' to ignore server's configuration and send compressed data."""
463
582
 
464
583
  indexer_discovery_configs: Annotated[
@@ -470,6 +589,34 @@ class OutputSplunkLb(BaseModel):
470
589
  exclude_self: Annotated[Optional[bool], pydantic.Field(alias="excludeSelf")] = False
471
590
  r"""Exclude all IPs of the current host from the list of any resolved hostnames"""
472
591
 
592
+ pq_strict_ordering: Annotated[
593
+ Optional[bool], pydantic.Field(alias="pqStrictOrdering")
594
+ ] = True
595
+ r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
596
+
597
+ pq_rate_per_sec: Annotated[
598
+ Optional[float], pydantic.Field(alias="pqRatePerSec")
599
+ ] = 0
600
+ r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
601
+
602
+ pq_mode: Annotated[
603
+ Annotated[
604
+ Optional[OutputSplunkLbMode], PlainValidator(validate_open_enum(False))
605
+ ],
606
+ pydantic.Field(alias="pqMode"),
607
+ ] = OutputSplunkLbMode.ERROR
608
+ 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."""
609
+
610
+ pq_max_buffer_size: Annotated[
611
+ Optional[float], pydantic.Field(alias="pqMaxBufferSize")
612
+ ] = 42
613
+ r"""The maximum number of events to hold in memory before writing the events to disk"""
614
+
615
+ pq_max_backpressure_sec: Annotated[
616
+ Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
617
+ ] = 30
618
+ r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
619
+
473
620
  pq_max_file_size: Annotated[
474
621
  Optional[str], pydantic.Field(alias="pqMaxFileSize")
475
622
  ] = "1 MB"
@@ -484,22 +631,23 @@ class OutputSplunkLb(BaseModel):
484
631
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
485
632
 
486
633
  pq_compress: Annotated[
487
- Optional[OutputSplunkLbPqCompressCompression],
634
+ Annotated[
635
+ Optional[OutputSplunkLbPqCompressCompression],
636
+ PlainValidator(validate_open_enum(False)),
637
+ ],
488
638
  pydantic.Field(alias="pqCompress"),
489
639
  ] = OutputSplunkLbPqCompressCompression.NONE
490
640
  r"""Codec to use to compress the persisted data"""
491
641
 
492
642
  pq_on_backpressure: Annotated[
493
- Optional[OutputSplunkLbQueueFullBehavior],
643
+ Annotated[
644
+ Optional[OutputSplunkLbQueueFullBehavior],
645
+ PlainValidator(validate_open_enum(False)),
646
+ ],
494
647
  pydantic.Field(alias="pqOnBackpressure"),
495
648
  ] = OutputSplunkLbQueueFullBehavior.BLOCK
496
649
  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."""
497
650
 
498
- pq_mode: Annotated[Optional[OutputSplunkLbMode], pydantic.Field(alias="pqMode")] = (
499
- OutputSplunkLbMode.ERROR
500
- )
501
- 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."""
502
-
503
651
  pq_controls: Annotated[
504
652
  Optional[OutputSplunkLbPqControls], pydantic.Field(alias="pqControls")
505
653
  ] = None
@@ -509,3 +657,75 @@ class OutputSplunkLb(BaseModel):
509
657
 
510
658
  text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None
511
659
  r"""Select or create a stored text secret"""
660
+
661
+ @field_serializer("nested_fields")
662
+ def serialize_nested_fields(self, value):
663
+ if isinstance(value, str):
664
+ try:
665
+ return models.OutputSplunkLbNestedFieldSerialization(value)
666
+ except ValueError:
667
+ return value
668
+ return value
669
+
670
+ @field_serializer("max_s2_sversion")
671
+ def serialize_max_s2_sversion(self, value):
672
+ if isinstance(value, str):
673
+ try:
674
+ return models.OutputSplunkLbMaxS2SVersion(value)
675
+ except ValueError:
676
+ return value
677
+ return value
678
+
679
+ @field_serializer("on_backpressure")
680
+ def serialize_on_backpressure(self, value):
681
+ if isinstance(value, str):
682
+ try:
683
+ return models.OutputSplunkLbBackpressureBehavior(value)
684
+ except ValueError:
685
+ return value
686
+ return value
687
+
688
+ @field_serializer("auth_type")
689
+ def serialize_auth_type(self, value):
690
+ if isinstance(value, str):
691
+ try:
692
+ return models.OutputSplunkLbAuthenticationMethod(value)
693
+ except ValueError:
694
+ return value
695
+ return value
696
+
697
+ @field_serializer("compress")
698
+ def serialize_compress(self, value):
699
+ if isinstance(value, str):
700
+ try:
701
+ return models.OutputSplunkLbCompressCompression(value)
702
+ except ValueError:
703
+ return value
704
+ return value
705
+
706
+ @field_serializer("pq_mode")
707
+ def serialize_pq_mode(self, value):
708
+ if isinstance(value, str):
709
+ try:
710
+ return models.OutputSplunkLbMode(value)
711
+ except ValueError:
712
+ return value
713
+ return value
714
+
715
+ @field_serializer("pq_compress")
716
+ def serialize_pq_compress(self, value):
717
+ if isinstance(value, str):
718
+ try:
719
+ return models.OutputSplunkLbPqCompressCompression(value)
720
+ except ValueError:
721
+ return value
722
+ return value
723
+
724
+ @field_serializer("pq_on_backpressure")
725
+ def serialize_pq_on_backpressure(self, value):
726
+ if isinstance(value, str):
727
+ try:
728
+ return models.OutputSplunkLbQueueFullBehavior(value)
729
+ except ValueError:
730
+ return value
731
+ return value