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,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 InputCriblmetricsConnection(BaseModel):
23
27
  pipeline: Optional[str] = None
24
28
 
25
29
 
26
- class InputCriblmetricsMode(str, Enum):
30
+ class InputCriblmetricsMode(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 InputCriblmetricsCompression(str, Enum):
39
+ class InputCriblmetricsCompression(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 InputCriblmetricsPqControlsTypedDict(TypedDict):
49
+ pass
50
+
51
+
52
+ class InputCriblmetricsPqControls(BaseModel):
53
+ pass
54
+
55
+
40
56
  class InputCriblmetricsPqTypedDict(TypedDict):
41
57
  mode: NotRequired[InputCriblmetricsMode]
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 InputCriblmetricsPqTypedDict(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[InputCriblmetricsCompression]
54
70
  r"""Codec to use to compress the persisted data"""
71
+ pq_controls: NotRequired[InputCriblmetricsPqControlsTypedDict]
55
72
 
56
73
 
57
74
  class InputCriblmetricsPq(BaseModel):
58
- mode: Optional[InputCriblmetricsMode] = InputCriblmetricsMode.ALWAYS
75
+ mode: Annotated[
76
+ Optional[InputCriblmetricsMode], PlainValidator(validate_open_enum(False))
77
+ ] = InputCriblmetricsMode.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,34 @@ class InputCriblmetricsPq(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[InputCriblmetricsCompression] = InputCriblmetricsCompression.NONE
101
+ compress: Annotated[
102
+ Optional[InputCriblmetricsCompression],
103
+ PlainValidator(validate_open_enum(False)),
104
+ ] = InputCriblmetricsCompression.NONE
83
105
  r"""Codec to use to compress the persisted data"""
84
106
 
107
+ pq_controls: Annotated[
108
+ Optional[InputCriblmetricsPqControls], pydantic.Field(alias="pqControls")
109
+ ] = None
110
+
111
+ @field_serializer("mode")
112
+ def serialize_mode(self, value):
113
+ if isinstance(value, str):
114
+ try:
115
+ return models.InputCriblmetricsMode(value)
116
+ except ValueError:
117
+ return value
118
+ return value
119
+
120
+ @field_serializer("compress")
121
+ def serialize_compress(self, value):
122
+ if isinstance(value, str):
123
+ try:
124
+ return models.InputCriblmetricsCompression(value)
125
+ except ValueError:
126
+ return value
127
+ return value
128
+
85
129
 
86
130
  class InputCriblmetricsMetadatumTypedDict(TypedDict):
87
131
  name: str
@@ -97,9 +141,9 @@ class InputCriblmetricsMetadatum(BaseModel):
97
141
 
98
142
 
99
143
  class InputCriblmetricsTypedDict(TypedDict):
100
- id: str
101
- r"""Unique ID for this input"""
102
144
  type: InputCriblmetricsType
145
+ id: NotRequired[str]
146
+ r"""Unique ID for this input"""
103
147
  disabled: NotRequired[bool]
104
148
  pipeline: NotRequired[str]
105
149
  r"""Pipeline to process data from this Source before sending it through the Routes"""
@@ -124,11 +168,11 @@ class InputCriblmetricsTypedDict(TypedDict):
124
168
 
125
169
 
126
170
  class InputCriblmetrics(BaseModel):
127
- id: str
128
- r"""Unique ID for this input"""
129
-
130
171
  type: InputCriblmetricsType
131
172
 
173
+ id: Optional[str] = None
174
+ r"""Unique ID for this input"""
175
+
132
176
  disabled: Optional[bool] = False
133
177
 
134
178
  pipeline: Optional[str] = None
@@ -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 InputCriblTCPConnection(BaseModel):
23
27
  pipeline: Optional[str] = None
24
28
 
25
29
 
26
- class InputCriblTCPMode(str, Enum):
30
+ class InputCriblTCPMode(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 InputCriblTCPCompression(str, Enum):
39
+ class InputCriblTCPCompression(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 InputCriblTCPPqControlsTypedDict(TypedDict):
49
+ pass
50
+
51
+
52
+ class InputCriblTCPPqControls(BaseModel):
53
+ pass
54
+
55
+
40
56
  class InputCriblTCPPqTypedDict(TypedDict):
41
57
  mode: NotRequired[InputCriblTCPMode]
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 InputCriblTCPPqTypedDict(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[InputCriblTCPCompression]
54
70
  r"""Codec to use to compress the persisted data"""
71
+ pq_controls: NotRequired[InputCriblTCPPqControlsTypedDict]
55
72
 
56
73
 
57
74
  class InputCriblTCPPq(BaseModel):
58
- mode: Optional[InputCriblTCPMode] = InputCriblTCPMode.ALWAYS
75
+ mode: Annotated[
76
+ Optional[InputCriblTCPMode], PlainValidator(validate_open_enum(False))
77
+ ] = InputCriblTCPMode.ALWAYS
59
78
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
60
79
 
61
80
  max_buffer_size: Annotated[
@@ -79,18 +98,42 @@ class InputCriblTCPPq(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[InputCriblTCPCompression] = InputCriblTCPCompression.NONE
101
+ compress: Annotated[
102
+ Optional[InputCriblTCPCompression], PlainValidator(validate_open_enum(False))
103
+ ] = InputCriblTCPCompression.NONE
83
104
  r"""Codec to use to compress the persisted data"""
84
105
 
106
+ pq_controls: Annotated[
107
+ Optional[InputCriblTCPPqControls], pydantic.Field(alias="pqControls")
108
+ ] = None
85
109
 
86
- class InputCriblTCPMinimumTLSVersion(str, Enum):
110
+ @field_serializer("mode")
111
+ def serialize_mode(self, value):
112
+ if isinstance(value, str):
113
+ try:
114
+ return models.InputCriblTCPMode(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.InputCriblTCPCompression(value)
124
+ except ValueError:
125
+ return value
126
+ return value
127
+
128
+
129
+ class InputCriblTCPMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
87
130
  TL_SV1 = "TLSv1"
88
131
  TL_SV1_1 = "TLSv1.1"
89
132
  TL_SV1_2 = "TLSv1.2"
90
133
  TL_SV1_3 = "TLSv1.3"
91
134
 
92
135
 
93
- class InputCriblTCPMaximumTLSVersion(str, Enum):
136
+ class InputCriblTCPMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
94
137
  TL_SV1 = "TLSv1"
95
138
  TL_SV1_1 = "TLSv1.1"
96
139
  TL_SV1_2 = "TLSv1.2"
@@ -99,6 +142,12 @@ class InputCriblTCPMaximumTLSVersion(str, Enum):
99
142
 
100
143
  class InputCriblTCPTLSSettingsServerSideTypedDict(TypedDict):
101
144
  disabled: NotRequired[bool]
145
+ request_cert: NotRequired[bool]
146
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
147
+ reject_unauthorized: NotRequired[bool]
148
+ r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
149
+ common_name_regex: NotRequired[str]
150
+ r"""Regex matching allowable common names in peer certificates' subject attribute"""
102
151
  certificate_name: NotRequired[str]
103
152
  r"""The name of the predefined certificate"""
104
153
  priv_key_path: NotRequired[str]
@@ -109,10 +158,6 @@ class InputCriblTCPTLSSettingsServerSideTypedDict(TypedDict):
109
158
  r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
110
159
  ca_path: NotRequired[str]
111
160
  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
161
  min_version: NotRequired[InputCriblTCPMinimumTLSVersion]
117
162
  max_version: NotRequired[InputCriblTCPMaximumTLSVersion]
118
163
 
@@ -120,6 +165,19 @@ class InputCriblTCPTLSSettingsServerSideTypedDict(TypedDict):
120
165
  class InputCriblTCPTLSSettingsServerSide(BaseModel):
121
166
  disabled: Optional[bool] = True
122
167
 
168
+ request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
169
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
170
+
171
+ reject_unauthorized: Annotated[
172
+ Optional[bool], pydantic.Field(alias="rejectUnauthorized")
173
+ ] = True
174
+ r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
175
+
176
+ common_name_regex: Annotated[
177
+ Optional[str], pydantic.Field(alias="commonNameRegex")
178
+ ] = "/.*/"
179
+ r"""Regex matching allowable common names in peer certificates' subject attribute"""
180
+
123
181
  certificate_name: Annotated[
124
182
  Optional[str], pydantic.Field(alias="certificateName")
125
183
  ] = None
@@ -137,25 +195,40 @@ class InputCriblTCPTLSSettingsServerSide(BaseModel):
137
195
  ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
138
196
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
139
197
 
140
- request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
141
- r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
142
-
143
- reject_unauthorized: Annotated[
144
- Optional[Any], pydantic.Field(alias="rejectUnauthorized")
145
- ] = None
146
-
147
- common_name_regex: Annotated[
148
- Optional[Any], pydantic.Field(alias="commonNameRegex")
149
- ] = None
150
-
151
198
  min_version: Annotated[
152
- Optional[InputCriblTCPMinimumTLSVersion], pydantic.Field(alias="minVersion")
199
+ Annotated[
200
+ Optional[InputCriblTCPMinimumTLSVersion],
201
+ PlainValidator(validate_open_enum(False)),
202
+ ],
203
+ pydantic.Field(alias="minVersion"),
153
204
  ] = None
154
205
 
155
206
  max_version: Annotated[
156
- Optional[InputCriblTCPMaximumTLSVersion], pydantic.Field(alias="maxVersion")
207
+ Annotated[
208
+ Optional[InputCriblTCPMaximumTLSVersion],
209
+ PlainValidator(validate_open_enum(False)),
210
+ ],
211
+ pydantic.Field(alias="maxVersion"),
157
212
  ] = None
158
213
 
214
+ @field_serializer("min_version")
215
+ def serialize_min_version(self, value):
216
+ if isinstance(value, str):
217
+ try:
218
+ return models.InputCriblTCPMinimumTLSVersion(value)
219
+ except ValueError:
220
+ return value
221
+ return value
222
+
223
+ @field_serializer("max_version")
224
+ def serialize_max_version(self, value):
225
+ if isinstance(value, str):
226
+ try:
227
+ return models.InputCriblTCPMaximumTLSVersion(value)
228
+ except ValueError:
229
+ return value
230
+ return value
231
+
159
232
 
160
233
  class InputCriblTCPMetadatumTypedDict(TypedDict):
161
234
  name: str
@@ -170,12 +243,30 @@ class InputCriblTCPMetadatum(BaseModel):
170
243
  r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
171
244
 
172
245
 
246
+ class InputCriblTCPAuthTokenTypedDict(TypedDict):
247
+ token_secret: str
248
+ r"""Select or create a stored text secret"""
249
+ enabled: NotRequired[bool]
250
+ description: NotRequired[str]
251
+ r"""Optional token description"""
252
+
253
+
254
+ class InputCriblTCPAuthToken(BaseModel):
255
+ token_secret: Annotated[str, pydantic.Field(alias="tokenSecret")]
256
+ r"""Select or create a stored text secret"""
257
+
258
+ enabled: Optional[bool] = True
259
+
260
+ description: Optional[str] = None
261
+ r"""Optional token description"""
262
+
263
+
173
264
  class InputCriblTCPTypedDict(TypedDict):
265
+ type: InputCriblTCPType
174
266
  port: float
175
267
  r"""Port to listen on"""
176
268
  id: NotRequired[str]
177
269
  r"""Unique ID for this input"""
178
- type: NotRequired[InputCriblTCPType]
179
270
  disabled: NotRequired[bool]
180
271
  pipeline: NotRequired[str]
181
272
  r"""Pipeline to process data from this Source before sending it through the Routes"""
@@ -207,18 +298,20 @@ class InputCriblTCPTypedDict(TypedDict):
207
298
  r"""Fields to add to events from this input"""
208
299
  enable_load_balancing: NotRequired[bool]
209
300
  r"""Load balance traffic across all Worker Processes"""
301
+ auth_tokens: NotRequired[List[InputCriblTCPAuthTokenTypedDict]]
302
+ r"""Shared secrets to be used by connected environments to authorize connections. These tokens should be installed in Cribl TCP destinations in connected environments."""
210
303
  description: NotRequired[str]
211
304
 
212
305
 
213
306
  class InputCriblTCP(BaseModel):
307
+ type: InputCriblTCPType
308
+
214
309
  port: float
215
310
  r"""Port to listen on"""
216
311
 
217
312
  id: Optional[str] = None
218
313
  r"""Unique ID for this input"""
219
314
 
220
- type: Optional[InputCriblTCPType] = None
221
-
222
315
  disabled: Optional[bool] = False
223
316
 
224
317
  pipeline: Optional[str] = None
@@ -281,4 +374,9 @@ class InputCriblTCP(BaseModel):
281
374
  ] = False
282
375
  r"""Load balance traffic across all Worker Processes"""
283
376
 
377
+ auth_tokens: Annotated[
378
+ Optional[List[InputCriblTCPAuthToken]], pydantic.Field(alias="authTokens")
379
+ ] = None
380
+ r"""Shared secrets to be used by connected environments to authorize connections. These tokens should be installed in Cribl TCP destinations in connected environments."""
381
+
284
382
  description: 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 InputCrowdstrikeConnection(BaseModel):
23
27
  pipeline: Optional[str] = None
24
28
 
25
29
 
26
- class InputCrowdstrikeMode(str, Enum):
30
+ class InputCrowdstrikeMode(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 InputCrowdstrikeCompression(str, Enum):
39
+ class InputCrowdstrikeCompression(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 InputCrowdstrikePqControlsTypedDict(TypedDict):
49
+ pass
50
+
51
+
52
+ class InputCrowdstrikePqControls(BaseModel):
53
+ pass
54
+
55
+
40
56
  class InputCrowdstrikePqTypedDict(TypedDict):
41
57
  mode: NotRequired[InputCrowdstrikeMode]
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 InputCrowdstrikePqTypedDict(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[InputCrowdstrikeCompression]
54
70
  r"""Codec to use to compress the persisted data"""
71
+ pq_controls: NotRequired[InputCrowdstrikePqControlsTypedDict]
55
72
 
56
73
 
57
74
  class InputCrowdstrikePq(BaseModel):
58
- mode: Optional[InputCrowdstrikeMode] = InputCrowdstrikeMode.ALWAYS
75
+ mode: Annotated[
76
+ Optional[InputCrowdstrikeMode], PlainValidator(validate_open_enum(False))
77
+ ] = InputCrowdstrikeMode.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,19 +98,46 @@ class InputCrowdstrikePq(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[InputCrowdstrikeCompression] = InputCrowdstrikeCompression.NONE
101
+ compress: Annotated[
102
+ Optional[InputCrowdstrikeCompression], PlainValidator(validate_open_enum(False))
103
+ ] = InputCrowdstrikeCompression.NONE
83
104
  r"""Codec to use to compress the persisted data"""
84
105
 
106
+ pq_controls: Annotated[
107
+ Optional[InputCrowdstrikePqControls], pydantic.Field(alias="pqControls")
108
+ ] = None
85
109
 
86
- class InputCrowdstrikeAuthenticationMethod(str, Enum):
110
+ @field_serializer("mode")
111
+ def serialize_mode(self, value):
112
+ if isinstance(value, str):
113
+ try:
114
+ return models.InputCrowdstrikeMode(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.InputCrowdstrikeCompression(value)
124
+ except ValueError:
125
+ return value
126
+ return value
127
+
128
+
129
+ class InputCrowdstrikeAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
87
130
  r"""AWS authentication method. Choose Auto to use IAM roles."""
88
131
 
132
+ # Auto
89
133
  AUTO = "auto"
134
+ # Manual
90
135
  MANUAL = "manual"
136
+ # Secret Key pair
91
137
  SECRET = "secret"
92
138
 
93
139
 
94
- class InputCrowdstrikeSignatureVersion(str, Enum):
140
+ class InputCrowdstrikeSignatureVersion(str, Enum, metaclass=utils.OpenEnumMeta):
95
141
  r"""Signature version to use for signing S3 requests"""
96
142
 
97
143
  V2 = "v2"
@@ -144,7 +190,7 @@ class InputCrowdstrikeCheckpointing(BaseModel):
144
190
  r"""The number of times to retry processing when a processing error occurs. If Skip file on error is enabled, this setting is ignored."""
145
191
 
146
192
 
147
- class InputCrowdstrikeTagAfterProcessing(str, Enum):
193
+ class InputCrowdstrikeTagAfterProcessing(str, Enum, metaclass=utils.OpenEnumMeta):
148
194
  FALSE = "false"
149
195
  TRUE = "true"
150
196
 
@@ -200,6 +246,8 @@ class InputCrowdstrikeTypedDict(TypedDict):
200
246
  r"""Socket inactivity timeout (in seconds). Increase this value if timeouts occur due to backpressure."""
201
247
  skip_on_error: NotRequired[bool]
202
248
  r"""Skip files that trigger a processing error. Disabled by default, which allows retries after processing errors."""
249
+ include_sqs_metadata: NotRequired[bool]
250
+ r"""Attach SQS notification metadata to a __sqsMetadata field on each event"""
203
251
  enable_assume_role: NotRequired[bool]
204
252
  r"""Use Assume Role credentials to access Amazon S3"""
205
253
  assume_role_arn: NotRequired[str]
@@ -271,7 +319,10 @@ class InputCrowdstrike(BaseModel):
271
319
  r"""SQS queue owner's AWS account ID. Leave empty if SQS queue is in same AWS account."""
272
320
 
273
321
  aws_authentication_method: Annotated[
274
- Optional[InputCrowdstrikeAuthenticationMethod],
322
+ Annotated[
323
+ Optional[InputCrowdstrikeAuthenticationMethod],
324
+ PlainValidator(validate_open_enum(False)),
325
+ ],
275
326
  pydantic.Field(alias="awsAuthenticationMethod"),
276
327
  ] = InputCrowdstrikeAuthenticationMethod.AUTO
277
328
  r"""AWS authentication method. Choose Auto to use IAM roles."""
@@ -287,7 +338,10 @@ class InputCrowdstrike(BaseModel):
287
338
  r"""S3 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to S3-compatible endpoint."""
288
339
 
289
340
  signature_version: Annotated[
290
- Optional[InputCrowdstrikeSignatureVersion],
341
+ Annotated[
342
+ Optional[InputCrowdstrikeSignatureVersion],
343
+ PlainValidator(validate_open_enum(False)),
344
+ ],
291
345
  pydantic.Field(alias="signatureVersion"),
292
346
  ] = InputCrowdstrikeSignatureVersion.V4
293
347
  r"""Signature version to use for signing S3 requests"""
@@ -333,6 +387,11 @@ class InputCrowdstrike(BaseModel):
333
387
  )
334
388
  r"""Skip files that trigger a processing error. Disabled by default, which allows retries after processing errors."""
335
389
 
390
+ include_sqs_metadata: Annotated[
391
+ Optional[bool], pydantic.Field(alias="includeSqsMetadata")
392
+ ] = False
393
+ r"""Attach SQS notification metadata to a __sqsMetadata field on each event"""
394
+
336
395
  enable_assume_role: Annotated[
337
396
  Optional[bool], pydantic.Field(alias="enableAssumeRole")
338
397
  ] = True
@@ -379,7 +438,10 @@ class InputCrowdstrike(BaseModel):
379
438
  r"""Select or create a stored secret that references your access key and secret key"""
380
439
 
381
440
  tag_after_processing: Annotated[
382
- Optional[InputCrowdstrikeTagAfterProcessing],
441
+ Annotated[
442
+ Optional[InputCrowdstrikeTagAfterProcessing],
443
+ PlainValidator(validate_open_enum(False)),
444
+ ],
383
445
  pydantic.Field(alias="tagAfterProcessing"),
384
446
  ] = None
385
447
 
@@ -392,3 +454,30 @@ class InputCrowdstrike(BaseModel):
392
454
  Optional[str], pydantic.Field(alias="processedTagValue")
393
455
  ] = None
394
456
  r"""The value for the S3 object tag applied after processing. This field accepts an expression for dynamic generation."""
457
+
458
+ @field_serializer("aws_authentication_method")
459
+ def serialize_aws_authentication_method(self, value):
460
+ if isinstance(value, str):
461
+ try:
462
+ return models.InputCrowdstrikeAuthenticationMethod(value)
463
+ except ValueError:
464
+ return value
465
+ return value
466
+
467
+ @field_serializer("signature_version")
468
+ def serialize_signature_version(self, value):
469
+ if isinstance(value, str):
470
+ try:
471
+ return models.InputCrowdstrikeSignatureVersion(value)
472
+ except ValueError:
473
+ return value
474
+ return value
475
+
476
+ @field_serializer("tag_after_processing")
477
+ def serialize_tag_after_processing(self, value):
478
+ if isinstance(value, str):
479
+ try:
480
+ return models.InputCrowdstrikeTagAfterProcessing(value)
481
+ except ValueError:
482
+ return value
483
+ return value