cribl-control-plane 0.0.39__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 (403) hide show
  1. cribl_control_plane/_hooks/clientcredentials.py +92 -42
  2. cribl_control_plane/_version.py +4 -4
  3. cribl_control_plane/acl.py +21 -9
  4. cribl_control_plane/auth_sdk.py +6 -3
  5. cribl_control_plane/basesdk.py +17 -1
  6. cribl_control_plane/branches.py +28 -8
  7. cribl_control_plane/commits.py +119 -47
  8. cribl_control_plane/commits_files.py +44 -24
  9. cribl_control_plane/configs_versions.py +16 -10
  10. cribl_control_plane/cribl.py +495 -0
  11. cribl_control_plane/destinations.py +86 -34
  12. cribl_control_plane/destinations_pq.py +34 -14
  13. cribl_control_plane/errors/__init__.py +23 -8
  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 +8 -3
  22. cribl_control_plane/groups_sdk.py +156 -94
  23. cribl_control_plane/health.py +34 -14
  24. cribl_control_plane/hectokens.py +44 -20
  25. cribl_control_plane/httpclient.py +0 -1
  26. cribl_control_plane/lakedatasets.py +156 -62
  27. cribl_control_plane/models/__init__.py +3298 -479
  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 +62 -8
  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/{createinputop.py → countedgitdiffresult.py} +5 -9
  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/{createoutputop.py → countedoutputsamplesresponse.py} +5 -9
  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 +26 -27
  81. cribl_control_plane/models/createcribllakedatasetbylakeidop.py +1 -19
  82. cribl_control_plane/models/createinputhectokenbyidop.py +1 -19
  83. cribl_control_plane/models/createoutputtestbyidop.py +1 -20
  84. cribl_control_plane/models/createroutesappendbyidop.py +4 -22
  85. cribl_control_plane/models/createversioncommitop.py +1 -19
  86. cribl_control_plane/models/createversionrevertop.py +3 -21
  87. cribl_control_plane/models/createversionundoop.py +1 -18
  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/datasetmetadata.py +18 -2
  92. cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +18 -21
  93. cribl_control_plane/models/deletecribllakedatasetbylakeidandidop.py +1 -20
  94. cribl_control_plane/models/deleteinputbyidop.py +1 -20
  95. cribl_control_plane/models/deleteoutputbyidop.py +1 -20
  96. cribl_control_plane/models/deleteoutputpqbyidop.py +1 -19
  97. cribl_control_plane/models/deletepacksbyidop.py +1 -20
  98. cribl_control_plane/models/deletepipelinebyidop.py +3 -22
  99. cribl_control_plane/models/difffiles.py +130 -0
  100. cribl_control_plane/models/diffline.py +26 -0
  101. cribl_control_plane/models/difflinecontext.py +28 -0
  102. cribl_control_plane/models/difflinedelete.py +25 -0
  103. cribl_control_plane/models/difflineinsert.py +25 -0
  104. cribl_control_plane/models/distributedsummary.py +6 -0
  105. cribl_control_plane/models/functionaggregatemetrics.py +206 -0
  106. cribl_control_plane/models/functionaggregation.py +172 -0
  107. cribl_control_plane/models/functionautotimestamp.py +173 -0
  108. cribl_control_plane/models/functioncef.py +111 -0
  109. cribl_control_plane/models/functionchain.py +75 -0
  110. cribl_control_plane/models/functionclone.py +75 -0
  111. cribl_control_plane/models/functioncode.py +96 -0
  112. cribl_control_plane/models/functioncomment.py +75 -0
  113. cribl_control_plane/models/functiondistinct.py +99 -0
  114. cribl_control_plane/models/functiondnslookup.py +250 -0
  115. cribl_control_plane/models/functiondrop.py +73 -0
  116. cribl_control_plane/models/functiondropdimensions.py +87 -0
  117. cribl_control_plane/models/functiondynamicsampling.py +121 -0
  118. cribl_control_plane/models/functioneval.py +103 -0
  119. cribl_control_plane/models/functioneventbreaker.py +103 -0
  120. cribl_control_plane/models/functioneventstats.py +92 -0
  121. cribl_control_plane/models/functionexternaldata.py +73 -0
  122. cribl_control_plane/models/functionflatten.py +90 -0
  123. cribl_control_plane/models/functionfoldkeys.py +89 -0
  124. cribl_control_plane/models/functiongenstats.py +73 -0
  125. cribl_control_plane/models/functiongeoip.py +120 -0
  126. cribl_control_plane/models/functiongrok.py +95 -0
  127. cribl_control_plane/models/functionhandlebar.py +112 -0
  128. cribl_control_plane/models/functionjoin.py +112 -0
  129. cribl_control_plane/models/functionjsonunroll.py +80 -0
  130. cribl_control_plane/models/functionlakeexport.py +102 -0
  131. cribl_control_plane/models/functionlimit.py +75 -0
  132. cribl_control_plane/models/functionlocalsearchdatatypeparser.py +76 -0
  133. cribl_control_plane/models/functionlocalsearchrulesetrunner.py +97 -0
  134. cribl_control_plane/models/functionlookup.py +148 -0
  135. cribl_control_plane/models/functionmask.py +121 -0
  136. cribl_control_plane/models/functionmvexpand.py +128 -0
  137. cribl_control_plane/models/functionmvpull.py +99 -0
  138. cribl_control_plane/models/functionnotificationpolicies.py +186 -0
  139. cribl_control_plane/models/functionnotifications.py +85 -0
  140. cribl_control_plane/models/functionnotify.py +196 -0
  141. cribl_control_plane/models/functionnumerify.py +119 -0
  142. cribl_control_plane/models/functionotlplogs.py +82 -0
  143. cribl_control_plane/models/functionotlpmetrics.py +118 -0
  144. cribl_control_plane/models/functionotlptraces.py +111 -0
  145. cribl_control_plane/models/functionpack.py +80 -0
  146. cribl_control_plane/models/functionpivot.py +85 -0
  147. cribl_control_plane/models/functionpublishmetrics.py +153 -0
  148. cribl_control_plane/models/functionredis.py +173 -0
  149. cribl_control_plane/models/functionregexextract.py +112 -0
  150. cribl_control_plane/models/functionregexfilter.py +95 -0
  151. cribl_control_plane/models/functionrename.py +107 -0
  152. cribl_control_plane/models/functionresponse.py +242 -0
  153. cribl_control_plane/models/functionrollupmetrics.py +114 -0
  154. cribl_control_plane/models/functionsampling.py +90 -0
  155. cribl_control_plane/models/functionsend.py +141 -0
  156. cribl_control_plane/models/functionsensitivedatascanner.py +128 -0
  157. cribl_control_plane/models/functionserde.py +161 -0
  158. cribl_control_plane/models/functionserialize.py +134 -0
  159. cribl_control_plane/models/functionsidlookup.py +93 -0
  160. cribl_control_plane/models/functionsnmptrapserialize.py +144 -0
  161. cribl_control_plane/models/functionsort.py +97 -0
  162. cribl_control_plane/models/functionstore.py +132 -0
  163. cribl_control_plane/models/functionsuppress.py +115 -0
  164. cribl_control_plane/models/functiontee.py +90 -0
  165. cribl_control_plane/models/functiontrimtimestamp.py +75 -0
  166. cribl_control_plane/models/functionunion.py +80 -0
  167. cribl_control_plane/models/functionunroll.py +80 -0
  168. cribl_control_plane/models/functionwindow.py +96 -0
  169. cribl_control_plane/models/functionxmlunroll.py +92 -0
  170. cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +24 -20
  171. cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +24 -20
  172. cribl_control_plane/models/getconfiggroupbyproductandidop.py +14 -19
  173. cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +18 -20
  174. cribl_control_plane/models/getcribllakedatasetbylakeidandidop.py +1 -20
  175. cribl_control_plane/models/getcribllakedatasetbylakeidop.py +54 -14
  176. cribl_control_plane/models/getfunctionsbyidop.py +18 -0
  177. cribl_control_plane/models/getinputbyidop.py +1 -20
  178. cribl_control_plane/models/getmasterworkerentryop.py +1 -18
  179. cribl_control_plane/models/getoutputbyidop.py +1 -20
  180. cribl_control_plane/models/getoutputpqbyidop.py +1 -19
  181. cribl_control_plane/models/getoutputsamplesbyidop.py +1 -20
  182. cribl_control_plane/models/getpacksbyidop.py +1 -20
  183. cribl_control_plane/models/getpacksop.py +1 -19
  184. cribl_control_plane/models/getpipelinebyidop.py +3 -22
  185. cribl_control_plane/models/getroutesbyidop.py +3 -22
  186. cribl_control_plane/models/getsummaryop.py +18 -20
  187. cribl_control_plane/models/getversioncountop.py +3 -21
  188. cribl_control_plane/models/getversiondiffop.py +1 -18
  189. cribl_control_plane/models/getversionfilesop.py +3 -22
  190. cribl_control_plane/models/getversionop.py +1 -19
  191. cribl_control_plane/models/getversionshowop.py +1 -18
  192. cribl_control_plane/models/getversionstatusop.py +1 -19
  193. cribl_control_plane/models/{routecloneconf.py → gitcountresult.py} +4 -4
  194. cribl_control_plane/models/gitdiffresult.py +16 -0
  195. cribl_control_plane/models/gitinfo.py +14 -3
  196. cribl_control_plane/models/gitshowresult.py +19 -0
  197. cribl_control_plane/models/groupcreaterequest.py +172 -0
  198. cribl_control_plane/models/hbcriblinfo.py +42 -7
  199. cribl_control_plane/models/healthserverstatus.py +55 -0
  200. cribl_control_plane/models/heartbeatmetadata.py +6 -11
  201. cribl_control_plane/models/input.py +83 -78
  202. cribl_control_plane/models/inputappscope.py +126 -30
  203. cribl_control_plane/models/inputazureblob.py +62 -6
  204. cribl_control_plane/models/inputcloudflarehec.py +518 -0
  205. cribl_control_plane/models/inputcollection.py +47 -4
  206. cribl_control_plane/models/inputconfluentcloud.py +258 -32
  207. cribl_control_plane/models/inputcribl.py +47 -4
  208. cribl_control_plane/models/inputcriblhttp.py +121 -30
  209. cribl_control_plane/models/inputcribllakehttp.py +136 -30
  210. cribl_control_plane/models/inputcriblmetrics.py +48 -4
  211. cribl_control_plane/models/inputcribltcp.py +122 -24
  212. cribl_control_plane/models/inputcrowdstrike.py +92 -10
  213. cribl_control_plane/models/inputdatadogagent.py +98 -24
  214. cribl_control_plane/models/inputdatagen.py +47 -4
  215. cribl_control_plane/models/inputedgeprometheus.py +210 -50
  216. cribl_control_plane/models/inputelastic.py +167 -36
  217. cribl_control_plane/models/inputeventhub.py +209 -6
  218. cribl_control_plane/models/inputexec.py +59 -6
  219. cribl_control_plane/models/inputfile.py +78 -10
  220. cribl_control_plane/models/inputfirehose.py +97 -24
  221. cribl_control_plane/models/inputgooglepubsub.py +67 -6
  222. cribl_control_plane/models/inputgrafana.py +251 -71
  223. cribl_control_plane/models/inputhttp.py +97 -24
  224. cribl_control_plane/models/inputhttpraw.py +97 -24
  225. cribl_control_plane/models/inputjournalfiles.py +48 -4
  226. cribl_control_plane/models/inputkafka.py +252 -28
  227. cribl_control_plane/models/inputkinesis.py +130 -14
  228. cribl_control_plane/models/inputkubeevents.py +47 -4
  229. cribl_control_plane/models/inputkubelogs.py +61 -8
  230. cribl_control_plane/models/inputkubemetrics.py +61 -8
  231. cribl_control_plane/models/inputloki.py +113 -34
  232. cribl_control_plane/models/inputmetrics.py +97 -24
  233. cribl_control_plane/models/inputmodeldriventelemetry.py +107 -26
  234. cribl_control_plane/models/inputmsk.py +145 -32
  235. cribl_control_plane/models/inputnetflow.py +47 -4
  236. cribl_control_plane/models/inputoffice365mgmt.py +112 -14
  237. cribl_control_plane/models/inputoffice365msgtrace.py +114 -16
  238. cribl_control_plane/models/inputoffice365service.py +114 -16
  239. cribl_control_plane/models/inputopentelemetry.py +143 -32
  240. cribl_control_plane/models/inputprometheus.py +193 -44
  241. cribl_control_plane/models/inputprometheusrw.py +114 -27
  242. cribl_control_plane/models/inputrawudp.py +47 -4
  243. cribl_control_plane/models/inputs3.py +78 -8
  244. cribl_control_plane/models/inputs3inventory.py +92 -10
  245. cribl_control_plane/models/inputsecuritylake.py +93 -10
  246. cribl_control_plane/models/inputsnmp.py +112 -21
  247. cribl_control_plane/models/inputsplunk.py +130 -28
  248. cribl_control_plane/models/inputsplunkhec.py +119 -29
  249. cribl_control_plane/models/inputsplunksearch.py +112 -15
  250. cribl_control_plane/models/inputsqs.py +99 -16
  251. cribl_control_plane/models/inputsyslog.py +189 -47
  252. cribl_control_plane/models/inputsystemmetrics.py +202 -32
  253. cribl_control_plane/models/inputsystemstate.py +61 -8
  254. cribl_control_plane/models/inputtcp.py +122 -26
  255. cribl_control_plane/models/inputtcpjson.py +112 -26
  256. cribl_control_plane/models/inputwef.py +144 -15
  257. cribl_control_plane/models/inputwindowsmetrics.py +186 -33
  258. cribl_control_plane/models/inputwineventlogs.py +93 -11
  259. cribl_control_plane/models/inputwiz.py +173 -8
  260. cribl_control_plane/models/inputwizwebhook.py +97 -24
  261. cribl_control_plane/models/inputzscalerhec.py +119 -29
  262. cribl_control_plane/models/jobinfo.py +34 -0
  263. cribl_control_plane/models/jobstatus.py +48 -0
  264. cribl_control_plane/models/lakedatasetmetrics.py +17 -0
  265. cribl_control_plane/models/lakehouseconnectiontype.py +2 -1
  266. cribl_control_plane/models/listconfiggroupbyproductop.py +14 -19
  267. cribl_control_plane/models/listmasterworkerentryop.py +1 -19
  268. cribl_control_plane/models/logininfo.py +3 -3
  269. cribl_control_plane/models/masterworkerentry.py +20 -13
  270. cribl_control_plane/models/nodeactiveupgradestatus.py +2 -1
  271. cribl_control_plane/models/nodefailedupgradestatus.py +2 -1
  272. cribl_control_plane/models/nodeprovidedinfo.py +13 -11
  273. cribl_control_plane/models/nodeskippedupgradestatus.py +2 -1
  274. cribl_control_plane/models/nodeupgradestate.py +2 -1
  275. cribl_control_plane/models/nodeupgradestatus.py +51 -5
  276. cribl_control_plane/models/outpostnodeinfo.py +16 -0
  277. cribl_control_plane/models/output.py +104 -90
  278. cribl_control_plane/models/outputazureblob.py +171 -18
  279. cribl_control_plane/models/outputazuredataexplorer.py +514 -90
  280. cribl_control_plane/models/outputazureeventhub.py +315 -31
  281. cribl_control_plane/models/outputazurelogs.py +145 -26
  282. cribl_control_plane/models/outputchronicle.py +532 -0
  283. cribl_control_plane/models/outputclickhouse.py +205 -34
  284. cribl_control_plane/models/outputcloudflarer2.py +632 -0
  285. cribl_control_plane/models/outputcloudwatch.py +129 -23
  286. cribl_control_plane/models/outputconfluentcloud.py +384 -57
  287. cribl_control_plane/models/outputcriblhttp.py +198 -31
  288. cribl_control_plane/models/outputcribllake.py +156 -16
  289. cribl_control_plane/models/outputcribltcp.py +194 -29
  290. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +172 -28
  291. cribl_control_plane/models/outputdatabricks.py +501 -0
  292. cribl_control_plane/models/outputdatadog.py +199 -31
  293. cribl_control_plane/models/outputdataset.py +181 -29
  294. cribl_control_plane/models/outputdiskspool.py +17 -2
  295. cribl_control_plane/models/outputdls3.py +233 -24
  296. cribl_control_plane/models/outputdynatracehttp.py +208 -34
  297. cribl_control_plane/models/outputdynatraceotlp.py +210 -36
  298. cribl_control_plane/models/outputelastic.py +199 -30
  299. cribl_control_plane/models/outputelasticcloud.py +171 -26
  300. cribl_control_plane/models/outputexabeam.py +96 -10
  301. cribl_control_plane/models/outputfilesystem.py +139 -14
  302. cribl_control_plane/models/outputgooglechronicle.py +216 -35
  303. cribl_control_plane/models/outputgooglecloudlogging.py +174 -31
  304. cribl_control_plane/models/outputgooglecloudstorage.py +215 -24
  305. cribl_control_plane/models/outputgooglepubsub.py +131 -23
  306. cribl_control_plane/models/outputgrafanacloud.py +376 -74
  307. cribl_control_plane/models/outputgraphite.py +128 -25
  308. cribl_control_plane/models/outputhoneycomb.py +145 -26
  309. cribl_control_plane/models/outputhumiohec.py +162 -28
  310. cribl_control_plane/models/outputinfluxdb.py +165 -28
  311. cribl_control_plane/models/outputkafka.py +375 -52
  312. cribl_control_plane/models/outputkinesis.py +165 -27
  313. cribl_control_plane/models/outputloki.py +164 -34
  314. cribl_control_plane/models/outputmicrosoftfabric.py +540 -0
  315. cribl_control_plane/models/outputminio.py +225 -25
  316. cribl_control_plane/models/outputmsk.py +267 -54
  317. cribl_control_plane/models/outputnewrelic.py +171 -29
  318. cribl_control_plane/models/outputnewrelicevents.py +163 -28
  319. cribl_control_plane/models/outputopentelemetry.py +240 -40
  320. cribl_control_plane/models/outputprometheus.py +145 -26
  321. cribl_control_plane/models/outputring.py +49 -8
  322. cribl_control_plane/models/outputs3.py +233 -26
  323. cribl_control_plane/models/outputsecuritylake.py +179 -18
  324. cribl_control_plane/models/outputsentinel.py +172 -29
  325. cribl_control_plane/models/outputsentineloneaisiem.py +178 -32
  326. cribl_control_plane/models/outputservicenow.py +223 -38
  327. cribl_control_plane/models/outputsignalfx.py +145 -26
  328. cribl_control_plane/models/outputsns.py +143 -25
  329. cribl_control_plane/models/outputsplunk.py +206 -36
  330. cribl_control_plane/models/outputsplunkhec.py +238 -26
  331. cribl_control_plane/models/outputsplunklb.py +262 -42
  332. cribl_control_plane/models/outputsqs.py +163 -33
  333. cribl_control_plane/models/outputstatsd.py +127 -25
  334. cribl_control_plane/models/outputstatsdext.py +128 -25
  335. cribl_control_plane/models/outputsumologic.py +146 -25
  336. cribl_control_plane/models/outputsyslog.py +318 -46
  337. cribl_control_plane/models/outputtcpjson.py +186 -32
  338. cribl_control_plane/models/outputwavefront.py +145 -26
  339. cribl_control_plane/models/outputwebhook.py +211 -33
  340. cribl_control_plane/models/outputxsiam.py +143 -26
  341. cribl_control_plane/models/packinfo.py +8 -5
  342. cribl_control_plane/models/packinstallinfo.py +11 -8
  343. cribl_control_plane/models/piisettings_union.py +31 -0
  344. cribl_control_plane/models/productscore.py +2 -1
  345. cribl_control_plane/models/rbacresource.py +2 -1
  346. cribl_control_plane/models/resourcepolicy.py +15 -2
  347. cribl_control_plane/models/rollbacksettings_union.py +44 -0
  348. cribl_control_plane/models/routeconf.py +3 -4
  349. cribl_control_plane/models/runnablejob.py +27 -0
  350. cribl_control_plane/models/runnablejobcollection.py +628 -0
  351. cribl_control_plane/models/runnablejobexecutor.py +360 -0
  352. cribl_control_plane/models/runnablejobscheduledsearch.py +279 -0
  353. cribl_control_plane/models/snisettings_union.py +31 -0
  354. cribl_control_plane/models/systemsettingsconf.py +291 -0
  355. cribl_control_plane/models/tlssettings_union.py +43 -0
  356. cribl_control_plane/models/updateconfiggroupbyproductandidop.py +19 -20
  357. cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +19 -21
  358. cribl_control_plane/models/updatecribllakedatasetbylakeidandidop.py +10 -25
  359. cribl_control_plane/models/updatehectokenrequest.py +7 -1
  360. cribl_control_plane/models/updateinputbyidop.py +1 -19
  361. cribl_control_plane/models/updateinputhectokenbyidandtokenop.py +1 -19
  362. cribl_control_plane/models/updateoutputbyidop.py +1 -19
  363. cribl_control_plane/models/updatepacksbyidop.py +1 -20
  364. cribl_control_plane/models/updatepacksop.py +25 -0
  365. cribl_control_plane/models/updatepipelinebyidop.py +5 -23
  366. cribl_control_plane/models/updateroutesbyidop.py +3 -21
  367. cribl_control_plane/models/upgradegroupsettings_union.py +43 -0
  368. cribl_control_plane/models/upgradepackageurls.py +20 -0
  369. cribl_control_plane/models/upgradesettings.py +38 -0
  370. cribl_control_plane/models/uploadpackresponse.py +13 -0
  371. cribl_control_plane/models/workertypes.py +2 -1
  372. cribl_control_plane/nodes.py +37 -23
  373. cribl_control_plane/packs.py +292 -37
  374. cribl_control_plane/pipelines.py +98 -48
  375. cribl_control_plane/routes_sdk.py +86 -50
  376. cribl_control_plane/samples.py +32 -16
  377. cribl_control_plane/sdk.py +26 -6
  378. cribl_control_plane/settings.py +20 -0
  379. cribl_control_plane/sources.py +85 -33
  380. cribl_control_plane/statuses.py +16 -6
  381. cribl_control_plane/summaries.py +16 -6
  382. cribl_control_plane/system_sdk.py +20 -0
  383. cribl_control_plane/teams.py +16 -6
  384. cribl_control_plane/tokens.py +49 -21
  385. cribl_control_plane/utils/__init__.py +15 -3
  386. cribl_control_plane/utils/annotations.py +32 -8
  387. cribl_control_plane/utils/eventstreaming.py +10 -0
  388. cribl_control_plane/utils/forms.py +21 -10
  389. cribl_control_plane/utils/queryparams.py +14 -2
  390. cribl_control_plane/utils/retries.py +69 -5
  391. cribl_control_plane/utils/unmarshal_json_response.py +15 -1
  392. cribl_control_plane/versions.py +11 -6
  393. cribl_control_plane/versions_configs.py +16 -6
  394. {cribl_control_plane-0.0.39.dist-info → cribl_control_plane-0.4.0b23.dist-info}/METADATA +99 -43
  395. cribl_control_plane-0.4.0b23.dist-info/RECORD +450 -0
  396. {cribl_control_plane-0.0.39.dist-info → cribl_control_plane-0.4.0b23.dist-info}/WHEEL +1 -1
  397. cribl_control_plane-0.4.0b23.dist-info/licenses/LICENSE +201 -0
  398. cribl_control_plane/errors/healthstatus_error.py +0 -32
  399. cribl_control_plane/models/appmode.py +0 -13
  400. cribl_control_plane/models/createpipelineop.py +0 -24
  401. cribl_control_plane/models/createversionpushop.py +0 -23
  402. cribl_control_plane/models/healthstatus.py +0 -33
  403. cribl_control_plane-0.0.39.dist-info/RECORD +0 -315
