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 InputOffice365ServiceConnection(BaseModel):
23
27
  pipeline: Optional[str] = None
24
28
 
25
29
 
26
- class InputOffice365ServiceMode(str, Enum):
30
+ class InputOffice365ServiceMode(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 InputOffice365ServiceCompression(str, Enum):
39
+ class InputOffice365ServiceCompression(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 InputOffice365ServicePqControlsTypedDict(TypedDict):
49
+ pass
50
+
51
+
52
+ class InputOffice365ServicePqControls(BaseModel):
53
+ pass
54
+
55
+
40
56
  class InputOffice365ServicePqTypedDict(TypedDict):
41
57
  mode: NotRequired[InputOffice365ServiceMode]
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 InputOffice365ServicePqTypedDict(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[InputOffice365ServiceCompression]
54
70
  r"""Codec to use to compress the persisted data"""
71
+ pq_controls: NotRequired[InputOffice365ServicePqControlsTypedDict]
55
72
 
56
73
 
57
74
  class InputOffice365ServicePq(BaseModel):
58
- mode: Optional[InputOffice365ServiceMode] = InputOffice365ServiceMode.ALWAYS
75
+ mode: Annotated[
76
+ Optional[InputOffice365ServiceMode], PlainValidator(validate_open_enum(False))
77
+ ] = InputOffice365ServiceMode.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,45 @@ class InputOffice365ServicePq(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[InputOffice365ServiceCompression] = (
83
- InputOffice365ServiceCompression.NONE
84
- )
101
+ compress: Annotated[
102
+ Optional[InputOffice365ServiceCompression],
103
+ PlainValidator(validate_open_enum(False)),
104
+ ] = InputOffice365ServiceCompression.NONE
85
105
  r"""Codec to use to compress the persisted data"""
86
106
 
107
+ pq_controls: Annotated[
108
+ Optional[InputOffice365ServicePqControls], pydantic.Field(alias="pqControls")
109
+ ] = None
87
110
 
88
- class InputOffice365ServiceSubscriptionPlan(str, Enum):
111
+ @field_serializer("mode")
112
+ def serialize_mode(self, value):
113
+ if isinstance(value, str):
114
+ try:
115
+ return models.InputOffice365ServiceMode(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.InputOffice365ServiceCompression(value)
125
+ except ValueError:
126
+ return value
127
+ return value
128
+
129
+
130
+ class InputOffice365ServiceSubscriptionPlan(str, Enum, metaclass=utils.OpenEnumMeta):
89
131
  r"""Office 365 subscription plan for your organization, typically Office 365 Enterprise"""
90
132
 
133
+ # Office 365 Enterprise
91
134
  ENTERPRISE_GCC = "enterprise_gcc"
135
+ # Office 365 GCC
92
136
  GCC = "gcc"
137
+ # Office 365 GCC High
93
138
  GCC_HIGH = "gcc_high"
139
+ # Office 365 DoD
94
140
  DOD = "dod"
95
141
 
96
142
 
@@ -107,7 +153,7 @@ class InputOffice365ServiceMetadatum(BaseModel):
107
153
  r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
108
154
 
109
155
 
110
- class InputOffice365ServiceLogLevel(str, Enum):
156
+ class InputOffice365ServiceLogLevel(str, Enum, metaclass=utils.OpenEnumMeta):
111
157
  r"""Collector runtime Log Level"""
112
158
 
113
159
  ERROR = "error"
@@ -137,18 +183,34 @@ class InputOffice365ServiceContentConfig(BaseModel):
137
183
  interval: Optional[float] = None
138
184
 
139
185
  log_level: Annotated[
140
- Optional[InputOffice365ServiceLogLevel], pydantic.Field(alias="logLevel")
186
+ Annotated[
187
+ Optional[InputOffice365ServiceLogLevel],
188
+ PlainValidator(validate_open_enum(False)),
189
+ ],
190
+ pydantic.Field(alias="logLevel"),
141
191
  ] = None
142
192
  r"""Collector runtime Log Level"""
143
193
 
144
194
  enabled: Optional[bool] = None
145
195
 
196
+ @field_serializer("log_level")
197
+ def serialize_log_level(self, value):
198
+ if isinstance(value, str):
199
+ try:
200
+ return models.InputOffice365ServiceLogLevel(value)
201
+ except ValueError:
202
+ return value
203
+ return value
146
204
 
147
- class InputOffice365ServiceRetryType(str, Enum):
205
+
206
+ class InputOffice365ServiceRetryType(str, Enum, metaclass=utils.OpenEnumMeta):
148
207
  r"""The algorithm to use when performing HTTP retries"""
149
208
 
209
+ # Disabled
150
210
  NONE = "none"
211
+ # Backoff
151
212
  BACKOFF = "backoff"
213
+ # Static
152
214
  STATIC = "static"
153
215
 
154
216
 
@@ -172,9 +234,10 @@ class InputOffice365ServiceRetryRulesTypedDict(TypedDict):
172
234
 
173
235
 
174
236
  class InputOffice365ServiceRetryRules(BaseModel):
175
- type: Optional[InputOffice365ServiceRetryType] = (
176
- InputOffice365ServiceRetryType.BACKOFF
177
- )
237
+ type: Annotated[
238
+ Optional[InputOffice365ServiceRetryType],
239
+ PlainValidator(validate_open_enum(False)),
240
+ ] = InputOffice365ServiceRetryType.BACKOFF
178
241
  r"""The algorithm to use when performing HTTP retries"""
179
242
 
180
243
  interval: Optional[float] = 1000
@@ -204,8 +267,19 @@ class InputOffice365ServiceRetryRules(BaseModel):
204
267
  ] = False
205
268
  r"""Retry request when a connection reset (ECONNRESET) error occurs"""
206
269
 
270
+ @field_serializer("type")
271
+ def serialize_type(self, value):
272
+ if isinstance(value, str):
273
+ try:
274
+ return models.InputOffice365ServiceRetryType(value)
275
+ except ValueError:
276
+ return value
277
+ return value
278
+
207
279
 
208
- class InputOffice365ServiceAuthenticationMethod(str, Enum):
280
+ class InputOffice365ServiceAuthenticationMethod(
281
+ str, Enum, metaclass=utils.OpenEnumMeta
282
+ ):
209
283
  r"""Enter client secret directly, or select a stored secret"""
210
284
 
211
285
  MANUAL = "manual"
@@ -213,13 +287,13 @@ class InputOffice365ServiceAuthenticationMethod(str, Enum):
213
287
 
214
288
 
215
289
  class InputOffice365ServiceTypedDict(TypedDict):
290
+ type: InputOffice365ServiceType
216
291
  tenant_id: str
217
292
  r"""Office 365 Azure Tenant ID"""
218
293
  app_id: str
219
294
  r"""Office 365 Azure Application ID"""
220
295
  id: NotRequired[str]
221
296
  r"""Unique ID for this input"""
222
- type: NotRequired[InputOffice365ServiceType]
223
297
  disabled: NotRequired[bool]
224
298
  pipeline: NotRequired[str]
225
299
  r"""Pipeline to process data from this Source before sending it through the Routes"""
@@ -263,6 +337,8 @@ class InputOffice365ServiceTypedDict(TypedDict):
263
337
 
264
338
 
265
339
  class InputOffice365Service(BaseModel):
340
+ type: InputOffice365ServiceType
341
+
266
342
  tenant_id: Annotated[str, pydantic.Field(alias="tenantId")]
267
343
  r"""Office 365 Azure Tenant ID"""
268
344
 
@@ -272,8 +348,6 @@ class InputOffice365Service(BaseModel):
272
348
  id: Optional[str] = None
273
349
  r"""Unique ID for this input"""
274
350
 
275
- type: Optional[InputOffice365ServiceType] = None
276
-
277
351
  disabled: Optional[bool] = False
278
352
 
279
353
  pipeline: Optional[str] = None
@@ -299,7 +373,10 @@ class InputOffice365Service(BaseModel):
299
373
  pq: Optional[InputOffice365ServicePq] = None
300
374
 
301
375
  plan_type: Annotated[
302
- Optional[InputOffice365ServiceSubscriptionPlan],
376
+ Annotated[
377
+ Optional[InputOffice365ServiceSubscriptionPlan],
378
+ PlainValidator(validate_open_enum(False)),
379
+ ],
303
380
  pydantic.Field(alias="planType"),
304
381
  ] = InputOffice365ServiceSubscriptionPlan.ENTERPRISE_GCC
305
382
  r"""Office 365 subscription plan for your organization, typically Office 365 Enterprise"""
@@ -342,7 +419,10 @@ class InputOffice365Service(BaseModel):
342
419
  ] = None
343
420
 
344
421
  auth_type: Annotated[
345
- Optional[InputOffice365ServiceAuthenticationMethod],
422
+ Annotated[
423
+ Optional[InputOffice365ServiceAuthenticationMethod],
424
+ PlainValidator(validate_open_enum(False)),
425
+ ],
346
426
  pydantic.Field(alias="authType"),
347
427
  ] = InputOffice365ServiceAuthenticationMethod.MANUAL
348
428
  r"""Enter client secret directly, or select a stored secret"""
@@ -354,3 +434,21 @@ class InputOffice365Service(BaseModel):
354
434
 
355
435
  text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None
356
436
  r"""Select or create a stored text secret"""
437
+
438
+ @field_serializer("plan_type")
439
+ def serialize_plan_type(self, value):
440
+ if isinstance(value, str):
441
+ try:
442
+ return models.InputOffice365ServiceSubscriptionPlan(value)
443
+ except ValueError:
444
+ return value
445
+ return value
446
+
447
+ @field_serializer("auth_type")
448
+ def serialize_auth_type(self, value):
449
+ if isinstance(value, str):
450
+ try:
451
+ return models.InputOffice365ServiceAuthenticationMethod(value)
452
+ except ValueError:
453
+ return value
454
+ return value
@@ -1,9 +1,13 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
3
  from __future__ import annotations
4
+ from cribl_control_plane import models, utils
4
5
  from cribl_control_plane.types import BaseModel
6
+ from cribl_control_plane.utils import validate_open_enum
5
7
  from enum import Enum
6
8
  import pydantic
9
+ from pydantic import field_serializer
10
+ from pydantic.functional_validators import PlainValidator
7
11
  from typing import Any, List, Optional
8
12
  from typing_extensions import Annotated, NotRequired, TypedDict
9
13
 
@@ -23,20 +27,32 @@ class InputOpenTelemetryConnection(BaseModel):
23
27
  pipeline: Optional[str] = None
24
28
 
25
29
 
26
- class InputOpenTelemetryMode(str, Enum):
30
+ class InputOpenTelemetryMode(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 InputOpenTelemetryCompression(str, Enum):
39
+ class InputOpenTelemetryCompression(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 InputOpenTelemetryPqControlsTypedDict(TypedDict):
49
+ pass
50
+
51
+
52
+ class InputOpenTelemetryPqControls(BaseModel):
53
+ pass
54
+
55
+
40
56
  class InputOpenTelemetryPqTypedDict(TypedDict):
41
57
  mode: NotRequired[InputOpenTelemetryMode]
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 InputOpenTelemetryPqTypedDict(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[InputOpenTelemetryCompression]
54
70
  r"""Codec to use to compress the persisted data"""
71
+ pq_controls: NotRequired[InputOpenTelemetryPqControlsTypedDict]
55
72
 
56
73
 
57
74
  class InputOpenTelemetryPq(BaseModel):
58
- mode: Optional[InputOpenTelemetryMode] = InputOpenTelemetryMode.ALWAYS
75
+ mode: Annotated[
76
+ Optional[InputOpenTelemetryMode], PlainValidator(validate_open_enum(False))
77
+ ] = InputOpenTelemetryMode.ALWAYS
59
78
  r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
60
79
 
61
80
  max_buffer_size: Annotated[
@@ -79,20 +98,43 @@ class InputOpenTelemetryPq(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[InputOpenTelemetryCompression] = (
83
- InputOpenTelemetryCompression.NONE
84
- )
101
+ compress: Annotated[
102
+ Optional[InputOpenTelemetryCompression],
103
+ PlainValidator(validate_open_enum(False)),
104
+ ] = InputOpenTelemetryCompression.NONE
85
105
  r"""Codec to use to compress the persisted data"""
86
106
 
107
+ pq_controls: Annotated[
108
+ Optional[InputOpenTelemetryPqControls], pydantic.Field(alias="pqControls")
109
+ ] = None
87
110
 
88
- class InputOpenTelemetryMinimumTLSVersion(str, Enum):
111
+ @field_serializer("mode")
112
+ def serialize_mode(self, value):
113
+ if isinstance(value, str):
114
+ try:
115
+ return models.InputOpenTelemetryMode(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.InputOpenTelemetryCompression(value)
125
+ except ValueError:
126
+ return value
127
+ return value
128
+
129
+
130
+ class InputOpenTelemetryMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
89
131
  TL_SV1 = "TLSv1"
90
132
  TL_SV1_1 = "TLSv1.1"
91
133
  TL_SV1_2 = "TLSv1.2"
92
134
  TL_SV1_3 = "TLSv1.3"
93
135
 
94
136
 
95
- class InputOpenTelemetryMaximumTLSVersion(str, Enum):
137
+ class InputOpenTelemetryMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
96
138
  TL_SV1 = "TLSv1"
97
139
  TL_SV1_1 = "TLSv1.1"
98
140
  TL_SV1_2 = "TLSv1.2"
@@ -101,6 +143,12 @@ class InputOpenTelemetryMaximumTLSVersion(str, Enum):
101
143
 
102
144
  class InputOpenTelemetryTLSSettingsServerSideTypedDict(TypedDict):
103
145
  disabled: NotRequired[bool]
146
+ request_cert: NotRequired[bool]
147
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
148
+ reject_unauthorized: NotRequired[bool]
149
+ r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
150
+ common_name_regex: NotRequired[str]
151
+ r"""Regex matching allowable common names in peer certificates' subject attribute"""
104
152
  certificate_name: NotRequired[str]
105
153
  r"""The name of the predefined certificate"""
106
154
  priv_key_path: NotRequired[str]
@@ -111,10 +159,6 @@ class InputOpenTelemetryTLSSettingsServerSideTypedDict(TypedDict):
111
159
  r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
112
160
  ca_path: NotRequired[str]
113
161
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
114
- request_cert: NotRequired[bool]
115
- r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
116
- reject_unauthorized: NotRequired[Any]
117
- common_name_regex: NotRequired[Any]
118
162
  min_version: NotRequired[InputOpenTelemetryMinimumTLSVersion]
119
163
  max_version: NotRequired[InputOpenTelemetryMaximumTLSVersion]
120
164
 
@@ -122,6 +166,19 @@ class InputOpenTelemetryTLSSettingsServerSideTypedDict(TypedDict):
122
166
  class InputOpenTelemetryTLSSettingsServerSide(BaseModel):
123
167
  disabled: Optional[bool] = True
124
168
 
169
+ request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
170
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
171
+
172
+ reject_unauthorized: Annotated[
173
+ Optional[bool], pydantic.Field(alias="rejectUnauthorized")
174
+ ] = True
175
+ r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
176
+
177
+ common_name_regex: Annotated[
178
+ Optional[str], pydantic.Field(alias="commonNameRegex")
179
+ ] = "/.*/"
180
+ r"""Regex matching allowable common names in peer certificates' subject attribute"""
181
+
125
182
  certificate_name: Annotated[
126
183
  Optional[str], pydantic.Field(alias="certificateName")
127
184
  ] = None
@@ -139,43 +196,60 @@ class InputOpenTelemetryTLSSettingsServerSide(BaseModel):
139
196
  ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
140
197
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
141
198
 
142
- request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
143
- r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
144
-
145
- reject_unauthorized: Annotated[
146
- Optional[Any], pydantic.Field(alias="rejectUnauthorized")
147
- ] = None
148
-
149
- common_name_regex: Annotated[
150
- Optional[Any], pydantic.Field(alias="commonNameRegex")
151
- ] = None
152
-
153
199
  min_version: Annotated[
154
- Optional[InputOpenTelemetryMinimumTLSVersion],
200
+ Annotated[
201
+ Optional[InputOpenTelemetryMinimumTLSVersion],
202
+ PlainValidator(validate_open_enum(False)),
203
+ ],
155
204
  pydantic.Field(alias="minVersion"),
156
205
  ] = None
157
206
 
158
207
  max_version: Annotated[
159
- Optional[InputOpenTelemetryMaximumTLSVersion],
208
+ Annotated[
209
+ Optional[InputOpenTelemetryMaximumTLSVersion],
210
+ PlainValidator(validate_open_enum(False)),
211
+ ],
160
212
  pydantic.Field(alias="maxVersion"),
161
213
  ] = None
162
214
 
163
-
164
- class InputOpenTelemetryProtocol(str, Enum):
215
+ @field_serializer("min_version")
216
+ def serialize_min_version(self, value):
217
+ if isinstance(value, str):
218
+ try:
219
+ return models.InputOpenTelemetryMinimumTLSVersion(value)
220
+ except ValueError:
221
+ return value
222
+ return value
223
+
224
+ @field_serializer("max_version")
225
+ def serialize_max_version(self, value):
226
+ if isinstance(value, str):
227
+ try:
228
+ return models.InputOpenTelemetryMaximumTLSVersion(value)
229
+ except ValueError:
230
+ return value
231
+ return value
232
+
233
+
234
+ class InputOpenTelemetryProtocol(str, Enum, metaclass=utils.OpenEnumMeta):
165
235
  r"""Select whether to leverage gRPC or HTTP for OpenTelemetry"""
166
236
 
237
+ # gRPC
167
238
  GRPC = "grpc"
239
+ # HTTP
168
240
  HTTP = "http"
169
241
 
170
242
 
171
- class InputOpenTelemetryOTLPVersion(str, Enum):
243
+ class InputOpenTelemetryOTLPVersion(str, Enum, metaclass=utils.OpenEnumMeta):
172
244
  r"""The version of OTLP Protobuf definitions to use when interpreting received data"""
173
245
 
246
+ # 0.10.0
174
247
  ZERO_DOT_10_DOT_0 = "0.10.0"
248
+ # 1.3.1
175
249
  ONE_DOT_3_DOT_1 = "1.3.1"
176
250
 
177
251
 
178
- class InputOpenTelemetryAuthenticationType(str, Enum):
252
+ class InputOpenTelemetryAuthenticationType(str, Enum, metaclass=utils.OpenEnumMeta):
179
253
  r"""OpenTelemetry authentication type"""
180
254
 
181
255
  NONE = "none"
@@ -230,9 +304,9 @@ class InputOpenTelemetryOauthHeader(BaseModel):
230
304
 
231
305
 
232
306
  class InputOpenTelemetryTypedDict(TypedDict):
307
+ type: InputOpenTelemetryType
233
308
  id: NotRequired[str]
234
309
  r"""Unique ID for this input"""
235
- type: NotRequired[InputOpenTelemetryType]
236
310
  disabled: NotRequired[bool]
237
311
  pipeline: NotRequired[str]
238
312
  r"""Pipeline to process data from this Source before sending it through the Routes"""
@@ -315,11 +389,11 @@ class InputOpenTelemetryTypedDict(TypedDict):
315
389
 
316
390
 
317
391
  class InputOpenTelemetry(BaseModel):
392
+ type: InputOpenTelemetryType
393
+
318
394
  id: Optional[str] = None
319
395
  r"""Unique ID for this input"""
320
396
 
321
- type: Optional[InputOpenTelemetryType] = None
322
-
323
397
  disabled: Optional[bool] = False
324
398
 
325
399
  pipeline: Optional[str] = None
@@ -404,7 +478,9 @@ class InputOpenTelemetry(BaseModel):
404
478
  ] = "/^$/"
405
479
  r"""Messages from matched IP addresses will be ignored. This takes precedence over the allowlist."""
406
480
 
407
- protocol: Optional[InputOpenTelemetryProtocol] = InputOpenTelemetryProtocol.GRPC
481
+ protocol: Annotated[
482
+ Optional[InputOpenTelemetryProtocol], PlainValidator(validate_open_enum(False))
483
+ ] = InputOpenTelemetryProtocol.GRPC
408
484
  r"""Select whether to leverage gRPC or HTTP for OpenTelemetry"""
409
485
 
410
486
  extract_spans: Annotated[Optional[bool], pydantic.Field(alias="extractSpans")] = (
@@ -418,12 +494,20 @@ class InputOpenTelemetry(BaseModel):
418
494
  r"""Enable to extract each incoming Gauge or IntGauge metric to multiple events, one per data point"""
419
495
 
420
496
  otlp_version: Annotated[
421
- Optional[InputOpenTelemetryOTLPVersion], pydantic.Field(alias="otlpVersion")
497
+ Annotated[
498
+ Optional[InputOpenTelemetryOTLPVersion],
499
+ PlainValidator(validate_open_enum(False)),
500
+ ],
501
+ pydantic.Field(alias="otlpVersion"),
422
502
  ] = InputOpenTelemetryOTLPVersion.ZERO_DOT_10_DOT_0
423
503
  r"""The version of OTLP Protobuf definitions to use when interpreting received data"""
424
504
 
425
505
  auth_type: Annotated[
426
- Optional[InputOpenTelemetryAuthenticationType], pydantic.Field(alias="authType")
506
+ Annotated[
507
+ Optional[InputOpenTelemetryAuthenticationType],
508
+ PlainValidator(validate_open_enum(False)),
509
+ ],
510
+ pydantic.Field(alias="authType"),
427
511
  ] = InputOpenTelemetryAuthenticationType.NONE
428
512
  r"""OpenTelemetry authentication type"""
429
513
 
@@ -492,3 +576,30 @@ class InputOpenTelemetry(BaseModel):
492
576
 
493
577
  extract_logs: Annotated[Optional[bool], pydantic.Field(alias="extractLogs")] = False
494
578
  r"""Enable to extract each incoming log record to a separate event"""
579
+
580
+ @field_serializer("protocol")
581
+ def serialize_protocol(self, value):
582
+ if isinstance(value, str):
583
+ try:
584
+ return models.InputOpenTelemetryProtocol(value)
585
+ except ValueError:
586
+ return value
587
+ return value
588
+
589
+ @field_serializer("otlp_version")
590
+ def serialize_otlp_version(self, value):
591
+ if isinstance(value, str):
592
+ try:
593
+ return models.InputOpenTelemetryOTLPVersion(value)
594
+ except ValueError:
595
+ return value
596
+ return value
597
+
598
+ @field_serializer("auth_type")
599
+ def serialize_auth_type(self, value):
600
+ if isinstance(value, str):
601
+ try:
602
+ return models.InputOpenTelemetryAuthenticationType(value)
603
+ except ValueError:
604
+ return value
605
+ return value