cribl-control-plane 0.0.21__py3-none-any.whl → 0.4.0b23__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (436) hide show
  1. cribl_control_plane/_hooks/clientcredentials.py +113 -48
  2. cribl_control_plane/_version.py +4 -4
  3. cribl_control_plane/acl.py +225 -0
  4. cribl_control_plane/auth_sdk.py +12 -176
  5. cribl_control_plane/basesdk.py +17 -1
  6. cribl_control_plane/branches.py +351 -0
  7. cribl_control_plane/commits.py +1403 -0
  8. cribl_control_plane/commits_files.py +391 -0
  9. cribl_control_plane/configs_versions.py +201 -0
  10. cribl_control_plane/cribl.py +495 -0
  11. cribl_control_plane/destinations.py +146 -805
  12. cribl_control_plane/destinations_pq.py +379 -0
  13. cribl_control_plane/errors/__init__.py +26 -10
  14. cribl_control_plane/errors/apierror.py +2 -0
  15. cribl_control_plane/errors/criblcontrolplaneerror.py +11 -7
  16. cribl_control_plane/errors/error.py +4 -2
  17. cribl_control_plane/errors/healthserverstatus_error.py +41 -0
  18. cribl_control_plane/errors/no_response_error.py +5 -1
  19. cribl_control_plane/errors/responsevalidationerror.py +2 -0
  20. cribl_control_plane/functions.py +367 -0
  21. cribl_control_plane/groups_configs.py +22 -0
  22. cribl_control_plane/groups_sdk.py +333 -578
  23. cribl_control_plane/health.py +38 -18
  24. cribl_control_plane/hectokens.py +503 -0
  25. cribl_control_plane/httpclient.py +0 -1
  26. cribl_control_plane/{lake.py → lakedatasets.py} +207 -115
  27. cribl_control_plane/models/__init__.py +3644 -5986
  28. cribl_control_plane/models/addhectokenrequest.py +7 -1
  29. cribl_control_plane/models/authtoken.py +5 -1
  30. cribl_control_plane/models/backupssettings_union.py +37 -0
  31. cribl_control_plane/models/{lookupversions.py → branchinfo.py} +4 -4
  32. cribl_control_plane/models/cacheconnection.py +30 -2
  33. cribl_control_plane/models/cacheconnectionbackfillstatus.py +2 -1
  34. cribl_control_plane/models/cloudprovider.py +2 -1
  35. cribl_control_plane/models/collectorazureblob.py +130 -0
  36. cribl_control_plane/models/collectorconf.py +56 -0
  37. cribl_control_plane/models/collectorcribllake.py +27 -0
  38. cribl_control_plane/models/collectordatabase.py +92 -0
  39. cribl_control_plane/models/collectorfilesystem.py +66 -0
  40. cribl_control_plane/models/collectorgooglecloudstorage.py +131 -0
  41. cribl_control_plane/models/collectorhealthcheck.py +269 -0
  42. cribl_control_plane/models/collectorrest.py +340 -0
  43. cribl_control_plane/models/collectors3.py +239 -0
  44. cribl_control_plane/models/collectorscript.py +59 -0
  45. cribl_control_plane/models/collectorsplunk.py +253 -0
  46. cribl_control_plane/models/configgroup.py +67 -11
  47. cribl_control_plane/models/configgroupcloud.py +17 -3
  48. cribl_control_plane/models/countedbranchinfo.py +20 -0
  49. cribl_control_plane/models/countedconfiggroup.py +20 -0
  50. cribl_control_plane/models/countedcribllakedataset.py +20 -0
  51. cribl_control_plane/models/counteddistributedsummary.py +20 -0
  52. cribl_control_plane/models/countedfunctionresponse.py +20 -0
  53. cribl_control_plane/models/countedgitcommitsummary.py +20 -0
  54. cribl_control_plane/models/countedgitcountresult.py +20 -0
  55. cribl_control_plane/models/countedgitdiffresult.py +20 -0
  56. cribl_control_plane/models/countedgitfilesresponse.py +20 -0
  57. cribl_control_plane/models/{getversioninfoop.py → countedgitinfo.py} +2 -6
  58. cribl_control_plane/models/countedgitlogresult.py +20 -0
  59. cribl_control_plane/models/countedgitrevertresult.py +20 -0
  60. cribl_control_plane/models/countedgitshowresult.py +20 -0
  61. cribl_control_plane/models/countedgitstatusresult.py +20 -0
  62. cribl_control_plane/models/{listinputop.py → countedinput.py} +2 -6
  63. cribl_control_plane/models/countedinputsplunkhec.py +20 -0
  64. cribl_control_plane/models/countedjobinfo.py +20 -0
  65. cribl_control_plane/models/countedmasterworkerentry.py +20 -0
  66. cribl_control_plane/models/countednumber.py +19 -0
  67. cribl_control_plane/models/{getversionbranchop.py → countedobject.py} +2 -6
  68. cribl_control_plane/models/{listoutputop.py → countedoutput.py} +2 -6
  69. cribl_control_plane/models/countedoutputsamplesresponse.py +20 -0
  70. cribl_control_plane/models/countedoutputtestresponse.py +20 -0
  71. cribl_control_plane/models/countedpackinfo.py +20 -0
  72. cribl_control_plane/models/{createpacksop.py → countedpackinstallinfo.py} +2 -6
  73. cribl_control_plane/models/{listpipelineop.py → countedpipeline.py} +2 -6
  74. cribl_control_plane/models/{listroutesop.py → countedroutes.py} +2 -6
  75. cribl_control_plane/models/countedstring.py +19 -0
  76. cribl_control_plane/models/countedsystemsettingsconf.py +20 -0
  77. cribl_control_plane/models/countedteamaccesscontrollist.py +20 -0
  78. cribl_control_plane/models/counteduseraccesscontrollist.py +20 -0
  79. cribl_control_plane/models/createauthloginop.py +18 -0
  80. cribl_control_plane/models/createconfiggroupbyproductop.py +46 -0
  81. cribl_control_plane/models/createcribllakedatasetbylakeidop.py +3 -21
  82. cribl_control_plane/models/createinputhectokenbyidop.py +3 -21
  83. cribl_control_plane/models/createoutputtestbyidop.py +3 -22
  84. cribl_control_plane/models/createroutesappendbyidop.py +4 -21
  85. cribl_control_plane/models/createversioncommitop.py +27 -20
  86. cribl_control_plane/models/createversionrevertop.py +7 -23
  87. cribl_control_plane/models/createversionundoop.py +7 -22
  88. cribl_control_plane/models/criblevent.py +15 -0
  89. cribl_control_plane/models/cribllakedataset.py +23 -3
  90. cribl_control_plane/models/cribllakedatasetupdate.py +95 -0
  91. cribl_control_plane/models/currentbranchresult.py +13 -0
  92. cribl_control_plane/models/datasetmetadata.py +18 -2
  93. cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +43 -0
  94. cribl_control_plane/models/deletecribllakedatasetbylakeidandidop.py +5 -24
  95. cribl_control_plane/models/deleteinputbyidop.py +3 -22
  96. cribl_control_plane/models/deleteoutputbyidop.py +3 -22
  97. cribl_control_plane/models/deleteoutputpqbyidop.py +3 -21
  98. cribl_control_plane/models/deletepacksbyidop.py +3 -22
  99. cribl_control_plane/models/deletepipelinebyidop.py +3 -22
  100. cribl_control_plane/models/difffiles.py +130 -0
  101. cribl_control_plane/models/diffline.py +26 -0
  102. cribl_control_plane/models/difflinecontext.py +28 -0
  103. cribl_control_plane/models/difflinedelete.py +25 -0
  104. cribl_control_plane/models/difflineinsert.py +25 -0
  105. cribl_control_plane/models/distributedsummary.py +6 -0
  106. cribl_control_plane/models/functionaggregatemetrics.py +206 -0
  107. cribl_control_plane/models/functionaggregation.py +172 -0
  108. cribl_control_plane/models/functionautotimestamp.py +173 -0
  109. cribl_control_plane/models/functioncef.py +111 -0
  110. cribl_control_plane/models/functionchain.py +75 -0
  111. cribl_control_plane/models/functionclone.py +75 -0
  112. cribl_control_plane/models/functioncode.py +96 -0
  113. cribl_control_plane/models/functioncomment.py +75 -0
  114. cribl_control_plane/models/functiondistinct.py +99 -0
  115. cribl_control_plane/models/functiondnslookup.py +250 -0
  116. cribl_control_plane/models/functiondrop.py +73 -0
  117. cribl_control_plane/models/functiondropdimensions.py +87 -0
  118. cribl_control_plane/models/functiondynamicsampling.py +121 -0
  119. cribl_control_plane/models/functioneval.py +103 -0
  120. cribl_control_plane/models/functioneventbreaker.py +103 -0
  121. cribl_control_plane/models/functioneventstats.py +92 -0
  122. cribl_control_plane/models/functionexternaldata.py +73 -0
  123. cribl_control_plane/models/functionflatten.py +90 -0
  124. cribl_control_plane/models/functionfoldkeys.py +89 -0
  125. cribl_control_plane/models/functiongenstats.py +73 -0
  126. cribl_control_plane/models/functiongeoip.py +120 -0
  127. cribl_control_plane/models/functiongrok.py +95 -0
  128. cribl_control_plane/models/functionhandlebar.py +112 -0
  129. cribl_control_plane/models/functionjoin.py +112 -0
  130. cribl_control_plane/models/functionjsonunroll.py +80 -0
  131. cribl_control_plane/models/functionlakeexport.py +102 -0
  132. cribl_control_plane/models/functionlimit.py +75 -0
  133. cribl_control_plane/models/functionlocalsearchdatatypeparser.py +76 -0
  134. cribl_control_plane/models/functionlocalsearchrulesetrunner.py +97 -0
  135. cribl_control_plane/models/functionlookup.py +148 -0
  136. cribl_control_plane/models/functionmask.py +121 -0
  137. cribl_control_plane/models/functionmvexpand.py +128 -0
  138. cribl_control_plane/models/functionmvpull.py +99 -0
  139. cribl_control_plane/models/functionnotificationpolicies.py +186 -0
  140. cribl_control_plane/models/functionnotifications.py +85 -0
  141. cribl_control_plane/models/functionnotify.py +196 -0
  142. cribl_control_plane/models/functionnumerify.py +119 -0
  143. cribl_control_plane/models/functionotlplogs.py +82 -0
  144. cribl_control_plane/models/functionotlpmetrics.py +118 -0
  145. cribl_control_plane/models/functionotlptraces.py +111 -0
  146. cribl_control_plane/models/functionpack.py +80 -0
  147. cribl_control_plane/models/functionpivot.py +85 -0
  148. cribl_control_plane/models/functionpublishmetrics.py +153 -0
  149. cribl_control_plane/models/functionredis.py +173 -0
  150. cribl_control_plane/models/functionregexextract.py +112 -0
  151. cribl_control_plane/models/functionregexfilter.py +95 -0
  152. cribl_control_plane/models/functionrename.py +107 -0
  153. cribl_control_plane/models/functionresponse.py +242 -0
  154. cribl_control_plane/models/functionrollupmetrics.py +114 -0
  155. cribl_control_plane/models/functionsampling.py +90 -0
  156. cribl_control_plane/models/functionsend.py +141 -0
  157. cribl_control_plane/models/functionsensitivedatascanner.py +128 -0
  158. cribl_control_plane/models/functionserde.py +161 -0
  159. cribl_control_plane/models/functionserialize.py +134 -0
  160. cribl_control_plane/models/functionsidlookup.py +93 -0
  161. cribl_control_plane/models/functionsnmptrapserialize.py +144 -0
  162. cribl_control_plane/models/functionsort.py +97 -0
  163. cribl_control_plane/models/functionstore.py +132 -0
  164. cribl_control_plane/models/functionsuppress.py +115 -0
  165. cribl_control_plane/models/functiontee.py +90 -0
  166. cribl_control_plane/models/functiontrimtimestamp.py +75 -0
  167. cribl_control_plane/models/functionunion.py +80 -0
  168. cribl_control_plane/models/functionunroll.py +80 -0
  169. cribl_control_plane/models/functionwindow.py +96 -0
  170. cribl_control_plane/models/functionxmlunroll.py +92 -0
  171. cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +63 -0
  172. cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +63 -0
  173. cribl_control_plane/models/getconfiggroupbyproductandidop.py +53 -0
  174. cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +43 -0
  175. cribl_control_plane/models/getcribllakedatasetbylakeidandidop.py +5 -24
  176. cribl_control_plane/models/getcribllakedatasetbylakeidop.py +56 -16
  177. cribl_control_plane/models/getfunctionsbyidop.py +18 -0
  178. cribl_control_plane/models/getinputbyidop.py +3 -22
  179. cribl_control_plane/models/getmasterworkerentryop.py +22 -0
  180. cribl_control_plane/models/getoutputbyidop.py +3 -22
  181. cribl_control_plane/models/getoutputpqbyidop.py +3 -21
  182. cribl_control_plane/models/getoutputsamplesbyidop.py +3 -22
  183. cribl_control_plane/models/getpacksbyidop.py +18 -0
  184. cribl_control_plane/models/getpacksop.py +3 -21
  185. cribl_control_plane/models/getpipelinebyidop.py +3 -22
  186. cribl_control_plane/models/getroutesbyidop.py +3 -22
  187. cribl_control_plane/models/getsummaryop.py +23 -32
  188. cribl_control_plane/models/getversioncountop.py +10 -27
  189. cribl_control_plane/models/getversiondiffop.py +12 -28
  190. cribl_control_plane/models/getversionfilesop.py +10 -28
  191. cribl_control_plane/models/getversionop.py +30 -0
  192. cribl_control_plane/models/getversionshowop.py +12 -28
  193. cribl_control_plane/models/getversionstatusop.py +7 -23
  194. cribl_control_plane/models/gitcommitsummary.py +3 -3
  195. cribl_control_plane/models/{routecloneconf.py → gitcountresult.py} +4 -4
  196. cribl_control_plane/models/gitdiffresult.py +16 -0
  197. cribl_control_plane/models/gitfilesresponse.py +7 -5
  198. cribl_control_plane/models/gitinfo.py +14 -3
  199. cribl_control_plane/models/gitlogresult.py +33 -0
  200. cribl_control_plane/models/gitrevertparams.py +3 -3
  201. cribl_control_plane/models/gitrevertresult.py +5 -5
  202. cribl_control_plane/models/gitshowresult.py +19 -0
  203. cribl_control_plane/models/gitstatusresult.py +0 -3
  204. cribl_control_plane/models/groupcreaterequest.py +172 -0
  205. cribl_control_plane/models/hbcriblinfo.py +42 -7
  206. cribl_control_plane/models/healthserverstatus.py +55 -0
  207. cribl_control_plane/models/heartbeatmetadata.py +6 -11
  208. cribl_control_plane/models/input.py +89 -81
  209. cribl_control_plane/models/inputappscope.py +131 -35
  210. cribl_control_plane/models/inputazureblob.py +62 -6
  211. cribl_control_plane/models/inputcloudflarehec.py +518 -0
  212. cribl_control_plane/models/inputcollection.py +49 -6
  213. cribl_control_plane/models/inputconfluentcloud.py +262 -22
  214. cribl_control_plane/models/inputcribl.py +52 -9
  215. cribl_control_plane/models/inputcriblhttp.py +124 -33
  216. cribl_control_plane/models/inputcribllakehttp.py +199 -29
  217. cribl_control_plane/models/inputcriblmetrics.py +53 -9
  218. cribl_control_plane/models/inputcribltcp.py +125 -27
  219. cribl_control_plane/models/inputcrowdstrike.py +99 -10
  220. cribl_control_plane/models/inputdatadogagent.py +101 -27
  221. cribl_control_plane/models/inputdatagen.py +47 -4
  222. cribl_control_plane/models/inputedgeprometheus.py +215 -58
  223. cribl_control_plane/models/inputelastic.py +170 -39
  224. cribl_control_plane/models/inputeventhub.py +212 -9
  225. cribl_control_plane/models/inputexec.py +59 -6
  226. cribl_control_plane/models/inputfile.py +83 -15
  227. cribl_control_plane/models/inputfirehose.py +100 -27
  228. cribl_control_plane/models/inputgooglepubsub.py +83 -15
  229. cribl_control_plane/models/{inputgrafana_union.py → inputgrafana.py} +261 -67
  230. cribl_control_plane/models/inputhttp.py +100 -27
  231. cribl_control_plane/models/inputhttpraw.py +100 -27
  232. cribl_control_plane/models/inputjournalfiles.py +51 -7
  233. cribl_control_plane/models/inputkafka.py +257 -19
  234. cribl_control_plane/models/inputkinesis.py +133 -17
  235. cribl_control_plane/models/inputkubeevents.py +52 -9
  236. cribl_control_plane/models/inputkubelogs.py +66 -13
  237. cribl_control_plane/models/inputkubemetrics.py +66 -13
  238. cribl_control_plane/models/inputloki.py +116 -30
  239. cribl_control_plane/models/inputmetrics.py +97 -24
  240. cribl_control_plane/models/inputmodeldriventelemetry.py +110 -29
  241. cribl_control_plane/models/inputmsk.py +148 -21
  242. cribl_control_plane/models/inputnetflow.py +50 -7
  243. cribl_control_plane/models/inputoffice365mgmt.py +115 -17
  244. cribl_control_plane/models/inputoffice365msgtrace.py +117 -19
  245. cribl_control_plane/models/inputoffice365service.py +117 -19
  246. cribl_control_plane/models/inputopentelemetry.py +146 -35
  247. cribl_control_plane/models/inputprometheus.py +196 -47
  248. cribl_control_plane/models/inputprometheusrw.py +117 -30
  249. cribl_control_plane/models/inputrawudp.py +50 -7
  250. cribl_control_plane/models/inputs3.py +85 -8
  251. cribl_control_plane/models/inputs3inventory.py +99 -10
  252. cribl_control_plane/models/inputsecuritylake.py +100 -10
  253. cribl_control_plane/models/inputsnmp.py +115 -24
  254. cribl_control_plane/models/inputsplunk.py +133 -31
  255. cribl_control_plane/models/inputsplunkhec.py +122 -32
  256. cribl_control_plane/models/inputsplunksearch.py +115 -18
  257. cribl_control_plane/models/inputsqs.py +102 -19
  258. cribl_control_plane/models/{inputsyslog_union.py → inputsyslog.py} +193 -51
  259. cribl_control_plane/models/inputsystemmetrics.py +207 -37
  260. cribl_control_plane/models/inputsystemstate.py +66 -13
  261. cribl_control_plane/models/inputtcp.py +125 -29
  262. cribl_control_plane/models/inputtcpjson.py +115 -29
  263. cribl_control_plane/models/inputwef.py +151 -22
  264. cribl_control_plane/models/inputwindowsmetrics.py +191 -38
  265. cribl_control_plane/models/inputwineventlogs.py +93 -11
  266. cribl_control_plane/models/inputwiz.py +176 -11
  267. cribl_control_plane/models/inputwizwebhook.py +466 -0
  268. cribl_control_plane/models/inputzscalerhec.py +122 -32
  269. cribl_control_plane/models/jobinfo.py +34 -0
  270. cribl_control_plane/models/jobstatus.py +48 -0
  271. cribl_control_plane/models/lakedatasetmetrics.py +17 -0
  272. cribl_control_plane/models/lakehouseconnectiontype.py +2 -1
  273. cribl_control_plane/models/listconfiggroupbyproductop.py +46 -0
  274. cribl_control_plane/models/listmasterworkerentryop.py +64 -0
  275. cribl_control_plane/models/logininfo.py +3 -3
  276. cribl_control_plane/models/masterworkerentry.py +20 -13
  277. cribl_control_plane/models/nodeactiveupgradestatus.py +2 -1
  278. cribl_control_plane/models/nodefailedupgradestatus.py +2 -1
  279. cribl_control_plane/models/nodeprovidedinfo.py +13 -11
  280. cribl_control_plane/models/nodeskippedupgradestatus.py +2 -1
  281. cribl_control_plane/models/nodeupgradestate.py +2 -1
  282. cribl_control_plane/models/nodeupgradestatus.py +51 -5
  283. cribl_control_plane/models/outpostnodeinfo.py +16 -0
  284. cribl_control_plane/models/output.py +103 -89
  285. cribl_control_plane/models/outputazureblob.py +174 -21
  286. cribl_control_plane/models/outputazuredataexplorer.py +517 -93
  287. cribl_control_plane/models/outputazureeventhub.py +318 -34
  288. cribl_control_plane/models/outputazurelogs.py +145 -26
  289. cribl_control_plane/models/outputchronicle.py +532 -0
  290. cribl_control_plane/models/outputclickhouse.py +208 -37
  291. cribl_control_plane/models/outputcloudflarer2.py +632 -0
  292. cribl_control_plane/models/outputcloudwatch.py +132 -26
  293. cribl_control_plane/models/outputconfluentcloud.py +387 -46
  294. cribl_control_plane/models/outputcriblhttp.py +203 -36
  295. cribl_control_plane/models/outputcribllake.py +161 -21
  296. cribl_control_plane/models/outputcribltcp.py +199 -34
  297. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +176 -32
  298. cribl_control_plane/models/outputdatabricks.py +501 -0
  299. cribl_control_plane/models/outputdatadog.py +204 -36
  300. cribl_control_plane/models/outputdataset.py +186 -34
  301. cribl_control_plane/models/outputdevnull.py +5 -5
  302. cribl_control_plane/models/outputdiskspool.py +22 -7
  303. cribl_control_plane/models/outputdls3.py +238 -29
  304. cribl_control_plane/models/outputdynatracehttp.py +211 -37
  305. cribl_control_plane/models/outputdynatraceotlp.py +213 -39
  306. cribl_control_plane/models/outputelastic.py +199 -30
  307. cribl_control_plane/models/outputelasticcloud.py +174 -29
  308. cribl_control_plane/models/outputexabeam.py +99 -13
  309. cribl_control_plane/models/outputfilesystem.py +139 -14
  310. cribl_control_plane/models/outputgooglechronicle.py +216 -35
  311. cribl_control_plane/models/outputgooglecloudlogging.py +177 -34
  312. cribl_control_plane/models/outputgooglecloudstorage.py +220 -29
  313. cribl_control_plane/models/outputgooglepubsub.py +138 -51
  314. cribl_control_plane/models/outputgrafanacloud.py +386 -70
  315. cribl_control_plane/models/outputgraphite.py +131 -28
  316. cribl_control_plane/models/outputhoneycomb.py +145 -26
  317. cribl_control_plane/models/outputhumiohec.py +165 -31
  318. cribl_control_plane/models/outputinfluxdb.py +165 -28
  319. cribl_control_plane/models/outputkafka.py +378 -41
  320. cribl_control_plane/models/outputkinesis.py +168 -30
  321. cribl_control_plane/models/outputloki.py +171 -27
  322. cribl_control_plane/models/outputmicrosoftfabric.py +540 -0
  323. cribl_control_plane/models/outputminio.py +228 -28
  324. cribl_control_plane/models/outputmsk.py +270 -43
  325. cribl_control_plane/models/outputnewrelic.py +176 -34
  326. cribl_control_plane/models/outputnewrelicevents.py +166 -31
  327. cribl_control_plane/models/outputopentelemetry.py +240 -40
  328. cribl_control_plane/models/outputprometheus.py +145 -26
  329. cribl_control_plane/models/outputring.py +54 -13
  330. cribl_control_plane/models/outputs3.py +238 -31
  331. cribl_control_plane/models/outputsecuritylake.py +182 -21
  332. cribl_control_plane/models/outputsentinel.py +175 -32
  333. cribl_control_plane/models/outputsentineloneaisiem.py +184 -38
  334. cribl_control_plane/models/outputservicenow.py +226 -41
  335. cribl_control_plane/models/outputsignalfx.py +145 -26
  336. cribl_control_plane/models/outputsns.py +146 -28
  337. cribl_control_plane/models/outputsplunk.py +209 -39
  338. cribl_control_plane/models/outputsplunkhec.py +243 -31
  339. cribl_control_plane/models/outputsplunklb.py +266 -46
  340. cribl_control_plane/models/outputsqs.py +166 -36
  341. cribl_control_plane/models/outputstatsd.py +130 -28
  342. cribl_control_plane/models/outputstatsdext.py +131 -28
  343. cribl_control_plane/models/outputsumologic.py +146 -25
  344. cribl_control_plane/models/outputsyslog.py +323 -51
  345. cribl_control_plane/models/outputtcpjson.py +191 -37
  346. cribl_control_plane/models/outputwavefront.py +145 -26
  347. cribl_control_plane/models/outputwebhook.py +216 -38
  348. cribl_control_plane/models/outputxsiam.py +148 -31
  349. cribl_control_plane/models/packinfo.py +11 -8
  350. cribl_control_plane/models/packinstallinfo.py +14 -11
  351. cribl_control_plane/models/packrequestbody_union.py +140 -0
  352. cribl_control_plane/models/packupgraderequest.py +26 -0
  353. cribl_control_plane/models/piisettings_union.py +31 -0
  354. cribl_control_plane/models/productscore.py +10 -0
  355. cribl_control_plane/models/rbacresource.py +2 -1
  356. cribl_control_plane/models/resourcepolicy.py +15 -2
  357. cribl_control_plane/models/rollbacksettings_union.py +44 -0
  358. cribl_control_plane/models/routeconf.py +3 -4
  359. cribl_control_plane/models/routes.py +0 -24
  360. cribl_control_plane/models/runnablejob.py +27 -0
  361. cribl_control_plane/models/runnablejobcollection.py +628 -0
  362. cribl_control_plane/models/runnablejobexecutor.py +360 -0
  363. cribl_control_plane/models/runnablejobscheduledsearch.py +279 -0
  364. cribl_control_plane/models/schemeclientoauth.py +5 -0
  365. cribl_control_plane/models/snisettings_union.py +31 -0
  366. cribl_control_plane/models/systemsettingsconf.py +291 -0
  367. cribl_control_plane/models/tlssettings_union.py +43 -0
  368. cribl_control_plane/models/updateconfiggroupbyproductandidop.py +56 -0
  369. cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +53 -0
  370. cribl_control_plane/models/updatecribllakedatasetbylakeidandidop.py +14 -29
  371. cribl_control_plane/models/updatehectokenrequest.py +7 -1
  372. cribl_control_plane/models/updateinputbyidop.py +5 -23
  373. cribl_control_plane/models/updateinputhectokenbyidandtokenop.py +5 -23
  374. cribl_control_plane/models/updateoutputbyidop.py +5 -23
  375. cribl_control_plane/models/updatepacksbyidop.py +12 -50
  376. cribl_control_plane/models/updatepacksop.py +12 -24
  377. cribl_control_plane/models/updatepipelinebyidop.py +5 -23
  378. cribl_control_plane/models/updateroutesbyidop.py +8 -27
  379. cribl_control_plane/models/upgradegroupsettings_union.py +43 -0
  380. cribl_control_plane/models/upgradepackageurls.py +20 -0
  381. cribl_control_plane/models/upgradesettings.py +38 -0
  382. cribl_control_plane/models/uploadpackresponse.py +13 -0
  383. cribl_control_plane/models/{appmode.py → workertypes.py} +2 -5
  384. cribl_control_plane/{workers_sdk.py → nodes.py} +102 -234
  385. cribl_control_plane/packs.py +385 -184
  386. cribl_control_plane/pipelines.py +116 -66
  387. cribl_control_plane/routes_sdk.py +102 -70
  388. cribl_control_plane/samples.py +407 -0
  389. cribl_control_plane/sdk.py +35 -25
  390. cribl_control_plane/settings.py +20 -0
  391. cribl_control_plane/sources.py +143 -545
  392. cribl_control_plane/statuses.py +195 -0
  393. cribl_control_plane/summaries.py +195 -0
  394. cribl_control_plane/system_sdk.py +20 -0
  395. cribl_control_plane/teams.py +36 -28
  396. cribl_control_plane/tokens.py +210 -0
  397. cribl_control_plane/utils/__init__.py +18 -5
  398. cribl_control_plane/utils/annotations.py +32 -8
  399. cribl_control_plane/utils/eventstreaming.py +10 -0
  400. cribl_control_plane/utils/forms.py +21 -10
  401. cribl_control_plane/utils/queryparams.py +14 -2
  402. cribl_control_plane/utils/retries.py +69 -5
  403. cribl_control_plane/utils/security.py +5 -0
  404. cribl_control_plane/utils/unmarshal_json_response.py +15 -1
  405. cribl_control_plane/versions.py +31 -0
  406. cribl_control_plane/{distributed.py → versions_configs.py} +29 -35
  407. cribl_control_plane-0.4.0b23.dist-info/METADATA +855 -0
  408. cribl_control_plane-0.4.0b23.dist-info/RECORD +450 -0
  409. {cribl_control_plane-0.0.21.dist-info → cribl_control_plane-0.4.0b23.dist-info}/WHEEL +1 -1
  410. cribl_control_plane-0.4.0b23.dist-info/licenses/LICENSE +201 -0
  411. cribl_control_plane/errors/healthstatus_error.py +0 -32
  412. cribl_control_plane/models/createinputop.py +0 -18238
  413. cribl_control_plane/models/createoutputop.py +0 -18437
  414. cribl_control_plane/models/createpipelineop.py +0 -24
  415. cribl_control_plane/models/createproductsgroupsbyproductop.py +0 -54
  416. cribl_control_plane/models/createversionpushop.py +0 -23
  417. cribl_control_plane/models/createversionsyncop.py +0 -23
  418. cribl_control_plane/models/deletegroupsbyidop.py +0 -37
  419. cribl_control_plane/models/getgroupsaclbyidop.py +0 -63
  420. cribl_control_plane/models/getgroupsbyidop.py +0 -49
  421. cribl_control_plane/models/getgroupsconfigversionbyidop.py +0 -36
  422. cribl_control_plane/models/getproductsgroupsaclteamsbyproductandidop.py +0 -78
  423. cribl_control_plane/models/getproductsgroupsbyproductop.py +0 -58
  424. cribl_control_plane/models/getsummaryworkersop.py +0 -39
  425. cribl_control_plane/models/getversioncurrentbranchop.py +0 -23
  426. cribl_control_plane/models/getworkersop.py +0 -82
  427. cribl_control_plane/models/healthstatus.py +0 -33
  428. cribl_control_plane/models/packrequestbody.py +0 -75
  429. cribl_control_plane/models/restartresponse.py +0 -26
  430. cribl_control_plane/models/routesroute_input.py +0 -67
  431. cribl_control_plane/models/updategroupsbyidop.py +0 -48
  432. cribl_control_plane/models/updategroupsdeploybyidop.py +0 -46
  433. cribl_control_plane/models/updateworkersrestartop.py +0 -24
  434. cribl_control_plane/versioning.py +0 -2309
  435. cribl_control_plane-0.0.21.dist-info/METADATA +0 -561
  436. cribl_control_plane-0.0.21.dist-info/RECORD +0 -301
