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
@@ -3,6 +3,7 @@
3
3
  from __future__ import annotations
4
4
  from .inputappscope import InputAppscope, InputAppscopeTypedDict
5
5
  from .inputazureblob import InputAzureBlob, InputAzureBlobTypedDict
6
+ from .inputcloudflarehec import InputCloudflareHec, InputCloudflareHecTypedDict
6
7
  from .inputcollection import InputCollection, InputCollectionTypedDict
7
8
  from .inputconfluentcloud import InputConfluentCloud, InputConfluentCloudTypedDict
8
9
  from .inputcribl import InputCribl, InputCriblTypedDict
@@ -20,7 +21,7 @@ from .inputexec import InputExec, InputExecTypedDict
20
21
  from .inputfile import InputFile, InputFileTypedDict
21
22
  from .inputfirehose import InputFirehose, InputFirehoseTypedDict
22
23
  from .inputgooglepubsub import InputGooglePubsub, InputGooglePubsubTypedDict
23
- from .inputgrafana_union import InputGrafanaUnion, InputGrafanaUnionTypedDict
24
+ from .inputgrafana import InputGrafana, InputGrafanaTypedDict
24
25
  from .inputhttp import InputHTTP, InputHTTPTypedDict
25
26
  from .inputhttpraw import InputHTTPRaw, InputHTTPRawTypedDict
26
27
  from .inputjournalfiles import InputJournalFiles, InputJournalFilesTypedDict
@@ -55,7 +56,7 @@ from .inputsplunk import InputSplunk, InputSplunkTypedDict
55
56
  from .inputsplunkhec import InputSplunkHec, InputSplunkHecTypedDict
56
57
  from .inputsplunksearch import InputSplunkSearch, InputSplunkSearchTypedDict
57
58
  from .inputsqs import InputSqs, InputSqsTypedDict
58
- from .inputsyslog_union import InputSyslogUnion, InputSyslogUnionTypedDict
59
+ from .inputsyslog import InputSyslog, InputSyslogTypedDict
59
60
  from .inputsystemmetrics import InputSystemMetrics, InputSystemMetricsTypedDict
60
61
  from .inputsystemstate import InputSystemState, InputSystemStateTypedDict
61
62
  from .inputtcp import InputTCP, InputTCPTypedDict
@@ -64,9 +65,12 @@ from .inputwef import InputWef, InputWefTypedDict
64
65
  from .inputwindowsmetrics import InputWindowsMetrics, InputWindowsMetricsTypedDict
65
66
  from .inputwineventlogs import InputWinEventLogs, InputWinEventLogsTypedDict
66
67
  from .inputwiz import InputWiz, InputWizTypedDict
68
+ from .inputwizwebhook import InputWizWebhook, InputWizWebhookTypedDict
67
69
  from .inputzscalerhec import InputZscalerHec, InputZscalerHecTypedDict
70
+ from cribl_control_plane.utils import get_discriminator
71
+ from pydantic import Discriminator, Tag
68
72
  from typing import Union
69
- from typing_extensions import TypeAliasType
73
+ from typing_extensions import Annotated, TypeAliasType
70
74
 
71
75
 