@@ -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, Union
9
+ from pydantic import field_serializer
10
+ from pydantic.functional_validators import PlainValidator
11
+ from typing import List, Optional, Union
8
12
  from typing_extensions import Annotated, NotRequired, TypeAliasType, TypedDict
9
13
 
10
14
 
@@ -23,20 +27,32 @@ class InputGrafanaConnection2(BaseModel):
23
27
  pipeline: Optional[str] = None
24
28
 
25
29
 
26
- class InputGrafanaMode2(str, Enum):
30
+ class InputGrafanaMode2(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 InputGrafanaCompression2(str, Enum):
39
+ class InputGrafanaCompression2(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 InputGrafanaPqControls2TypedDict(TypedDict):
49
+ pass
50
+
51
+
52
+ class InputGrafanaPqControls2(BaseModel):
53
+ pass
54
+
55
+
40
56
  class InputGrafanaPq2TypedDict(TypedDict):
41
57
  mode: NotRequired[InputGrafanaMode2]
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 InputGrafanaPq2TypedDict(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[InputGrafanaCompression2]
54
70
  r"""Codec to use to compress the persisted data"""
71
+ pq_controls: NotRequired[InputGrafanaPqControls2TypedDict]
55
72
 
56
73
 
57
74
  class InputGrafanaPq2(BaseModel):
58
- mode: Optional[InputGrafanaMode2] = InputGrafanaMode2.ALWAYS
75
+ mode: Annotated[
76
+ Optional[InputGrafanaMode2], PlainValidator(validate_open_enum(False))
77
+ ] = InputGrafanaMode2.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 InputGrafanaPq2(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[InputGrafanaCompression2] = InputGrafanaCompression2.NONE
101
+ compress: Annotated[
102
+ Optional[InputGrafanaCompression2], PlainValidator(validate_open_enum(False))
103
+ ] = InputGrafanaCompression2.NONE
83
104
  r"""Codec to use to compress the persisted data"""
84
105
 
106
+ pq_controls: Annotated[
107
+ Optional[InputGrafanaPqControls2], pydantic.Field(alias="pqControls")
108
+ ] = None
85
109
 
86
- class InputGrafanaMinimumTLSVersion2(str, Enum):
110
+ @field_serializer("mode")
111
+ def serialize_mode(self, value):
112
+ if isinstance(value, str):
113
+ try:
114
+ return models.InputGrafanaMode2(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.InputGrafanaCompression2(value)
124
+ except ValueError:
125
+ return value
126
+ return value
127
+
128
+
129
+ class InputGrafanaMinimumTLSVersion2(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 InputGrafanaMaximumTLSVersion2(str, Enum):
136
+ class InputGrafanaMaximumTLSVersion2(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 InputGrafanaMaximumTLSVersion2(str, Enum):
99
142
 
100
143
  class InputGrafanaTLSSettingsServerSide2TypedDict(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 InputGrafanaTLSSettingsServerSide2TypedDict(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[InputGrafanaMinimumTLSVersion2]
117
162
  max_version: NotRequired[InputGrafanaMaximumTLSVersion2]
118
163
 
@@ -120,6 +165,19 @@ class InputGrafanaTLSSettingsServerSide2TypedDict(TypedDict):
120
165
  class InputGrafanaTLSSettingsServerSide2(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,27 +195,44 @@ class InputGrafanaTLSSettingsServerSide2(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[InputGrafanaMinimumTLSVersion2], pydantic.Field(alias="minVersion")
199
+ Annotated[
200
+ Optional[InputGrafanaMinimumTLSVersion2],
201
+ PlainValidator(validate_open_enum(False)),
202
+ ],
203
+ pydantic.Field(alias="minVersion"),
153
204
  ] = None
154
205
 
155
206
  max_version: Annotated[
156
- Optional[InputGrafanaMaximumTLSVersion2], pydantic.Field(alias="maxVersion")
207
+ Annotated[
208
+ Optional[InputGrafanaMaximumTLSVersion2],
209
+ PlainValidator(validate_open_enum(False)),
210
+ ],
211
+ pydantic.Field(alias="maxVersion"),
157
212
  ] = None
158
213
 
159
-
160
- class InputGrafanaPrometheusAuthAuthenticationType2(str, Enum):
214
+ @field_serializer("min_version")
215
+ def serialize_min_version(self, value):
216
+ if isinstance(value, str):
217
+ try:
218
+ return models.InputGrafanaMinimumTLSVersion2(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.InputGrafanaMaximumTLSVersion2(value)
228
+ except ValueError:
229
+ return value
230
+ return value
231
+
232
+
233
+ class InputGrafanaPrometheusAuthAuthenticationType2(
234
+ str, Enum, metaclass=utils.OpenEnumMeta
235
+ ):
161
236
  r"""Remote Write authentication type"""
162
237
 
163
238
  NONE = "none"
@@ -229,7 +304,10 @@ class InputGrafanaPrometheusAuth2TypedDict(TypedDict):
229
304
 
230
305
  class InputGrafanaPrometheusAuth2(BaseModel):
231
306
  auth_type: Annotated[
232
- Optional[InputGrafanaPrometheusAuthAuthenticationType2],
307
+ Annotated[
308
+ Optional[InputGrafanaPrometheusAuthAuthenticationType2],
309
+ PlainValidator(validate_open_enum(False)),
310
+ ],
233
311
  pydantic.Field(alias="authType"),
234
312
  ] = InputGrafanaPrometheusAuthAuthenticationType2.NONE
235
313
  r"""Remote Write authentication type"""
@@ -285,8 +363,17 @@ class InputGrafanaPrometheusAuth2(BaseModel):
285
363
  ] = None
286
364
  r"""Additional headers to send in the OAuth login request. @{product} will automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request."""
287
365
 
366
+ @field_serializer("auth_type")
367
+ def serialize_auth_type(self, value):
368
+ if isinstance(value, str):
369
+ try:
370
+ return models.InputGrafanaPrometheusAuthAuthenticationType2(value)
371
+ except ValueError:
372
+ return value
373
+ return value
374
+
288
375
 
289
- class InputGrafanaLokiAuthAuthenticationType2(str, Enum):
376
+ class InputGrafanaLokiAuthAuthenticationType2(str, Enum, metaclass=utils.OpenEnumMeta):
290
377
  r"""Loki logs authentication type"""
291
378
 
292
379
  NONE = "none"
@@ -358,7 +445,10 @@ class InputGrafanaLokiAuth2TypedDict(TypedDict):
358
445
 
359
446
  class InputGrafanaLokiAuth2(BaseModel):
360
447
  auth_type: Annotated[
361
- Optional[InputGrafanaLokiAuthAuthenticationType2],
448
+ Annotated[
449
+ Optional[InputGrafanaLokiAuthAuthenticationType2],
450
+ PlainValidator(validate_open_enum(False)),
451
+ ],
362
452
  pydantic.Field(alias="authType"),
363
453
  ] = InputGrafanaLokiAuthAuthenticationType2.NONE
364
454
  r"""Loki logs authentication type"""
@@ -414,6 +504,15 @@ class InputGrafanaLokiAuth2(BaseModel):
414
504
  ] = None
415
505
  r"""Additional headers to send in the OAuth login request. @{product} will automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request."""
416
506
 
507
+ @field_serializer("auth_type")
508
+ def serialize_auth_type(self, value):
509
+ if isinstance(value, str):
510
+ try:
511
+ return models.InputGrafanaLokiAuthAuthenticationType2(value)
512
+ except ValueError:
513
+ return value
514
+ return value
515
+
417
516
 
418
517
  class InputGrafanaMetadatum2TypedDict(TypedDict):
419
518
  name: str
@@ -477,8 +576,6 @@ class InputGrafanaGrafana2TypedDict(TypedDict):
477
576
  r"""Absolute path on which to listen for Grafana Agent's Remote Write requests. Defaults to /api/prom/push, which will expand as: 'http://<your‑upstream‑URL>:<your‑port>/api/prom/push'. Either this field or 'Logs API endpoint' must be configured."""
478
577
  loki_api: NotRequired[str]
479
578
  r"""Absolute path on which to listen for Loki logs requests. Defaults to /loki/api/v1/push, which will (in this example) expand as: 'http://<your‑upstream‑URL>:<your‑port>/loki/api/v1/push'. Either this field or 'Remote Write API endpoint' must be configured."""
480
- extract_structured_metadata: NotRequired[bool]
481
- r"""Extract structured metadata from the Loki 3.5.3+ format and place it in the __structuredMetadata field. When disabled, uses legacy Loki parsing for backward compatibility."""
482
579
  prometheus_auth: NotRequired[InputGrafanaPrometheusAuth2TypedDict]
483
580
  loki_auth: NotRequired[InputGrafanaLokiAuth2TypedDict]
484
581
  metadata: NotRequired[List[InputGrafanaMetadatum2TypedDict]]
@@ -589,11 +686,6 @@ class InputGrafanaGrafana2(BaseModel):
589
686
  )
590
687
  r"""Absolute path on which to listen for Loki logs requests. Defaults to /loki/api/v1/push, which will (in this example) expand as: 'http://<your‑upstream‑URL>:<your‑port>/loki/api/v1/push'. Either this field or 'Remote Write API endpoint' must be configured."""
591
688
 
592
- extract_structured_metadata: Annotated[
593
- Optional[bool], pydantic.Field(alias="extractStructuredMetadata")
594
- ] = False
595
- r"""Extract structured metadata from the Loki 3.5.3+ format and place it in the __structuredMetadata field. When disabled, uses legacy Loki parsing for backward compatibility."""
596
-
597
689
  prometheus_auth: Annotated[
598
690
  Optional[InputGrafanaPrometheusAuth2], pydantic.Field(alias="prometheusAuth")
599
691
  ] = None
@@ -623,20 +715,32 @@ class InputGrafanaConnection1(BaseModel):
623
715
  pipeline: Optional[str] = None
624
716
 
625
717
 
626
- class InputGrafanaMode1(str, Enum):
718
+ class InputGrafanaMode1(str, Enum, metaclass=utils.OpenEnumMeta):
627
719
  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."""
628
720
 
721
+ # Smart
629
722
  SMART = "smart"
723
+ # Always On
630
724
  ALWAYS = "always"
631
725
 
632
726
 
633
- class InputGrafanaCompression1(str, Enum):
727
+ class InputGrafanaCompression1(str, Enum, metaclass=utils.OpenEnumMeta):
634
728
  r"""Codec to use to compress the persisted data"""
635
729
 
730
+ # None
636
731
  NONE = "none"
732
+ # Gzip
637
733
  GZIP = "gzip"
638
734
 
639
735
 
736
+ class InputGrafanaPqControls1TypedDict(TypedDict):
737
+ pass
738
+
739
+
740
+ class InputGrafanaPqControls1(BaseModel):
741
+ pass
742
+
743
+
640
744
  class InputGrafanaPq1TypedDict(TypedDict):
641
745
  mode: NotRequired[InputGrafanaMode1]
642
746
  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."""
@@ -652,10 +756,13 @@ class InputGrafanaPq1TypedDict(TypedDict):
652
756
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
653
757
  compress: NotRequired[InputGrafanaCompression1]
654
758
  r"""Codec to use to compress the persisted data"""
759
+ pq_controls: NotRequired[InputGrafanaPqControls1TypedDict]
655
760
 
656
761
 
657
762
  class InputGrafanaPq1(BaseModel):
658
- mode: Optional[InputGrafanaMode1] = InputGrafanaMode1.ALWAYS
763
+ mode: Annotated[
764
+ Optional[InputGrafanaMode1], PlainValidator(validate_open_enum(False))
765
+ ] = InputGrafanaMode1.ALWAYS
659
766
  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."""
660
767
 
661
768
  max_buffer_size: Annotated[
@@ -679,18 +786,42 @@ class InputGrafanaPq1(BaseModel):
679
786
  path: Optional[str] = "$CRIBL_HOME/state/queues"
680
787
  r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
681
788
 
682
- compress: Optional[InputGrafanaCompression1] = InputGrafanaCompression1.NONE
789
+ compress: Annotated[
790
+ Optional[InputGrafanaCompression1], PlainValidator(validate_open_enum(False))
791
+ ] = InputGrafanaCompression1.NONE
683
792
  r"""Codec to use to compress the persisted data"""
684
793
 
794
+ pq_controls: Annotated[
795
+ Optional[InputGrafanaPqControls1], pydantic.Field(alias="pqControls")
796
+ ] = None
685
797
 
686
- class InputGrafanaMinimumTLSVersion1(str, Enum):
798
+ @field_serializer("mode")
799
+ def serialize_mode(self, value):
800
+ if isinstance(value, str):
801
+ try:
802
+ return models.InputGrafanaMode1(value)
803
+ except ValueError:
804
+ return value
805
+ return value
806
+
807
+ @field_serializer("compress")
808
+ def serialize_compress(self, value):
809
+ if isinstance(value, str):
810
+ try:
811
+ return models.InputGrafanaCompression1(value)
812
+ except ValueError:
813
+ return value
814
+ return value
815
+
816
+
817
+ class InputGrafanaMinimumTLSVersion1(str, Enum, metaclass=utils.OpenEnumMeta):
687
818
  TL_SV1 = "TLSv1"
688
819
  TL_SV1_1 = "TLSv1.1"
689
820
  TL_SV1_2 = "TLSv1.2"
690
821
  TL_SV1_3 = "TLSv1.3"
691
822
 
692
823
 
693
- class InputGrafanaMaximumTLSVersion1(str, Enum):
824
+ class InputGrafanaMaximumTLSVersion1(str, Enum, metaclass=utils.OpenEnumMeta):
694
825
  TL_SV1 = "TLSv1"
695
826
  TL_SV1_1 = "TLSv1.1"
696
827
  TL_SV1_2 = "TLSv1.2"
@@ -699,6 +830,12 @@ class InputGrafanaMaximumTLSVersion1(str, Enum):
699
830
 
700
831
  class InputGrafanaTLSSettingsServerSide1TypedDict(TypedDict):
701
832
  disabled: NotRequired[bool]
833
+ request_cert: NotRequired[bool]
834
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
835
+ reject_unauthorized: NotRequired[bool]
836
+ r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
837
+ common_name_regex: NotRequired[str]
838
+ r"""Regex matching allowable common names in peer certificates' subject attribute"""
702
839
  certificate_name: NotRequired[str]
703
840
  r"""The name of the predefined certificate"""
704
841
  priv_key_path: NotRequired[str]
@@ -709,10 +846,6 @@ class InputGrafanaTLSSettingsServerSide1TypedDict(TypedDict):
709
846
  r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
710
847
  ca_path: NotRequired[str]
711
848
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
712
- request_cert: NotRequired[bool]
713
- r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
714
- reject_unauthorized: NotRequired[Any]
715
- common_name_regex: NotRequired[Any]
716
849
  min_version: NotRequired[InputGrafanaMinimumTLSVersion1]
717
850
  max_version: NotRequired[InputGrafanaMaximumTLSVersion1]
718
851
 
@@ -720,6 +853,19 @@ class InputGrafanaTLSSettingsServerSide1TypedDict(TypedDict):
720
853
  class InputGrafanaTLSSettingsServerSide1(BaseModel):
721
854
  disabled: Optional[bool] = True
722
855
 
856
+ request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
857
+ r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
858
+
859
+ reject_unauthorized: Annotated[
860
+ Optional[bool], pydantic.Field(alias="rejectUnauthorized")
861
+ ] = True
862
+ r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
863
+
864
+ common_name_regex: Annotated[
865
+ Optional[str], pydantic.Field(alias="commonNameRegex")
866
+ ] = "/.*/"
867
+ r"""Regex matching allowable common names in peer certificates' subject attribute"""
868
+
723
869
  certificate_name: Annotated[
724
870
  Optional[str], pydantic.Field(alias="certificateName")
725
871
  ] = None
@@ -737,27 +883,44 @@ class InputGrafanaTLSSettingsServerSide1(BaseModel):
737
883
  ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
738
884
  r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
739
885
 
740
- request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
741
- r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
742
-
743
- reject_unauthorized: Annotated[
744
- Optional[Any], pydantic.Field(alias="rejectUnauthorized")
745
- ] = None
746
-
747
- common_name_regex: Annotated[
748
- Optional[Any], pydantic.Field(alias="commonNameRegex")
749
- ] = None
750
-
751
886
  min_version: Annotated[
752
- Optional[InputGrafanaMinimumTLSVersion1], pydantic.Field(alias="minVersion")
887
+ Annotated[
888
+ Optional[InputGrafanaMinimumTLSVersion1],
889
+ PlainValidator(validate_open_enum(False)),
890
+ ],
891
+ pydantic.Field(alias="minVersion"),
753
892
  ] = None
754
893
 
755
894
  max_version: Annotated[
756
- Optional[InputGrafanaMaximumTLSVersion1], pydantic.Field(alias="maxVersion")
895
+ Annotated[
896
+ Optional[InputGrafanaMaximumTLSVersion1],
897
+ PlainValidator(validate_open_enum(False)),
898
+ ],
899
+ pydantic.Field(alias="maxVersion"),
757
900
  ] = None
758
901
 
759
-
760
- class InputGrafanaPrometheusAuthAuthenticationType1(str, Enum):
902
+ @field_serializer("min_version")
903
+ def serialize_min_version(self, value):
904
+ if isinstance(value, str):
905
+ try:
906
+ return models.InputGrafanaMinimumTLSVersion1(value)
907
+ except ValueError:
908
+ return value
909
+ return value
910
+
911
+ @field_serializer("max_version")
912
+ def serialize_max_version(self, value):
913
+ if isinstance(value, str):
914
+ try:
915
+ return models.InputGrafanaMaximumTLSVersion1(value)
916
+ except ValueError:
917
+ return value
918
+ return value
919
+
920
+
921
+ class InputGrafanaPrometheusAuthAuthenticationType1(
922
+ str, Enum, metaclass=utils.OpenEnumMeta
923
+ ):
761
924
  r"""Remote Write authentication type"""
762
925
 
763
926
  NONE = "none"
@@ -829,7 +992,10 @@ class InputGrafanaPrometheusAuth1TypedDict(TypedDict):
829
992
 
830
993
  class InputGrafanaPrometheusAuth1(BaseModel):
831
994
  auth_type: Annotated[
832
- Optional[InputGrafanaPrometheusAuthAuthenticationType1],
995
+ Annotated[
996
+ Optional[InputGrafanaPrometheusAuthAuthenticationType1],
997
+ PlainValidator(validate_open_enum(False)),
998
+ ],
833
999
  pydantic.Field(alias="authType"),
834
1000
  ] = InputGrafanaPrometheusAuthAuthenticationType1.NONE
835
1001
  r"""Remote Write authentication type"""
@@ -885,8 +1051,17 @@ class InputGrafanaPrometheusAuth1(BaseModel):
885
1051
  ] = None
886
1052
  r"""Additional headers to send in the OAuth login request. @{product} will automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request."""
887
1053
 
1054
+ @field_serializer("auth_type")
1055
+ def serialize_auth_type(self, value):
1056
+ if isinstance(value, str):
1057
+ try:
1058
+ return models.InputGrafanaPrometheusAuthAuthenticationType1(value)
1059
+ except ValueError:
1060
+ return value
1061
+ return value
1062
+
888
1063
 
889
- class InputGrafanaLokiAuthAuthenticationType1(str, Enum):
1064
+ class InputGrafanaLokiAuthAuthenticationType1(str, Enum, metaclass=utils.OpenEnumMeta):
890
1065
  r"""Loki logs authentication type"""
891
1066
 
892
1067
  NONE = "none"
@@ -958,7 +1133,10 @@ class InputGrafanaLokiAuth1TypedDict(TypedDict):
958
1133
 
959
1134
  class InputGrafanaLokiAuth1(BaseModel):
960
1135
  auth_type: Annotated[
961
- Optional[InputGrafanaLokiAuthAuthenticationType1],
1136
+ Annotated[
1137
+ Optional[InputGrafanaLokiAuthAuthenticationType1],
1138
+ PlainValidator(validate_open_enum(False)),
1139
+ ],
962
1140
  pydantic.Field(alias="authType"),
963
1141
  ] = InputGrafanaLokiAuthAuthenticationType1.NONE
964
1142
  r"""Loki logs authentication type"""
@@ -1014,6 +1192,15 @@ class InputGrafanaLokiAuth1(BaseModel):
1014
1192
  ] = None
1015
1193
  r"""Additional headers to send in the OAuth login request. @{product} will automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request."""
1016
1194
 
1195
+ @field_serializer("auth_type")
1196
+ def serialize_auth_type(self, value):
1197
+ if isinstance(value, str):
1198
+ try:
1199
+ return models.InputGrafanaLokiAuthAuthenticationType1(value)
1200
+ except ValueError:
1201
+ return value
1202
+ return value
1203
+
1017
1204
 
1018
1205
  class InputGrafanaMetadatum1TypedDict(TypedDict):
1019
1206
  name: str
@@ -1077,8 +1264,6 @@ class InputGrafanaGrafana1TypedDict(TypedDict):
1077
1264
  r"""Absolute path on which to listen for Grafana Agent's Remote Write requests. Defaults to /api/prom/push, which will expand as: 'http://<your‑upstream‑URL>:<your‑port>/api/prom/push'. Either this field or 'Logs API endpoint' must be configured."""
1078
1265
  loki_api: NotRequired[str]
1079
1266
  r"""Absolute path on which to listen for Loki logs requests. Defaults to /loki/api/v1/push, which will (in this example) expand as: 'http://<your‑upstream‑URL>:<your‑port>/loki/api/v1/push'. Either this field or 'Remote Write API endpoint' must be configured."""
1080
- extract_structured_metadata: NotRequired[bool]
1081
- r"""Extract structured metadata from the Loki 3.5.3+ format and place it in the __structuredMetadata field. When disabled, uses legacy Loki parsing for backward compatibility."""
1082
1267
  prometheus_auth: NotRequired[InputGrafanaPrometheusAuth1TypedDict]
1083
1268
  loki_auth: NotRequired[InputGrafanaLokiAuth1TypedDict]
1084
1269
  metadata: NotRequired[List[InputGrafanaMetadatum1TypedDict]]
@@ -1189,11 +1374,6 @@ class InputGrafanaGrafana1(BaseModel):
1189
1374
  )
1190
1375
  r"""Absolute path on which to listen for Loki logs requests. Defaults to /loki/api/v1/push, which will (in this example) expand as: 'http://<your‑upstream‑URL>:<your‑port>/loki/api/v1/push'. Either this field or 'Remote Write API endpoint' must be configured."""
1191
1376
 
1192
- extract_structured_metadata: Annotated[
1193
- Optional[bool], pydantic.Field(alias="extractStructuredMetadata")
1194
- ] = False
1195
- r"""Extract structured metadata from the Loki 3.5.3+ format and place it in the __structuredMetadata field. When disabled, uses legacy Loki parsing for backward compatibility."""
1196
-
1197
1377
  prometheus_auth: Annotated[
1198
1378
  Optional[InputGrafanaPrometheusAuth1], pydantic.Field(alias="prometheusAuth")
1199
1379
  ] = None