@@ -1,10 +1,14 @@
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
7
- from typing import Any, List, Optional
9
+ from pydantic import field_serializer
10
+ from pydantic.functional_validators import PlainValidator
11
+ from typing import List, Optional
8
12
  from typing_extensions import Annotated, NotRequired, TypedDict
9
13
 
10
14
 
@@ -23,20 +27,32 @@ class InputCriblHTTPConnection(BaseModel):
23
27
  pipeline: Optional[str] = None
24
28
 
25
29
 
26
- class InputCriblHTTPMode(str, Enum):
30
+ class InputCriblHTTPMode(str, Enum, metaclass=utils.OpenEnumMeta):
27
31
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
28
32
 
33
+ # Smart
29
34
  SMART = "smart"
35
+ # Always On
30
36
  ALWAYS = "always"
31
37
 
32
38
 
33
- class InputCriblHTTPCompression(str, Enum):
39
+ class InputCriblHTTPCompression(str, Enum, metaclass=utils.OpenEnumMeta):
34
40
  r"""Codec to use to compress the persisted data"""
35
41
 
42
+ # None
36
43
  NONE = "none"
44
+ # Gzip
37
45
  GZIP = "gzip"
38
46
 
39
47
 
48
+ class InputCriblHTTPPqControlsTypedDict(TypedDict):
49
+ pass
50
+
51
+
52
+ class InputCriblHTTPPqControls(BaseModel):
53
+ pass
54
+
55
+
40
56
  class InputCriblHTTPPqTypedDict(TypedDict):