72
76
  InputTypedDict = TypeAliasType(
@@ -79,121 +83,125 @@ InputTypedDict = TypeAliasType(
79
83
  InputKubeMetricsTypedDict,
80
84
  InputSystemStateTypedDict,
81
85
  InputCollectionTypedDict,
82
- InputSystemMetricsTypedDict,
83
86
  InputModelDrivenTelemetryTypedDict,
84
87
  InputWindowsMetricsTypedDict,
88
+ InputSystemMetricsTypedDict,
85
89
  InputJournalFilesTypedDict,
86
90
  InputRawUDPTypedDict,
87
- InputWinEventLogsTypedDict,
88
- InputExecTypedDict,
89
91
  InputKubeLogsTypedDict,
92
+ InputExecTypedDict,
90
93
  InputMetricsTypedDict,
91
94
  InputSnmpTypedDict,
95
+ InputWinEventLogsTypedDict,
92
96
  InputCriblTCPTypedDict,
93
97
  InputNetflowTypedDict,
94
98
  InputGooglePubsubTypedDict,
95
99
  InputTcpjsonTypedDict,
96
100
  InputOffice365ServiceTypedDict,
97
- InputTCPTypedDict,
98
101
  InputWizTypedDict,
99
102
  InputFirehoseTypedDict,
100
103
  InputCriblHTTPTypedDict,
101
- InputCriblLakeHTTPTypedDict,
102
- InputDatadogAgentTypedDict,
103
104
  InputOffice365MgmtTypedDict,
104
- InputFileTypedDict,
105
+ InputDatadogAgentTypedDict,
106
+ InputTCPTypedDict,
105
107
  InputSplunkTypedDict,
108
+ InputFileTypedDict,
106
109
  InputWefTypedDict,
107
110
  InputAppscopeTypedDict,
108
- InputHTTPRawTypedDict,
111
+ InputWizWebhookTypedDict,
109
112
  InputHTTPTypedDict,
113
+ InputHTTPRawTypedDict,
114
+ InputCriblLakeHTTPTypedDict,
110
115
  InputAzureBlobTypedDict,
111
116
  InputZscalerHecTypedDict,
112
117
  InputSqsTypedDict,
118
+ InputCloudflareHecTypedDict,
113
119
  InputConfluentCloudTypedDict,
114
- InputKinesisTypedDict,
115
- InputEventhubTypedDict,
116
120
  InputKafkaTypedDict,
121
+ InputEventhubTypedDict,
122
+ InputKinesisTypedDict,
117
123
  InputElasticTypedDict,
118
- InputSplunkHecTypedDict,
119
124
  InputOffice365MsgTraceTypedDict,
120
- InputLokiTypedDict,
125
+ InputSplunkHecTypedDict,
121
126
  InputPrometheusRwTypedDict,
127
+ InputLokiTypedDict,
122
128
  InputCrowdstrikeTypedDict,
123
- InputPrometheusTypedDict,
124
129
  InputEdgePrometheusTypedDict,
130
+ InputOpenTelemetryTypedDict,
131
+ InputPrometheusTypedDict,
125
132
  InputS3TypedDict,
126
133
  InputSecurityLakeTypedDict,
127
- InputOpenTelemetryTypedDict,
128
- InputS3InventoryTypedDict,
129
134
  InputMskTypedDict,
135
+ InputS3InventoryTypedDict,
130
136
  InputSplunkSearchTypedDict,
131
- InputSyslogUnionTypedDict,
132
- InputGrafanaUnionTypedDict,
137
+ InputSyslogTypedDict,
138
+ InputGrafanaTypedDict,
133
139
  ],
134
140
  )
135
141
 
136
142
 
