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 InputModelDrivenTelemetryConnection(BaseModel):
23
27
  pipeline: Optional[str] = None
24
28
 
25
29
 
26
- class InputModelDrivenTelemetryMode(str, Enum):
30
+ class InputModelDrivenTelemetryMode(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 InputModelDrivenTelemetryCompression(str, Enum):
39
+ class InputModelDrivenTelemetryCompression(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 InputModelDrivenTelemetryPqControlsTypedDict(TypedDict):
49
+ pass
50
+
51
+
52
+ class InputModelDrivenTelemetryPqControls(BaseModel):
53
+ pass
54
+
55
+
40
56
  class InputModelDrivenTelemetryPqTypedDict(TypedDict):
41
57
  mode: NotRequired[InputModelDrivenTelemetryMode]
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,14 @@ class InputModelDrivenTelemetryPqTypedDict(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[InputModelDrivenTelemetryCompression]
54
70
  r"""Codec to use to compress the persisted data"""
71
+ pq_controls: NotRequired[InputModelDrivenTelemetryPqControlsTypedDict]
55
72
 
56
73
 
57
74
  class InputModelDrivenTelemetryPq(BaseModel):
58
- mode: Optional[InputModelDrivenTelemetryMode] = InputModelDrivenTelemetryMode.ALWAYS
75
+ mode: Annotated[
76
+ Optional[InputModelDrivenTelemetryMode],
77
+ PlainValidator(validate_open_enum(False)),
78
+ ] = InputModelDrivenTelemetryMode.ALWAYS
59
79
  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
80
 
61
81
  max_buffer_size: Annotated[
@@ -79,20 +99,48 @@ class InputModelDrivenTelemetryPq(BaseModel):
79
99
  path: Optional[str] = "$CRIBL_HOME/state/queues"
80
100
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
81
101
 
82
- compress: Optional[InputModelDrivenTelemetryCompression] = (
83
- InputModelDrivenTelemetryCompression.NONE
84
- )
102
+ compress: Annotated[
103
+ Optional[InputModelDrivenTelemetryCompression],
104
+ PlainValidator(validate_open_enum(False)),
105
+ ] = InputModelDrivenTelemetryCompression.NONE
85
106
  r"""Codec to use to compress the persisted data"""
86
107
 
108
+ pq_controls: Annotated[
109
+ Optional[InputModelDrivenTelemetryPqControls],
110
+ pydantic.Field(alias="pqControls"),
111
+ ] = None
87
112
 
88
- class InputModelDrivenTelemetryMinimumTLSVersion(str, Enum):
113
+ @field_serializer("mode")
114
+ def serialize_mode(self, value):
115
+ if isinstance(value, str):
116
+ try:
117
+ return models.InputModelDrivenTelemetryMode(value)
118
+ except ValueError:
119
+ return value
120
+ return value
121
+
122
+ @field_serializer("compress")
123
+ def serialize_compress(self, value):
124
+ if isinstance(value, str):
125
+ try:
126
+ return models.InputModelDrivenTelemetryCompression(value)
127
+ except ValueError:
128
+ return value
129
+ return value
130
+
131
+
132
+ class InputModelDrivenTelemetryMinimumTLSVersion(
133
+ str, Enum, metaclass=utils.OpenEnumMeta
134
+ ):
89
135
  TL_SV1 = "TLSv1"
90
136
  TL_SV1_1 = "TLSv1.1"
91
137
  TL_SV1_2 = "TLSv1.2"
92
138
  TL_SV1_3 = "TLSv1.3"
93
139
 
94
140
 
95
- class InputModelDrivenTelemetryMaximumTLSVersion(str, Enum):
141
+ class InputModelDrivenTelemetryMaximumTLSVersion(
142
+ str, Enum, metaclass=utils.OpenEnumMeta
143
+ ):
96
144
  TL_SV1 = "TLSv1"
97
145
  TL_SV1_1 = "TLSv1.1"
98
146
  TL_SV1_2 = "TLSv1.2"
@@ -101,18 +149,22 @@ class InputModelDrivenTelemetryMaximumTLSVersion(str, Enum):
101
149
 
102
150
  class InputModelDrivenTelemetryTLSSettingsServerSideTypedDict(TypedDict):
103
151
  disabled: NotRequired[bool]
152
+ request_cert: NotRequired[bool]
153
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
154
+ reject_unauthorized: NotRequired[bool]
155
+ r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
156
+ common_name_regex: NotRequired[str]
157
+ r"""Regex matching allowable common names in peer certificates' subject attribute"""
104
158
  certificate_name: NotRequired[str]
105
159
  r"""The name of the predefined certificate"""
106
160
  priv_key_path: NotRequired[str]
107
161
  r"""Path on server containing the private key to use. PEM format. Can reference $ENV_VARS."""
162
+ passphrase: NotRequired[str]
163
+ r"""Passphrase to use to decrypt private key"""
108
164
  cert_path: NotRequired[str]
109
165
  r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
110
166
  ca_path: NotRequired[str]
111
167
  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
168
  min_version: NotRequired[InputModelDrivenTelemetryMinimumTLSVersion]
117
169
  max_version: NotRequired[InputModelDrivenTelemetryMaximumTLSVersion]
118
170
 
@@ -120,6 +172,19 @@ class InputModelDrivenTelemetryTLSSettingsServerSideTypedDict(TypedDict):
120
172
  class InputModelDrivenTelemetryTLSSettingsServerSide(BaseModel):
121
173
  disabled: Optional[bool] = True
122
174
 
175
+ request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
176
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
177
+
178
+ reject_unauthorized: Annotated[
179
+ Optional[bool], pydantic.Field(alias="rejectUnauthorized")
180
+ ] = True
181
+ r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
182
+
183
+ common_name_regex: Annotated[
184
+ Optional[str], pydantic.Field(alias="commonNameRegex")
185
+ ] = "/.*/"
186
+ r"""Regex matching allowable common names in peer certificates' subject attribute"""
187
+
123
188
  certificate_name: Annotated[
124
189
  Optional[str], pydantic.Field(alias="certificateName")
125
190
  ] = None
@@ -128,33 +193,49 @@ class InputModelDrivenTelemetryTLSSettingsServerSide(BaseModel):
128
193
  priv_key_path: Annotated[Optional[str], pydantic.Field(alias="privKeyPath")] = None
129
194
  r"""Path on server containing the private key to use. PEM format. Can reference $ENV_VARS."""
130
195
 
196
+ passphrase: Optional[str] = None
197
+ r"""Passphrase to use to decrypt private key"""
198
+
131
199
  cert_path: Annotated[Optional[str], pydantic.Field(alias="certPath")] = None
132
200
  r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
133
201
 
134
202
  ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
135
203
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
136
204
 
137
- request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
138
- r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
139
-
140
- reject_unauthorized: Annotated[
141
- Optional[Any], pydantic.Field(alias="rejectUnauthorized")
142
- ] = None
143
-
144
- common_name_regex: Annotated[
145
- Optional[Any], pydantic.Field(alias="commonNameRegex")
146
- ] = None
147
-
148
205
  min_version: Annotated[
149
- Optional[InputModelDrivenTelemetryMinimumTLSVersion],
206
+ Annotated[
207
+ Optional[InputModelDrivenTelemetryMinimumTLSVersion],
208
+ PlainValidator(validate_open_enum(False)),
209
+ ],
150
210
  pydantic.Field(alias="minVersion"),
151
211
  ] = None
152
212
 
153
213
  max_version: Annotated[
154
- Optional[InputModelDrivenTelemetryMaximumTLSVersion],
214
+ Annotated[
215
+ Optional[InputModelDrivenTelemetryMaximumTLSVersion],
216
+ PlainValidator(validate_open_enum(False)),
217
+ ],
155
218
  pydantic.Field(alias="maxVersion"),
156
219
  ] = None
157
220
 
221
+ @field_serializer("min_version")
222
+ def serialize_min_version(self, value):
223
+ if isinstance(value, str):
224
+ try:
225
+ return models.InputModelDrivenTelemetryMinimumTLSVersion(value)
226
+ except ValueError:
227
+ return value
228
+ return value
229
+
230
+ @field_serializer("max_version")
231
+ def serialize_max_version(self, value):
232
+ if isinstance(value, str):
233
+ try:
234
+ return models.InputModelDrivenTelemetryMaximumTLSVersion(value)
235
+ except ValueError:
236
+ return value
237
+ return value
238
+
158
239
 
159
240
  class InputModelDrivenTelemetryMetadatumTypedDict(TypedDict):
160
241
  name: str
@@ -170,9 +251,9 @@ class InputModelDrivenTelemetryMetadatum(BaseModel):
170
251
 
171
252
 
172
253
  class InputModelDrivenTelemetryTypedDict(TypedDict):
254
+ type: InputModelDrivenTelemetryType
173
255
  id: NotRequired[str]
174
256
  r"""Unique ID for this input"""
175
- type: NotRequired[InputModelDrivenTelemetryType]
176
257
  disabled: NotRequired[bool]
177
258
  pipeline: NotRequired[str]
178
259
  r"""Pipeline to process data from this Source before sending it through the Routes"""
@@ -202,11 +283,11 @@ class InputModelDrivenTelemetryTypedDict(TypedDict):
202
283
 
203
284
 
204
285
  class InputModelDrivenTelemetry(BaseModel):
286
+ type: InputModelDrivenTelemetryType
287
+
205
288
  id: Optional[str] = None
206
289
  r"""Unique ID for this input"""
207
290
 
208
- type: Optional[InputModelDrivenTelemetryType] = None
209
-
210
291
  disabled: Optional[bool] = False
211
292
 
212
293
  pipeline: Optional[str] = None
@@ -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 InputMskConnection(BaseModel):
23
27
  pipeline: Optional[str] = None
24
28
 
25
29
 
26
- class InputMskMode(str, Enum):
30
+ class InputMskMode(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 InputMskCompression(str, Enum):
39
+ class InputMskCompression(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 InputMskPqControlsTypedDict(TypedDict):
49
+ pass
50
+
51
+
52
+ class InputMskPqControls(BaseModel):
53
+ pass
54
+
55
+
40
56
  class InputMskPqTypedDict(TypedDict):
41
57
  mode: NotRequired[InputMskMode]
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 InputMskPqTypedDict(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[InputMskCompression]
54
70
  r"""Codec to use to compress the persisted data"""
71
+ pq_controls: NotRequired[InputMskPqControlsTypedDict]
55
72
 
56
73
 
57
74
  class InputMskPq(BaseModel):
58
- mode: Optional[InputMskMode] = InputMskMode.ALWAYS
75
+ mode: Annotated[
76
+ Optional[InputMskMode], PlainValidator(validate_open_enum(False))
77
+ ] = InputMskMode.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 InputMskPq(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[InputMskCompression] = InputMskCompression.NONE
101
+ compress: Annotated[
102
+ Optional[InputMskCompression], PlainValidator(validate_open_enum(False))
103
+ ] = InputMskCompression.NONE
83
104
  r"""Codec to use to compress the persisted data"""
84
105
 
106
+ pq_controls: Annotated[
107
+ Optional[InputMskPqControls], 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.InputMskMode(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.InputMskCompression(value)
124
+ except ValueError:
125
+ return value
126
+ return value
127
+
85
128
 
86
129
  class InputMskMetadatumTypedDict(TypedDict):
87
130
  name: str
@@ -115,14 +158,18 @@ class InputMskAuth(BaseModel):
115
158
  r"""Select or create a secret that references your credentials"""
116
159
 
117
160
 
118
- class InputMskKafkaSchemaRegistryMinimumTLSVersion(str, Enum):
161
+ class InputMskKafkaSchemaRegistryMinimumTLSVersion(
162
+ str, Enum, metaclass=utils.OpenEnumMeta
163
+ ):
119
164
  TL_SV1 = "TLSv1"
120
165
  TL_SV1_1 = "TLSv1.1"
121
166
  TL_SV1_2 = "TLSv1.2"
122
167
  TL_SV1_3 = "TLSv1.3"
123
168
 
124
169
 
125
- class InputMskKafkaSchemaRegistryMaximumTLSVersion(str, Enum):
170
+ class InputMskKafkaSchemaRegistryMaximumTLSVersion(
171
+ str, Enum, metaclass=utils.OpenEnumMeta
172
+ ):
126
173
  TL_SV1 = "TLSv1"
127
174
  TL_SV1_1 = "TLSv1.1"
128
175
  TL_SV1_2 = "TLSv1.2"
@@ -182,15 +229,39 @@ class InputMskKafkaSchemaRegistryTLSSettingsClientSide(BaseModel):
182
229
  r"""Passphrase to use to decrypt private key"""
183
230
 
184
231
  min_version: Annotated[
185
- Optional[InputMskKafkaSchemaRegistryMinimumTLSVersion],
232
+ Annotated[
233
+ Optional[InputMskKafkaSchemaRegistryMinimumTLSVersion],
234
+ PlainValidator(validate_open_enum(False)),
235
+ ],
186
236
  pydantic.Field(alias="minVersion"),
187
237
  ] = None
188
238
 
189
239
  max_version: Annotated[
190
- Optional[InputMskKafkaSchemaRegistryMaximumTLSVersion],
240
+ Annotated[
241
+ Optional[InputMskKafkaSchemaRegistryMaximumTLSVersion],
242
+ PlainValidator(validate_open_enum(False)),
243
+ ],
191
244
  pydantic.Field(alias="maxVersion"),
192
245
  ] = None
193
246
 
247
+ @field_serializer("min_version")
248
+ def serialize_min_version(self, value):
249
+ if isinstance(value, str):
250
+ try:
251
+ return models.InputMskKafkaSchemaRegistryMinimumTLSVersion(value)
252
+ except ValueError:
253
+ return value
254
+ return value
255
+
256
+ @field_serializer("max_version")
257
+ def serialize_max_version(self, value):
258
+ if isinstance(value, str):
259
+ try:
260
+ return models.InputMskKafkaSchemaRegistryMaximumTLSVersion(value)
261
+ except ValueError:
262
+ return value
263
+ return value
264
+
194
265
 
195
266
  class InputMskKafkaSchemaRegistryAuthenticationTypedDict(TypedDict):
196
267
  disabled: NotRequired[bool]
@@ -234,29 +305,32 @@ class InputMskKafkaSchemaRegistryAuthentication(BaseModel):
234
305
  tls: Optional[InputMskKafkaSchemaRegistryTLSSettingsClientSide] = None
235
306
 
236
307
 
237
- class InputMskAuthenticationMethod(str, Enum):
308
+ class InputMskAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
238
309
  r"""AWS authentication method. Choose Auto to use IAM roles."""
239
310
 
311
+ # Auto
240
312
  AUTO = "auto"
313
+ # Manual
241
314
  MANUAL = "manual"
315
+ # Secret Key pair
242
316
  SECRET = "secret"
243
317
 
244
318
 
245
- class InputMskSignatureVersion(str, Enum):
319
+ class InputMskSignatureVersion(str, Enum, metaclass=utils.OpenEnumMeta):
246
320
  r"""Signature version to use for signing MSK cluster requests"""
247
321
 
248
322
  V2 = "v2"
249
323
  V4 = "v4"
250
324
 
251
325
 
252
- class InputMskMinimumTLSVersion(str, Enum):
326
+ class InputMskMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
253
327
  TL_SV1 = "TLSv1"
254
328
  TL_SV1_1 = "TLSv1.1"
255
329
  TL_SV1_2 = "TLSv1.2"
256
330
  TL_SV1_3 = "TLSv1.3"
257
331
 
258
332
 
259
- class InputMskMaximumTLSVersion(str, Enum):
333
+ class InputMskMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
260
334
  TL_SV1 = "TLSv1"
261
335
  TL_SV1_1 = "TLSv1.1"
262
336
  TL_SV1_2 = "TLSv1.2"
@@ -316,15 +390,42 @@ class InputMskTLSSettingsClientSide(BaseModel):
316
390
  r"""Passphrase to use to decrypt private key"""
317
391
 
318
392
  min_version: Annotated[
319
- Optional[InputMskMinimumTLSVersion], pydantic.Field(alias="minVersion")
393
+ Annotated[
394
+ Optional[InputMskMinimumTLSVersion],
395
+ PlainValidator(validate_open_enum(False)),
396
+ ],
397
+ pydantic.Field(alias="minVersion"),
320
398
  ] = None
321
399
 
322
400
  max_version: Annotated[
323
- Optional[InputMskMaximumTLSVersion], pydantic.Field(alias="maxVersion")
401
+ Annotated[
402
+ Optional[InputMskMaximumTLSVersion],
403
+ PlainValidator(validate_open_enum(False)),
404
+ ],
405
+ pydantic.Field(alias="maxVersion"),
324
406
  ] = None
325
407
 
408
+ @field_serializer("min_version")
409
+ def serialize_min_version(self, value):
410
+ if isinstance(value, str):
411
+ try:
412
+ return models.InputMskMinimumTLSVersion(value)
413
+ except ValueError:
414
+ return value
415
+ return value
416
+
417
+ @field_serializer("max_version")
418
+ def serialize_max_version(self, value):
419
+ if isinstance(value, str):
420
+ try:
421
+ return models.InputMskMaximumTLSVersion(value)
422
+ except ValueError:
423
+ return value
424
+ return value
425
+
326
426
 
327
427
  class InputMskTypedDict(TypedDict):
428
+ type: InputMskType
328
429
  brokers: List[str]
329
430
  r"""Enter each Kafka bootstrap server you want to use. Specify the hostname and port (such as mykafkabroker:9092) or just the hostname (in which case @{product} will assign port 9092)."""
330
431
  topics: List[str]
@@ -333,7 +434,6 @@ class InputMskTypedDict(TypedDict):
333
434
  r"""Region where the MSK cluster is located"""
334
435
  id: NotRequired[str]
335
436
  r"""Unique ID for this input"""
336
- type: NotRequired[InputMskType]
337
437
  disabled: NotRequired[bool]
338
438
  pipeline: NotRequired[str]
339
439
  r"""Pipeline to process data from this Source before sending it through the Routes"""
@@ -353,7 +453,8 @@ class InputMskTypedDict(TypedDict):
353
453
  from_beginning: NotRequired[bool]
354
454
  r"""Leave enabled if you want the Source, upon first subscribing to a topic, to read starting with the earliest available message"""
355
455
  session_timeout: NotRequired[float]
356
- r"""Timeout used to detect client failures when using Kafka's group-management facilities.
456
+ r"""
457
+ Timeout used to detect client failures when using Kafka's group-management facilities.
357
458
  If the client sends no heartbeats to the broker before the timeout expires,
358
459
  the broker will remove the client from the group and initiate a rebalance.
359
460
  Value must be between the broker's configured group.min.session.timeout.ms and group.max.session.timeout.ms.
@@ -427,6 +528,8 @@ class InputMskTypedDict(TypedDict):
427
528
 
428
529
 
429
530
  class InputMsk(BaseModel):
531
+ type: InputMskType
532
+
430
533
  brokers: List[str]
431
534
  r"""Enter each Kafka bootstrap server you want to use. Specify the hostname and port (such as mykafkabroker:9092) or just the hostname (in which case @{product} will assign port 9092)."""
432
535
 
@@ -439,8 +542,6 @@ class InputMsk(BaseModel):
439
542
  id: Optional[str] = None
440
543
  r"""Unique ID for this input"""
441
544
 
442
- type: Optional[InputMskType] = None
443
-
444
545
  disabled: Optional[bool] = False
445
546
 
446
547
  pipeline: Optional[str] = None
@@ -476,7 +577,8 @@ class InputMsk(BaseModel):
476
577
  session_timeout: Annotated[
477
578
  Optional[float], pydantic.Field(alias="sessionTimeout")
478
579
  ] = 30000
479
- r"""Timeout used to detect client failures when using Kafka's group-management facilities.
580
+ r"""
581
+ Timeout used to detect client failures when using Kafka's group-management facilities.
480
582
  If the client sends no heartbeats to the broker before the timeout expires,
481
583
  the broker will remove the client from the group and initiate a rebalance.
482
584
  Value must be between the broker's configured group.min.session.timeout.ms and group.max.session.timeout.ms.
@@ -542,7 +644,10 @@ class InputMsk(BaseModel):
542
644
  r"""Specifies a time window during which @{product} can reauthenticate if needed. Creates the window measuring backward from the moment when credentials are set to expire."""
543
645
 
544
646
  aws_authentication_method: Annotated[
545
- Optional[InputMskAuthenticationMethod],
647
+ Annotated[
648
+ Optional[InputMskAuthenticationMethod],
649
+ PlainValidator(validate_open_enum(False)),
650
+ ],
546
651
  pydantic.Field(alias="awsAuthenticationMethod"),
547
652
  ] = InputMskAuthenticationMethod.AUTO
548
653
  r"""AWS authentication method. Choose Auto to use IAM roles."""
@@ -555,7 +660,11 @@ class InputMsk(BaseModel):
555
660
  r"""MSK cluster service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to MSK cluster-compatible endpoint."""
556
661
 
557
662
  signature_version: Annotated[
558
- Optional[InputMskSignatureVersion], pydantic.Field(alias="signatureVersion")
663
+ Annotated[
664
+ Optional[InputMskSignatureVersion],
665
+ PlainValidator(validate_open_enum(False)),
666
+ ],
667
+ pydantic.Field(alias="signatureVersion"),
559
668
  ] = InputMskSignatureVersion.V4
560
669
  r"""Signature version to use for signing MSK cluster requests"""
561
670
 
@@ -620,3 +729,21 @@ class InputMsk(BaseModel):
620
729
 
621
730
  aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None
622
731
  r"""Select or create a stored secret that references your access key and secret key"""
732
+
733
+ @field_serializer("aws_authentication_method")
734
+ def serialize_aws_authentication_method(self, value):
735
+ if isinstance(value, str):
736
+ try:
737
+ return models.InputMskAuthenticationMethod(value)
738
+ except ValueError:
739
+ return value
740
+ return value
741
+
742
+ @field_serializer("signature_version")
743
+ def serialize_signature_version(self, value):
744
+ if isinstance(value, str):
745
+ try:
746
+ return models.InputMskSignatureVersion(value)
747
+ except ValueError:
748
+ return value
749
+ return value