41
57
  mode: NotRequired[InputCriblHTTPMode]
42
58
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
@@ -52,10 +68,13 @@ class InputCriblHTTPPqTypedDict(TypedDict):
52
68
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
53
69
  compress: NotRequired[InputCriblHTTPCompression]
54
70
  r"""Codec to use to compress the persisted data"""
71
+ pq_controls: NotRequired[InputCriblHTTPPqControlsTypedDict]
55
72
 
56
73
 
57
74
  class InputCriblHTTPPq(BaseModel):
58
- mode: Optional[InputCriblHTTPMode] = InputCriblHTTPMode.ALWAYS
75
+ mode: Annotated[
76
+ Optional[InputCriblHTTPMode], PlainValidator(validate_open_enum(False))
77
+ ] = InputCriblHTTPMode.ALWAYS
59
78
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
60
79
 
61
80
  max_buffer_size: Annotated[
@@ -79,18 +98,60 @@ class InputCriblHTTPPq(BaseModel):
79
98
  path: Optional[str] = "$CRIBL_HOME/state/queues"
80
99
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
81
100
 
82
- compress: Optional[InputCriblHTTPCompression] = InputCriblHTTPCompression.NONE
101
+ compress: Annotated[
102
+ Optional[InputCriblHTTPCompression], PlainValidator(validate_open_enum(False))
103
+ ] = InputCriblHTTPCompression.NONE
83
104
  r"""Codec to use to compress the persisted data"""
84
105
 
106
+ pq_controls: Annotated[
107
+ Optional[InputCriblHTTPPqControls], pydantic.Field(alias="pqControls")
108
+ ] = None
109
+
110
+ @field_serializer("mode")
111
+ def serialize_mode(self, value):
112
+ if isinstance(value, str):
113
+ try:
114
+ return models.InputCriblHTTPMode(value)
115
+ except ValueError:
116
+ return value
117
+ return value
118
+
119
+ @field_serializer("compress")
120
+ def serialize_compress(self, value):
121
+ if isinstance(value, str):
122
+ try:
123
+ return models.InputCriblHTTPCompression(value)
124
+ except ValueError:
125
+ return value
126
+ return value
127
+
128
+
129
+ class InputCriblHTTPAuthTokenTypedDict(TypedDict):
130
+ token_secret: str
131
+ r"""Select or create a stored text secret"""
132
+ enabled: NotRequired[bool]
133
+ description: NotRequired[str]
134
+ r"""Optional token description"""
135
+
136
+
137
+ class InputCriblHTTPAuthToken(BaseModel):
138
+ token_secret: Annotated[str, pydantic.Field(alias="tokenSecret")]
139
+ r"""Select or create a stored text secret"""
140
+
141
+ enabled: Optional[bool] = True
85
142
 
86
- class InputCriblHTTPMinimumTLSVersion(str, Enum):
143
+ description: Optional[str] = None
144
+ r"""Optional token description"""
145
+
146
+
147
+ class InputCriblHTTPMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
87
148
  TL_SV1 = "TLSv1"
88
149
  TL_SV1_1 = "TLSv1.1"
89
150
  TL_SV1_2 = "TLSv1.2"
90
151
  TL_SV1_3 = "TLSv1.3"
91
152
 
92
153
 
93
- class InputCriblHTTPMaximumTLSVersion(str, Enum):
154
+ class InputCriblHTTPMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
94
155
  TL_SV1 = "TLSv1"
95
156
  TL_SV1_1 = "TLSv1.1"
96
157
  TL_SV1_2 = "TLSv1.2"
@@ -99,6 +160,12 @@ class InputCriblHTTPMaximumTLSVersion(str, Enum):
99
160
 
100
161
  class InputCriblHTTPTLSSettingsServerSideTypedDict(TypedDict):
101
162
  disabled: NotRequired[bool]
163
+ request_cert: NotRequired[bool]
164
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
165
+ reject_unauthorized: NotRequired[bool]
166
+ r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
167
+ common_name_regex: NotRequired[str]
168
+ r"""Regex matching allowable common names in peer certificates' subject attribute"""
102
169
  certificate_name: NotRequired[str]
103
170
  r"""The name of the predefined certificate"""
104
171
  priv_key_path: NotRequired[str]
@@ -109,10 +176,6 @@ class InputCriblHTTPTLSSettingsServerSideTypedDict(TypedDict):
109
176
  r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
110
177
  ca_path: NotRequired[str]
111
178
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
112
- request_cert: NotRequired[bool]
113
- r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
114
- reject_unauthorized: NotRequired[Any]
115
- common_name_regex: NotRequired[Any]
116
179
  min_version: NotRequired[InputCriblHTTPMinimumTLSVersion]
117
180
  max_version: NotRequired[InputCriblHTTPMaximumTLSVersion]
118
181
 
@@ -120,6 +183,19 @@ class InputCriblHTTPTLSSettingsServerSideTypedDict(TypedDict):
120
183
  class InputCriblHTTPTLSSettingsServerSide(BaseModel):
121
184
  disabled: Optional[bool] = True
122
185
 
186
+ request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
187
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
188
+
189
+ reject_unauthorized: Annotated[
190
+ Optional[bool], pydantic.Field(alias="rejectUnauthorized")
191
+ ] = True
192
+ r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
193
+
194
+ common_name_regex: Annotated[
195
+ Optional[str], pydantic.Field(alias="commonNameRegex")
196
+ ] = "/.*/"
197
+ r"""Regex matching allowable common names in peer certificates' subject attribute"""
198
+
123
199
  certificate_name: Annotated[
124
200
  Optional[str], pydantic.Field(alias="certificateName")
125
201
  ] = None
@@ -137,25 +213,40 @@ class InputCriblHTTPTLSSettingsServerSide(BaseModel):
137
213
  ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
138
214
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
139
215
 
140
- request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
141
- r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
142
-
143
- reject_unauthorized: Annotated[
144
- Optional[Any], pydantic.Field(alias="rejectUnauthorized")
145
- ] = None
146
-
147
- common_name_regex: Annotated[
148
- Optional[Any], pydantic.Field(alias="commonNameRegex")
149
- ] = None
150
-
151
216
  min_version: Annotated[
152
- Optional[InputCriblHTTPMinimumTLSVersion], pydantic.Field(alias="minVersion")
217
+ Annotated[
218
+ Optional[InputCriblHTTPMinimumTLSVersion],
219
+ PlainValidator(validate_open_enum(False)),
220
+ ],
221
+ pydantic.Field(alias="minVersion"),
153
222
  ] = None
154
223
 
155
224
  max_version: Annotated[
156
- Optional[InputCriblHTTPMaximumTLSVersion], pydantic.Field(alias="maxVersion")
225
+ Annotated[
226
+ Optional[InputCriblHTTPMaximumTLSVersion],
227
+ PlainValidator(validate_open_enum(False)),
228
+ ],
229
+ pydantic.Field(alias="maxVersion"),
157
230
  ] = None
158
231
 
232
+ @field_serializer("min_version")
233
+ def serialize_min_version(self, value):
234
+ if isinstance(value, str):
235
+ try:
236
+ return models.InputCriblHTTPMinimumTLSVersion(value)
237
+ except ValueError:
238
+ return value
239
+ return value
240
+
241
+ @field_serializer("max_version")
242
+ def serialize_max_version(self, value):
243
+ if isinstance(value, str):
244
+ try:
245
+ return models.InputCriblHTTPMaximumTLSVersion(value)
246
+ except ValueError:
247
+ return value
248
+ return value
249
+
159
250
 
160
251
  class InputCriblHTTPMetadatumTypedDict(TypedDict):
161
252
  name: str
@@ -171,11 +262,11 @@ class InputCriblHTTPMetadatum(BaseModel):
171
262
 
172
263
 
173
264
  class InputCriblHTTPTypedDict(TypedDict):
265
+ type: InputCriblHTTPType
174
266
  port: float
175
267
  r"""Port to listen on"""
176
268
  id: NotRequired[str]
177
269
  r"""Unique ID for this input"""
178
- type: NotRequired[InputCriblHTTPType]
179
270
  disabled: NotRequired[bool]
180
271
  pipeline: NotRequired[str]
181
272
  r"""Pipeline to process data from this Source before sending it through the Routes"""
@@ -192,8 +283,8 @@ class InputCriblHTTPTypedDict(TypedDict):
192
283
  pq: NotRequired[InputCriblHTTPPqTypedDict]
193
284
  host: NotRequired[str]
194
285
  r"""Address to bind on. Defaults to 0.0.0.0 (all addresses)."""
195
- auth_tokens: NotRequired[List[str]]
196
- r"""Shared secrets to be provided by any client (Authorization: <token>). If empty, unauthorized access is permitted."""
286
+ auth_tokens: NotRequired[List[InputCriblHTTPAuthTokenTypedDict]]
287
+ r"""Shared secrets to be used by connected environments to authorize connections. These tokens should be installed in Cribl HTTP destinations in connected environments."""
197
288
  tls: NotRequired[InputCriblHTTPTLSSettingsServerSideTypedDict]
198
289
  max_active_req: NotRequired[float]
199
290
  r"""Maximum number of active requests allowed per Worker Process. Set to 0 for unlimited. Caution: Increasing the limit above the default value, or setting it to unlimited, may degrade performance and reduce throughput."""
@@ -223,14 +314,14 @@ class InputCriblHTTPTypedDict(TypedDict):
223
314
 
224
315
 
225
316
  class InputCriblHTTP(BaseModel):
317
+ type: InputCriblHTTPType
318
+
226
319
  port: float
227
320
  r"""Port to listen on"""
228
321
 
229
322
  id: Optional[str] = None
230
323
  r"""Unique ID for this input"""
231
324
 
232
- type: Optional[InputCriblHTTPType] = None
233
-
234
325
  disabled: Optional[bool] = False
235
326
 
236
327
  pipeline: Optional[str] = None
@@ -258,10 +349,10 @@ class InputCriblHTTP(BaseModel):
258
349
  host: Optional[str] = "0.0.0.0"
259
350
  r"""Address to bind on. Defaults to 0.0.0.0 (all addresses)."""
260
351
 
261
- auth_tokens: Annotated[Optional[List[str]], pydantic.Field(alias="authTokens")] = (
262
- None
263
- )
264
- r"""Shared secrets to be provided by any client (Authorization: <token>). If empty, unauthorized access is permitted."""
352
+ auth_tokens: Annotated[
353
+ Optional[List[InputCriblHTTPAuthToken]], pydantic.Field(alias="authTokens")
354
+ ] = None
355
+ r"""Shared secrets to be used by connected environments to authorize connections. These tokens should be installed in Cribl HTTP destinations in connected environments."""
265
356
 
266
357
  tls: Optional[InputCriblHTTPTLSSettingsServerSide] = None
267
358
 
@@ -1,10 +1,14 @@
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
7
- from typing import Any, List, Optional
9
+ from pydantic import field_serializer
10
+ from pydantic.functional_validators import PlainValidator
11
+ from typing import List, Optional
8
12
  from typing_extensions import Annotated, NotRequired, TypedDict
9
13
 
10
14
 
@@ -23,20 +27,32 @@ class InputCriblLakeHTTPConnection(BaseModel):
23
27
  pipeline: Optional[str] = None
24
28
 
25
29
 
26
- class InputCriblLakeHTTPMode(str, Enum):
30
+ class InputCriblLakeHTTPMode(str, Enum, metaclass=utils.OpenEnumMeta):
27
31
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
28
32
 
33
+ # Smart
29
34
  SMART = "smart"
35
+ # Always On
30
36
  ALWAYS = "always"
31
37
 
32
38
 
33
- class InputCriblLakeHTTPCompression(str, Enum):
39
+ class InputCriblLakeHTTPCompression(str, Enum, metaclass=utils.OpenEnumMeta):
34
40
  r"""Codec to use to compress the persisted data"""
35
41
 
42
+ # None
36
43
  NONE = "none"
44
+ # Gzip
37
45
  GZIP = "gzip"
38
46
 
39
47
 
48
+ class InputCriblLakeHTTPPqControlsTypedDict(TypedDict):
49
+ pass
50
+
51
+
52
+ class InputCriblLakeHTTPPqControls(BaseModel):
53
+ pass
54
+
55
+
40
56
  class InputCriblLakeHTTPPqTypedDict(TypedDict):
41
57
  mode: NotRequired[InputCriblLakeHTTPMode]
42
58
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
@@ -52,10 +68,13 @@ class InputCriblLakeHTTPPqTypedDict(TypedDict):
52
68
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
53
69
  compress: NotRequired[InputCriblLakeHTTPCompression]
54
70
  r"""Codec to use to compress the persisted data"""
71
+ pq_controls: NotRequired[InputCriblLakeHTTPPqControlsTypedDict]
55
72
 
56
73
 
57
74
  class InputCriblLakeHTTPPq(BaseModel):
58
- mode: Optional[InputCriblLakeHTTPMode] = InputCriblLakeHTTPMode.ALWAYS
75
+ mode: Annotated[
76
+ Optional[InputCriblLakeHTTPMode], PlainValidator(validate_open_enum(False))
77
+ ] = InputCriblLakeHTTPMode.ALWAYS
59
78
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
60
79
 
61
80
  max_buffer_size: Annotated[
@@ -79,20 +98,43 @@ class InputCriblLakeHTTPPq(BaseModel):
79
98
  path: Optional[str] = "$CRIBL_HOME/state/queues"
80
99
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
81
100
 
82
- compress: Optional[InputCriblLakeHTTPCompression] = (
83
- InputCriblLakeHTTPCompression.NONE
84
- )
101
+ compress: Annotated[
102
+ Optional[InputCriblLakeHTTPCompression],
103
+ PlainValidator(validate_open_enum(False)),
104
+ ] = InputCriblLakeHTTPCompression.NONE
85
105
  r"""Codec to use to compress the persisted data"""
86
106
 
107
+ pq_controls: Annotated[
108
+ Optional[InputCriblLakeHTTPPqControls], pydantic.Field(alias="pqControls")
109
+ ] = None
87
110
 
88
- class InputCriblLakeHTTPMinimumTLSVersion(str, Enum):
111
+ @field_serializer("mode")
112
+ def serialize_mode(self, value):
113
+ if isinstance(value, str):
114
+ try:
115
+ return models.InputCriblLakeHTTPMode(value)
116
+ except ValueError:
117
+ return value
118
+ return value
119
+
120
+ @field_serializer("compress")
121
+ def serialize_compress(self, value):
122
+ if isinstance(value, str):
123
+ try:
124
+ return models.InputCriblLakeHTTPCompression(value)
125
+ except ValueError:
126
+ return value
127
+ return value
128
+
129
+
130
+ class InputCriblLakeHTTPMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
89
131
  TL_SV1 = "TLSv1"
90
132
  TL_SV1_1 = "TLSv1.1"
91
133
  TL_SV1_2 = "TLSv1.2"
92
134
  TL_SV1_3 = "TLSv1.3"
93
135
 
94
136
 
95
- class InputCriblLakeHTTPMaximumTLSVersion(str, Enum):
137
+ class InputCriblLakeHTTPMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
96
138
  TL_SV1 = "TLSv1"
97
139
  TL_SV1_1 = "TLSv1.1"
98
140
  TL_SV1_2 = "TLSv1.2"
@@ -101,6 +143,12 @@ class InputCriblLakeHTTPMaximumTLSVersion(str, Enum):
101
143
 
102
144
  class InputCriblLakeHTTPTLSSettingsServerSideTypedDict(TypedDict):
103
145
  disabled: NotRequired[bool]
146
+ request_cert: NotRequired[bool]
147
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
148
+ reject_unauthorized: NotRequired[bool]
149
+ r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
150
+ common_name_regex: NotRequired[str]
151
+ r"""Regex matching allowable common names in peer certificates' subject attribute"""
104
152
  certificate_name: NotRequired[str]
105
153
  r"""The name of the predefined certificate"""
106
154
  priv_key_path: NotRequired[str]
@@ -111,10 +159,6 @@ class InputCriblLakeHTTPTLSSettingsServerSideTypedDict(TypedDict):
111
159
  r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
112
160
  ca_path: NotRequired[str]
113
161
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
114
- request_cert: NotRequired[bool]
115
- r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
116
- reject_unauthorized: NotRequired[Any]
117
- common_name_regex: NotRequired[Any]
118
162
  min_version: NotRequired[InputCriblLakeHTTPMinimumTLSVersion]
119
163
  max_version: NotRequired[InputCriblLakeHTTPMaximumTLSVersion]
120
164
 
@@ -122,6 +166,19 @@ class InputCriblLakeHTTPTLSSettingsServerSideTypedDict(TypedDict):
122
166
  class InputCriblLakeHTTPTLSSettingsServerSide(BaseModel):
123
167
  disabled: Optional[bool] = True
124
168
 
169
+ request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
170
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
171
+
172
+ reject_unauthorized: Annotated[
173
+ Optional[bool], pydantic.Field(alias="rejectUnauthorized")
174
+ ] = True
175
+ r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
176
+
177
+ common_name_regex: Annotated[
178
+ Optional[str], pydantic.Field(alias="commonNameRegex")
179
+ ] = "/.*/"
180
+ r"""Regex matching allowable common names in peer certificates' subject attribute"""
181
+
125
182
  certificate_name: Annotated[
126
183
  Optional[str], pydantic.Field(alias="certificateName")
127
184
  ] = None
@@ -139,27 +196,40 @@ class InputCriblLakeHTTPTLSSettingsServerSide(BaseModel):
139
196
  ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
140
197
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
141
198
 
142
- request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
143
- r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
144
-
145
- reject_unauthorized: Annotated[
146
- Optional[Any], pydantic.Field(alias="rejectUnauthorized")
147
- ] = None
148
-
149
- common_name_regex: Annotated[
150
- Optional[Any], pydantic.Field(alias="commonNameRegex")
151
- ] = None
152
-
153
199
  min_version: Annotated[
154
- Optional[InputCriblLakeHTTPMinimumTLSVersion],
200
+ Annotated[
201
+ Optional[InputCriblLakeHTTPMinimumTLSVersion],
202
+ PlainValidator(validate_open_enum(False)),
203
+ ],
155
204
  pydantic.Field(alias="minVersion"),
156
205
  ] = None
157
206
 
158
207
  max_version: Annotated[
159
- Optional[InputCriblLakeHTTPMaximumTLSVersion],
208
+ Annotated[
209
+ Optional[InputCriblLakeHTTPMaximumTLSVersion],
210
+ PlainValidator(validate_open_enum(False)),
211
+ ],
160
212
  pydantic.Field(alias="maxVersion"),
161
213
  ] = None
162
214
 
215
+ @field_serializer("min_version")
216
+ def serialize_min_version(self, value):
217
+ if isinstance(value, str):
218
+ try:
219
+ return models.InputCriblLakeHTTPMinimumTLSVersion(value)
220
+ except ValueError:
221
+ return value
222
+ return value
223
+
224
+ @field_serializer("max_version")
225
+ def serialize_max_version(self, value):
226
+ if isinstance(value, str):
227
+ try:
228
+ return models.InputCriblLakeHTTPMaximumTLSVersion(value)
229
+ except ValueError:
230
+ return value
231
+ return value
232
+
163
233
 
164
234
  class InputCriblLakeHTTPMetadatumTypedDict(TypedDict):
165
235
  name: str
@@ -174,12 +244,82 @@ class InputCriblLakeHTTPMetadatum(BaseModel):
174
244
  r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
175
245
 
176
246
 
247
+ class InputCriblLakeHTTPAuthTokensExtMetadatumTypedDict(TypedDict):
248
+ name: str
249
+ value: str
250
+ r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
251
+
252
+
253
+ class InputCriblLakeHTTPAuthTokensExtMetadatum(BaseModel):
254
+ name: str
255
+
256
+ value: str
257
+ r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
258
+
259
+
260
+ class SplunkHecMetadataTypedDict(TypedDict):
261
+ enabled: NotRequired[bool]
262
+ default_dataset: NotRequired[str]
263
+ allowed_indexes_at_token: NotRequired[List[str]]
264
+
265
+
266
+ class SplunkHecMetadata(BaseModel):
267
+ enabled: Optional[bool] = None
268
+
269
+ default_dataset: Annotated[
270
+ Optional[str], pydantic.Field(alias="defaultDataset")
271
+ ] = None
272
+
273
+ allowed_indexes_at_token: Annotated[
274
+ Optional[List[str]], pydantic.Field(alias="allowedIndexesAtToken")
275
+ ] = None
276
+
277
+
278
+ class ElasticsearchMetadataTypedDict(TypedDict):
279
+ enabled: NotRequired[bool]
280
+ default_dataset: NotRequired[str]
281
+
282
+
283
+ class ElasticsearchMetadata(BaseModel):
284
+ enabled: Optional[bool] = None
285
+
286
+ default_dataset: Annotated[
287
+ Optional[str], pydantic.Field(alias="defaultDataset")
288
+ ] = None
289
+
290
+
291
+ class InputCriblLakeHTTPAuthTokensExtTypedDict(TypedDict):
292
+ token: str
293
+ description: NotRequired[str]
294
+ metadata: NotRequired[List[InputCriblLakeHTTPAuthTokensExtMetadatumTypedDict]]
295
+ r"""Fields to add to events referencing this token"""
296
+ splunk_hec_metadata: NotRequired[SplunkHecMetadataTypedDict]
297
+ elasticsearch_metadata: NotRequired[ElasticsearchMetadataTypedDict]
298
+
299
+
300
+ class InputCriblLakeHTTPAuthTokensExt(BaseModel):
301
+ token: str
302
+
303
+ description: Optional[str] = None
304
+
305
+ metadata: Optional[List[InputCriblLakeHTTPAuthTokensExtMetadatum]] = None
306
+ r"""Fields to add to events referencing this token"""
307
+
308
+ splunk_hec_metadata: Annotated[
309
+ Optional[SplunkHecMetadata], pydantic.Field(alias="splunkHecMetadata")
310
+ ] = None
311
+
312
+ elasticsearch_metadata: Annotated[
313
+ Optional[ElasticsearchMetadata], pydantic.Field(alias="elasticsearchMetadata")
314
+ ] = None
315
+
316
+
177
317
  class InputCriblLakeHTTPTypedDict(TypedDict):
318
+ type: InputCriblLakeHTTPType
178
319
  port: float
179
320
  r"""Port to listen on"""
180
321
  id: NotRequired[str]
181
322
  r"""Unique ID for this input"""
182
- type: NotRequired[InputCriblLakeHTTPType]
183
323
  disabled: NotRequired[bool]
184
324
  pipeline: NotRequired[str]
185
325
  r"""Pipeline to process data from this Source before sending it through the Routes"""
@@ -221,20 +361,28 @@ class InputCriblLakeHTTPTypedDict(TypedDict):
221
361
  r"""Messages from matched IP addresses will be processed, unless also matched by the denylist"""
222
362
  ip_denylist_regex: NotRequired[str]
223
363
  r"""Messages from matched IP addresses will be ignored. This takes precedence over the allowlist."""
364
+ cribl_api: NotRequired[str]
365
+ r"""Absolute path on which to listen for the Cribl HTTP API requests. Only _bulk (default /cribl/_bulk) is available. Use empty string to disable."""
366
+ elastic_api: NotRequired[str]
367
+ r"""Absolute path on which to listen for the Elasticsearch API requests. Only _bulk (default /elastic/_bulk) is available. Use empty string to disable."""
368
+ splunk_hec_api: NotRequired[str]
369
+ r"""Absolute path on which listen for the Splunk HTTP Event Collector API requests. Use empty string to disable."""
370
+ splunk_hec_acks: NotRequired[bool]
224
371
  metadata: NotRequired[List[InputCriblLakeHTTPMetadatumTypedDict]]
225
372
  r"""Fields to add to events from this input"""
373
+ auth_tokens_ext: NotRequired[List[InputCriblLakeHTTPAuthTokensExtTypedDict]]
226
374
  description: NotRequired[str]
227
375
 
228
376
 
229
377
  class InputCriblLakeHTTP(BaseModel):
378
+ type: InputCriblLakeHTTPType
379
+
230
380
  port: float
231
381
  r"""Port to listen on"""
232
382
 
233
383
  id: Optional[str] = None
234
384
  r"""Unique ID for this input"""
235
385
 
236
- type: Optional[InputCriblLakeHTTPType] = None
237
-
238
386
  disabled: Optional[bool] = False
239
387
 
240
388
  pipeline: Optional[str] = None
@@ -324,7 +472,29 @@ class InputCriblLakeHTTP(BaseModel):
324
472
  ] = "/^$/"
325
473
  r"""Messages from matched IP addresses will be ignored. This takes precedence over the allowlist."""
326
474
 
475
+ cribl_api: Annotated[Optional[str], pydantic.Field(alias="criblAPI")] = "/cribl"
476
+ r"""Absolute path on which to listen for the Cribl HTTP API requests. Only _bulk (default /cribl/_bulk) is available. Use empty string to disable."""
477
+
478
+ elastic_api: Annotated[Optional[str], pydantic.Field(alias="elasticAPI")] = (
479
+ "/elastic"
480
+ )
481
+ r"""Absolute path on which to listen for the Elasticsearch API requests. Only _bulk (default /elastic/_bulk) is available. Use empty string to disable."""
482
+
483
+ splunk_hec_api: Annotated[Optional[str], pydantic.Field(alias="splunkHecAPI")] = (
484
+ "/services/collector"
485
+ )
486
+ r"""Absolute path on which listen for the Splunk HTTP Event Collector API requests. Use empty string to disable."""
487
+
488
+ splunk_hec_acks: Annotated[
489
+ Optional[bool], pydantic.Field(alias="splunkHecAcks")
490
+ ] = False
491
+
327
492
  metadata: Optional[List[InputCriblLakeHTTPMetadatum]] = None
328
493
  r"""Fields to add to events from this input"""
329
494
 
495
+ auth_tokens_ext: Annotated[
496
+ Optional[List[InputCriblLakeHTTPAuthTokensExt]],
497
+ pydantic.Field(alias="authTokensExt"),
498
+ ] = None
499
+
330
500
  description: Optional[str] = None