137
- Input = TypeAliasType(
138
- "Input",
143
+ Input = Annotated[
139
144
  Union[
140
- InputCribl,
141
- InputKubeEvents,
142
- InputDatagen,
143
- InputCriblmetrics,
144
- InputKubeMetrics,
145
- InputSystemState,
146
- InputCollection,
147
- InputSystemMetrics,
148
- InputModelDrivenTelemetry,
149
- InputWindowsMetrics,
150
- InputJournalFiles,
151
- InputRawUDP,
152
- InputWinEventLogs,
153
- InputExec,
154
- InputKubeLogs,
155
- InputMetrics,
156
- InputSnmp,
157
- InputCriblTCP,
158
- InputNetflow,
159
- InputGooglePubsub,
160
- InputTcpjson,
161
- InputOffice365Service,
162
- InputTCP,
163
- InputWiz,
164
- InputFirehose,
165
- InputCriblHTTP,
166
- InputCriblLakeHTTP,
167
- InputDatadogAgent,
168
- InputOffice365Mgmt,
169
- InputFile,
170
- InputSplunk,
171
- InputWef,
172
- InputAppscope,
173
- InputHTTPRaw,
174
- InputHTTP,
175
- InputAzureBlob,
176
- InputZscalerHec,
177
- InputSqs,
178
- InputConfluentCloud,
179
- InputKinesis,
180
- InputEventhub,
181
- InputKafka,
182
- InputElastic,
183
- InputSplunkHec,
184
- InputOffice365MsgTrace,
185
- InputLoki,
186
- InputPrometheusRw,
187
- InputCrowdstrike,
188
- InputPrometheus,
189
- InputEdgePrometheus,
190
- InputS3,
191
- InputSecurityLake,
192
- InputOpenTelemetry,
193
- InputS3Inventory,
194
- InputMsk,
195
- InputSplunkSearch,
196
- InputSyslogUnion,
197
- InputGrafanaUnion,
145
+ Annotated[InputCollection, Tag("collection")],
146
+ Annotated[InputKafka, Tag("kafka")],
147
+ Annotated[InputMsk, Tag("msk")],
148
+ Annotated[InputHTTP, Tag("http")],
149
+ Annotated[InputSplunk, Tag("splunk")],
150
+ Annotated[InputSplunkSearch, Tag("splunk_search")],
151
+ Annotated[InputSplunkHec, Tag("splunk_hec")],
152
+ Annotated[InputAzureBlob, Tag("azure_blob")],
153
+ Annotated[InputElastic, Tag("elastic")],
154
+ Annotated[InputConfluentCloud, Tag("confluent_cloud")],
155
+ Annotated[InputGrafana, Tag("grafana")],
156
+ Annotated[InputLoki, Tag("loki")],
157
+ Annotated[InputPrometheusRw, Tag("prometheus_rw")],
158
+ Annotated[InputPrometheus, Tag("prometheus")],
159
+ Annotated[InputEdgePrometheus, Tag("edge_prometheus")],
160
+ Annotated[InputOffice365Mgmt, Tag("office365_mgmt")],
161
+ Annotated[InputOffice365Service, Tag("office365_service")],
162
+ Annotated[InputOffice365MsgTrace, Tag("office365_msg_trace")],
163
+ Annotated[InputEventhub, Tag("eventhub")],
164
+ Annotated[InputExec, Tag("exec")],
165
+ Annotated[InputFirehose, Tag("firehose")],
166
+ Annotated[InputGooglePubsub, Tag("google_pubsub")],
167
+ Annotated[InputCribl, Tag("cribl")],
168
+ Annotated[InputCriblTCP, Tag("cribl_tcp")],
169
+ Annotated[InputCriblHTTP, Tag("cribl_http")],
170
+ Annotated[InputCriblLakeHTTP, Tag("cribl_lake_http")],
171
+ Annotated[InputTcpjson, Tag("tcpjson")],
172
+ Annotated[InputSystemMetrics, Tag("system_metrics")],
173
+ Annotated[InputSystemState, Tag("system_state")],
174
+ Annotated[InputKubeMetrics, Tag("kube_metrics")],
175
+ Annotated[InputKubeLogs, Tag("kube_logs")],
176
+ Annotated[InputKubeEvents, Tag("kube_events")],
177
+ Annotated[InputWindowsMetrics, Tag("windows_metrics")],
178
+ Annotated[InputCrowdstrike, Tag("crowdstrike")],
179
+ Annotated[InputDatadogAgent, Tag("datadog_agent")],
180
+ Annotated[InputDatagen, Tag("datagen")],
181
+ Annotated[InputHTTPRaw, Tag("http_raw")],
182
+ Annotated[InputKinesis, Tag("kinesis")],
183
+ Annotated[InputCriblmetrics, Tag("criblmetrics")],
184
+ Annotated[InputMetrics, Tag("metrics")],
185
+ Annotated[InputS3, Tag("s3")],
186
+ Annotated[InputS3Inventory, Tag("s3_inventory")],
187
+ Annotated[InputSnmp, Tag("snmp")],
188
+ Annotated[InputOpenTelemetry, Tag("open_telemetry")],
189
+ Annotated[InputModelDrivenTelemetry, Tag("model_driven_telemetry")],
190
+ Annotated[InputSqs, Tag("sqs")],
191
+ Annotated[InputSyslog, Tag("syslog")],
192
+ Annotated[InputFile, Tag("file")],
193
+ Annotated[InputTCP, Tag("tcp")],
194
+ Annotated[InputAppscope, Tag("appscope")],
195
+ Annotated[InputWef, Tag("wef")],
196
+ Annotated[InputWinEventLogs, Tag("win_event_logs")],
197
+ Annotated[InputRawUDP, Tag("raw_udp")],
198
+ Annotated[InputJournalFiles, Tag("journal_files")],
199
+ Annotated[InputWiz, Tag("wiz")],
200
+ Annotated[InputWizWebhook, Tag("wiz_webhook")],
201
+ Annotated[InputNetflow, Tag("netflow")],
202
+ Annotated[InputSecurityLake, Tag("security_lake")],
203
+ Annotated[InputZscalerHec, Tag("zscaler_hec")],
204
+ Annotated[InputCloudflareHec, Tag("cloudflare_hec")],
198
205
  ],
199
- )
206
+ Discriminator(lambda m: get_discriminator(m, "type", "type")),
207
+ ]
@@ -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 InputAppscopeConnection(BaseModel):
23
27
  pipeline: Optional[str] = None
24
28
 
25
29
 
26
- class InputAppscopeMode(str, Enum):
30
+ class InputAppscopeMode(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 InputAppscopeCompression(str, Enum):
39
+ class InputAppscopeCompression(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 InputAppscopePqControlsTypedDict(TypedDict):
49
+ pass
50
+
51
+
52
+ class InputAppscopePqControls(BaseModel):
53
+ pass
54
+
55
+
40
56
  class InputAppscopePqTypedDict(TypedDict):
41
57
  mode: NotRequired[InputAppscopeMode]
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 InputAppscopePqTypedDict(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[InputAppscopeCompression]
54
70
  r"""Codec to use to compress the persisted data"""
71
+ pq_controls: NotRequired[InputAppscopePqControlsTypedDict]
55
72
 
56
73
 
57
74
  class InputAppscopePq(BaseModel):
58
- mode: Optional[InputAppscopeMode] = InputAppscopeMode.ALWAYS
75
+ mode: Annotated[
76
+ Optional[InputAppscopeMode], PlainValidator(validate_open_enum(False))
77
+ ] = InputAppscopeMode.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,9 +98,33 @@ class InputAppscopePq(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[InputAppscopeCompression] = InputAppscopeCompression.NONE
101
+ compress: Annotated[
102
+ Optional[InputAppscopeCompression], PlainValidator(validate_open_enum(False))
103
+ ] = InputAppscopeCompression.NONE
83
104
  r"""Codec to use to compress the persisted data"""
84
105
 
106
+ pq_controls: Annotated[
107
+ Optional[InputAppscopePqControls], 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.InputAppscopeMode(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.InputAppscopeCompression(value)
124
+ except ValueError:
125
+ return value
126
+ return value
127
+
85
128
 
86
129
  class InputAppscopeMetadatumTypedDict(TypedDict):
87
130
  name: str
@@ -131,7 +174,7 @@ class InputAppscopeFilter(BaseModel):
131
174
  r"""To override the UNIX domain socket or address/port specified in General Settings (while leaving Authentication settings as is), enter a URL."""
132
175
 
133
176
 
134
- class InputAppscopeDataCompressionFormat(str, Enum):
177
+ class InputAppscopeDataCompressionFormat(str, Enum, metaclass=utils.OpenEnumMeta):
135
178
  NONE = "none"
136
179
  GZIP = "gzip"
137
180
 
@@ -163,31 +206,41 @@ class InputAppscopePersistence(BaseModel):
163
206
  max_data_time: Annotated[Optional[str], pydantic.Field(alias="maxDataTime")] = "24h"
164
207
  r"""Maximum amount of time to retain data (examples: 2h, 4d). When limit is reached, older data will be deleted."""
165
208
 
166
- compress: Optional[InputAppscopeDataCompressionFormat] = (
167
- InputAppscopeDataCompressionFormat.GZIP
168
- )
209
+ compress: Annotated[
210
+ Optional[InputAppscopeDataCompressionFormat],
211
+ PlainValidator(validate_open_enum(False)),
212
+ ] = InputAppscopeDataCompressionFormat.GZIP
169
213
 
170
214
  dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = (
171
215
  "$CRIBL_HOME/state/appscope"
172
216
  )
173
217
  r"""Path to use to write metrics. Defaults to $CRIBL_HOME/state/appscope"""
174
218
 
219
+ @field_serializer("compress")
220
+ def serialize_compress(self, value):
221
+ if isinstance(value, str):
222
+ try:
223
+ return models.InputAppscopeDataCompressionFormat(value)
224
+ except ValueError:
225
+ return value
226
+ return value
175
227
 
176
- class InputAppscopeAuthenticationMethod(str, Enum):
228
+
229
+ class InputAppscopeAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
177
230
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
178
231
 
179
232
  MANUAL = "manual"
180
233
  SECRET = "secret"
181
234
 
182
235
 
183
- class InputAppscopeMinimumTLSVersion(str, Enum):
236
+ class InputAppscopeMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
184
237
  TL_SV1 = "TLSv1"
185
238
  TL_SV1_1 = "TLSv1.1"
186
239
  TL_SV1_2 = "TLSv1.2"
187
240
  TL_SV1_3 = "TLSv1.3"
188
241
 
189
242
 
190
- class InputAppscopeMaximumTLSVersion(str, Enum):
243
+ class InputAppscopeMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
191
244
  TL_SV1 = "TLSv1"
192
245
  TL_SV1_1 = "TLSv1.1"
193
246
  TL_SV1_2 = "TLSv1.2"
@@ -196,6 +249,12 @@ class InputAppscopeMaximumTLSVersion(str, Enum):
196
249
 
197
250
  class InputAppscopeTLSSettingsServerSideTypedDict(TypedDict):
198
251
  disabled: NotRequired[bool]
252
+ request_cert: NotRequired[bool]
253
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
254
+ reject_unauthorized: NotRequired[bool]
255
+ r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
256
+ common_name_regex: NotRequired[str]
257
+ r"""Regex matching allowable common names in peer certificates' subject attribute"""
199
258
  certificate_name: NotRequired[str]
200
259
  r"""The name of the predefined certificate"""
201
260
  priv_key_path: NotRequired[str]
@@ -206,10 +265,6 @@ class InputAppscopeTLSSettingsServerSideTypedDict(TypedDict):
206
265
  r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
207
266
  ca_path: NotRequired[str]
208
267
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
209
- request_cert: NotRequired[bool]
210
- r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
211
- reject_unauthorized: NotRequired[Any]
212
- common_name_regex: NotRequired[Any]
213
268
  min_version: NotRequired[InputAppscopeMinimumTLSVersion]
214
269
  max_version: NotRequired[InputAppscopeMaximumTLSVersion]
215
270
 
@@ -217,6 +272,19 @@ class InputAppscopeTLSSettingsServerSideTypedDict(TypedDict):
217
272
  class InputAppscopeTLSSettingsServerSide(BaseModel):
218
273
  disabled: Optional[bool] = True
219
274
 
275
+ request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
276
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
277
+
278
+ reject_unauthorized: Annotated[
279
+ Optional[bool], pydantic.Field(alias="rejectUnauthorized")
280
+ ] = True
281
+ r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
282
+
283
+ common_name_regex: Annotated[
284
+ Optional[str], pydantic.Field(alias="commonNameRegex")
285
+ ] = "/.*/"
286
+ r"""Regex matching allowable common names in peer certificates' subject attribute"""
287
+
220
288
  certificate_name: Annotated[
221
289
  Optional[str], pydantic.Field(alias="certificateName")
222
290
  ] = None
@@ -234,30 +302,45 @@ class InputAppscopeTLSSettingsServerSide(BaseModel):
234
302
  ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
235
303
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
236
304
 
237
- request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
238
- r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
239
-
240
- reject_unauthorized: Annotated[
241
- Optional[Any], pydantic.Field(alias="rejectUnauthorized")
242
- ] = None
243
-
244
- common_name_regex: Annotated[
245
- Optional[Any], pydantic.Field(alias="commonNameRegex")
246
- ] = None
247
-
248
305
  min_version: Annotated[
249
- Optional[InputAppscopeMinimumTLSVersion], pydantic.Field(alias="minVersion")
306
+ Annotated[
307
+ Optional[InputAppscopeMinimumTLSVersion],
308
+ PlainValidator(validate_open_enum(False)),
309
+ ],
310
+ pydantic.Field(alias="minVersion"),
250
311
  ] = None
251
312
 
252
313
  max_version: Annotated[
253
- Optional[InputAppscopeMaximumTLSVersion], pydantic.Field(alias="maxVersion")
314
+ Annotated[
315
+ Optional[InputAppscopeMaximumTLSVersion],
316
+ PlainValidator(validate_open_enum(False)),
317
+ ],
318
+ pydantic.Field(alias="maxVersion"),
254
319
  ] = None
255
320
 
321
+ @field_serializer("min_version")
322
+ def serialize_min_version(self, value):
323
+ if isinstance(value, str):
324
+ try:
325
+ return models.InputAppscopeMinimumTLSVersion(value)
326
+ except ValueError:
327
+ return value
328
+ return value
329
+
330
+ @field_serializer("max_version")
331
+ def serialize_max_version(self, value):
332
+ if isinstance(value, str):
333
+ try:
334
+ return models.InputAppscopeMaximumTLSVersion(value)
335
+ except ValueError:
336
+ return value
337
+ return value
338
+
256
339
 
257
340
  class InputAppscopeTypedDict(TypedDict):
258
- id: str
259
- r"""Unique ID for this input"""
260
341
  type: InputAppscopeType
342
+ id: NotRequired[str]
343
+ r"""Unique ID for this input"""
261
344
  disabled: NotRequired[bool]
262
345
  pipeline: NotRequired[str]
263
346
  r"""Pipeline to process data from this Source before sending it through the Routes"""
@@ -313,11 +396,11 @@ class InputAppscopeTypedDict(TypedDict):
313
396
 
314
397
 
315
398
  class InputAppscope(BaseModel):
316
- id: str
317
- r"""Unique ID for this input"""
318
-
319
399
  type: InputAppscopeType
320
400
 
401
+ id: Optional[str] = None
402
+ r"""Unique ID for this input"""
403
+
321
404
  disabled: Optional[bool] = False
322
405
 
323
406
  pipeline: Optional[str] = None
@@ -397,7 +480,11 @@ class InputAppscope(BaseModel):
397
480
  persistence: Optional[InputAppscopePersistence] = None
398
481
 
399
482
  auth_type: Annotated[
400
- Optional[InputAppscopeAuthenticationMethod], pydantic.Field(alias="authType")
483
+ Annotated[
484
+ Optional[InputAppscopeAuthenticationMethod],
485
+ PlainValidator(validate_open_enum(False)),
486
+ ],
487
+ pydantic.Field(alias="authType"),
401
488
  ] = InputAppscopeAuthenticationMethod.MANUAL
402
489
  r"""Select Manual to enter an auth token directly, or select Secret to use a text secret to authenticate"""
403
490
 
@@ -426,3 +513,12 @@ class InputAppscope(BaseModel):
426
513
 
427
514
  text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None
428
515
  r"""Select or create a stored text secret"""
516
+
517
+ @field_serializer("auth_type")
518
+ def serialize_auth_type(self, value):
519
+ if isinstance(value, str):
520
+ try:
521
+ return models.InputAppscopeAuthenticationMethod(value)
522
+ except ValueError:
523
+ return value
524
+ return value
@@ -1,9 +1,13 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
+ from cribl_control_plane import models, utils
4
5
  from cribl_control_plane.types import BaseModel
6
+ from cribl_control_plane.utils import validate_open_enum
5
7
  from enum import Enum
6
8
  import pydantic
9
+ from pydantic import field_serializer
10
+ from pydantic.functional_validators import PlainValidator
7
11
  from typing import List, Optional
8
12
  from typing_extensions import Annotated, NotRequired, TypedDict
9
13
 
@@ -23,20 +27,32 @@ class InputAzureBlobConnection(BaseModel):
23
27
  pipeline: Optional[str] = None
24
28
 
25
29
 
26
- class InputAzureBlobMode(str, Enum):
30
+ class InputAzureBlobMode(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 InputAzureBlobCompression(str, Enum):
39
+ class InputAzureBlobCompression(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 InputAzureBlobPqControlsTypedDict(TypedDict):
49
+ pass
50
+
51
+
52
+ class InputAzureBlobPqControls(BaseModel):
53
+ pass
54
+
55
+
40
56
  class InputAzureBlobPqTypedDict(TypedDict):
41
57
  mode: NotRequired[InputAzureBlobMode]
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 InputAzureBlobPqTypedDict(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[InputAzureBlobCompression]
54
70
  r"""Codec to use to compress the persisted data"""
71
+ pq_controls: NotRequired[InputAzureBlobPqControlsTypedDict]
55
72
 
56
73
 
57
74
  class InputAzureBlobPq(BaseModel):
58
- mode: Optional[InputAzureBlobMode] = InputAzureBlobMode.ALWAYS
75
+ mode: Annotated[
76
+ Optional[InputAzureBlobMode], PlainValidator(validate_open_enum(False))
77
+ ] = InputAzureBlobMode.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,9 +98,33 @@ class InputAzureBlobPq(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[InputAzureBlobCompression] = InputAzureBlobCompression.NONE
101
+ compress: Annotated[
102
+ Optional[InputAzureBlobCompression], PlainValidator(validate_open_enum(False))
103
+ ] = InputAzureBlobCompression.NONE
83
104
  r"""Codec to use to compress the persisted data"""
84
105
 
106
+ pq_controls: Annotated[
107
+ Optional[InputAzureBlobPqControls], 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.InputAzureBlobMode(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.InputAzureBlobCompression(value)
124
+ except ValueError:
125
+ return value
126
+ return value
127
+
85
128
 
86
129
  class InputAzureBlobMetadatumTypedDict(TypedDict):
87
130
  name: str
@@ -96,7 +139,7 @@ class InputAzureBlobMetadatum(BaseModel):
96
139
  r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
97
140
 
98
141
 
99
- class InputAzureBlobAuthenticationMethod(str, Enum):
142
+ class InputAzureBlobAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
100
143
  MANUAL = "manual"
101
144
  SECRET = "secret"
102
145
  CLIENT_SECRET = "clientSecret"
@@ -257,7 +300,11 @@ class InputAzureBlob(BaseModel):
257
300
  r"""The maximum time allowed for downloading a Parquet chunk. Processing will stop if a chunk cannot be downloaded within the time specified."""
258
301
 
259
302
  auth_type: Annotated[
260
- Optional[InputAzureBlobAuthenticationMethod], pydantic.Field(alias="authType")
303
+ Annotated[
304
+ Optional[InputAzureBlobAuthenticationMethod],
305
+ PlainValidator(validate_open_enum(False)),
306
+ ],
307
+ pydantic.Field(alias="authType"),
261
308
  ] = InputAzureBlobAuthenticationMethod.MANUAL
262
309
 
263
310
  description: Optional[str] = None
@@ -295,3 +342,12 @@ class InputAzureBlob(BaseModel):
295
342
  r"""Select or create a stored text secret"""
296
343
 
297
344
  certificate: Optional[InputAzureBlobCertificate] = None
345
+
346
+ @field_serializer("auth_type")
347
+ def serialize_auth_type(self, value):
348
+ if isinstance(value, str):
349
+ try:
350
+ return models.InputAzureBlobAuthenticationMethod(value)
351
+ except ValueError:
352
+ return value
353
+ return value