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 InputEdgePrometheusConnection(BaseModel):
23
27
  pipeline: Optional[str] = None
24
28
 
25
29
 
26
- class InputEdgePrometheusMode(str, Enum):
30
+ class InputEdgePrometheusMode(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 InputEdgePrometheusPqCompression(str, Enum):
39
+ class InputEdgePrometheusPqCompression(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 InputEdgePrometheusPqControlsTypedDict(TypedDict):
49
+ pass
50
+
51
+
52
+ class InputEdgePrometheusPqControls(BaseModel):
53
+ pass
54
+
55
+
40
56
  class InputEdgePrometheusPqTypedDict(TypedDict):
41
57
  mode: NotRequired[InputEdgePrometheusMode]
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 InputEdgePrometheusPqTypedDict(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[InputEdgePrometheusPqCompression]
54
70
  r"""Codec to use to compress the persisted data"""
71
+ pq_controls: NotRequired[InputEdgePrometheusPqControlsTypedDict]
55
72
 
56
73
 
57
74
  class InputEdgePrometheusPq(BaseModel):
58
- mode: Optional[InputEdgePrometheusMode] = InputEdgePrometheusMode.ALWAYS
75
+ mode: Annotated[
76
+ Optional[InputEdgePrometheusMode], PlainValidator(validate_open_enum(False))
77
+ ] = InputEdgePrometheusMode.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,23 +98,53 @@ class InputEdgePrometheusPq(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[InputEdgePrometheusPqCompression] = (
83
- InputEdgePrometheusPqCompression.NONE
84
- )
101
+ compress: Annotated[
102
+ Optional[InputEdgePrometheusPqCompression],
103
+ PlainValidator(validate_open_enum(False)),
104
+ ] = InputEdgePrometheusPqCompression.NONE
85
105
  r"""Codec to use to compress the persisted data"""
86
106
 
107
+ pq_controls: Annotated[
108
+ Optional[InputEdgePrometheusPqControls], pydantic.Field(alias="pqControls")
109
+ ] = None
87
110
 
88
- class InputEdgePrometheusDiscoveryType(str, Enum):
111
+ @field_serializer("mode")
112
+ def serialize_mode(self, value):
113
+ if isinstance(value, str):
114
+ try:
115
+ return models.InputEdgePrometheusMode(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.InputEdgePrometheusPqCompression(value)
125
+ except ValueError:
126
+ return value
127
+ return value
128
+
129
+
130
+ class InputEdgePrometheusDiscoveryType(str, Enum, metaclass=utils.OpenEnumMeta):
89
131
  r"""Target discovery mechanism. Use static to manually enter a list of targets."""
90
132
 
133
+ # Static
91
134
  STATIC = "static"
135
+ # DNS
92
136
  DNS = "dns"
137
+ # AWS EC2
93
138
  EC2 = "ec2"
139
+ # Kubernetes Node
94
140
  K8S_NODE = "k8s-node"
141
+ # Kubernetes Pods
95
142
  K8S_PODS = "k8s-pods"
96
143
 
97
144
 
98
- class InputEdgePrometheusPersistenceCompression(str, Enum):
145
+ class InputEdgePrometheusPersistenceCompression(
146
+ str, Enum, metaclass=utils.OpenEnumMeta
147
+ ):
99
148
  r"""Data compression format. Default is gzip."""
100
149
 
101
150
  NONE = "none"
@@ -128,11 +177,21 @@ class InputEdgePrometheusDiskSpooling(BaseModel):
128
177
  max_data_time: Annotated[Optional[str], pydantic.Field(alias="maxDataTime")] = "24h"
129
178
  r"""Maximum amount of time to retain data before older buckets are deleted. Examples: 2h, 4d. Default is 24h."""
130
179
 
131
- compress: Optional[InputEdgePrometheusPersistenceCompression] = (
132
- InputEdgePrometheusPersistenceCompression.GZIP
133
- )
180
+ compress: Annotated[
181
+ Optional[InputEdgePrometheusPersistenceCompression],
182
+ PlainValidator(validate_open_enum(False)),
183
+ ] = InputEdgePrometheusPersistenceCompression.GZIP
134
184
  r"""Data compression format. Default is gzip."""
135
185
 
186
+ @field_serializer("compress")
187
+ def serialize_compress(self, value):
188
+ if isinstance(value, str):
189
+ try:
190
+ return models.InputEdgePrometheusPersistenceCompression(value)
191
+ except ValueError:
192
+ return value
193
+ return value
194
+
136
195
 
137
196
  class InputEdgePrometheusMetadatumTypedDict(TypedDict):
138
197
  name: str
@@ -147,7 +206,9 @@ class InputEdgePrometheusMetadatum(BaseModel):
147
206
  r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
148
207
 
149
208
 
150
- class InputEdgePrometheusAuthTypeAuthenticationMethod(str, Enum):
209
+ class InputEdgePrometheusAuthTypeAuthenticationMethod(
210
+ str, Enum, metaclass=utils.OpenEnumMeta
211
+ ):
151
212
  r"""Enter credentials directly, or select a stored secret"""
152
213
 
153
214
  MANUAL = "manual"
@@ -155,7 +216,7 @@ class InputEdgePrometheusAuthTypeAuthenticationMethod(str, Enum):
155
216
  KUBERNETES = "kubernetes"
156
217
 
157
218
 
158
- class InputEdgePrometheusTargetProtocol(str, Enum):
219
+ class TargetProtocol(str, Enum, metaclass=utils.OpenEnumMeta):
159
220
  r"""Protocol to use when collecting metrics"""
160
221
 
161
222
  HTTP = "http"
@@ -165,7 +226,7 @@ class InputEdgePrometheusTargetProtocol(str, Enum):
165
226
  class TargetTypedDict(TypedDict):
166
227
  host: str
167
228
  r"""Name of host from which to pull metrics."""
168
- protocol: NotRequired[InputEdgePrometheusTargetProtocol]
229
+ protocol: NotRequired[TargetProtocol]
169
230
  r"""Protocol to use when collecting metrics"""
170
231
  port: NotRequired[float]
171
232
  r"""The port number in the metrics URL for discovered targets."""
@@ -177,9 +238,9 @@ class Target(BaseModel):
177
238
  host: str
178
239
  r"""Name of host from which to pull metrics."""
179
240
 
180
- protocol: Optional[InputEdgePrometheusTargetProtocol] = (
181
- InputEdgePrometheusTargetProtocol.HTTP
182
- )
241
+ protocol: Annotated[
242
+ Optional[TargetProtocol], PlainValidator(validate_open_enum(False))
243
+ ] = TargetProtocol.HTTP
183
244
  r"""Protocol to use when collecting metrics"""
184
245
 
185
246
  port: Optional[float] = 9090
@@ -188,8 +249,17 @@ class Target(BaseModel):
188
249
  path: Optional[str] = "/metrics"
189
250
  r"""Path to use when collecting metrics from discovered targets"""
190
251
 
252
+ @field_serializer("protocol")
253
+ def serialize_protocol(self, value):
254
+ if isinstance(value, str):
255
+ try:
256
+ return models.TargetProtocol(value)
257
+ except ValueError:
258
+ return value
259
+ return value
191
260
 
192
- class InputEdgePrometheusRecordType(str, Enum):
261
+
262
+ class InputEdgePrometheusRecordType(str, Enum, metaclass=utils.OpenEnumMeta):
193
263
  r"""DNS Record type to resolve"""
194
264
 
195
265
  SRV = "SRV"
@@ -197,13 +267,26 @@ class InputEdgePrometheusRecordType(str, Enum):
197
267
  AAAA = "AAAA"
198
268
 
199
269
 
200
- class InputEdgePrometheusScrapeProtocolProtocol(str, Enum):
270
+ class ScrapeProtocolProtocol(str, Enum, metaclass=utils.OpenEnumMeta):
201
271
  r"""Protocol to use when collecting metrics"""
202
272
 
203
273
  HTTP = "http"
204
274
  HTTPS = "https"
205
275
 
206
276
 
277
+ class InputEdgePrometheusAwsAuthenticationMethodAuthenticationMethod(
278
+ str, Enum, metaclass=utils.OpenEnumMeta
279
+ ):
280
+ r"""AWS authentication method. Choose Auto to use IAM roles."""
281
+
282
+ # Auto
283
+ AUTO = "auto"
284
+ # Manual
285
+ MANUAL = "manual"
286
+ # Secret Key pair
287
+ SECRET = "secret"
288
+
289
+
207
290
  class InputEdgePrometheusSearchFilterTypedDict(TypedDict):
208
291
  name: str
209
292
  r"""Search filter attribute name, see: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html for more information. Attributes can be manually entered if not present in the drop down list"""
@@ -219,15 +302,7 @@ class InputEdgePrometheusSearchFilter(BaseModel):
219
302
  r"""Search Filter Values, if empty only \"running\" EC2 instances will be returned"""
220
303
 
221
304
 
222
- class InputEdgePrometheusAwsAuthenticationMethodAuthenticationMethod(str, Enum):
223
- r"""AWS authentication method. Choose Auto to use IAM roles."""
224
-
225
- AUTO = "auto"
226
- MANUAL = "manual"
227
- SECRET = "secret"
228
-
229
-
230
- class InputEdgePrometheusSignatureVersion(str, Enum):
305
+ class InputEdgePrometheusSignatureVersion(str, Enum, metaclass=utils.OpenEnumMeta):
231
306
  r"""Signature version to use for signing EC2 requests"""
232
307
 
233
308
  V2 = "v2"
@@ -250,9 +325,9 @@ class PodFilter(BaseModel):
250
325
 
251
326
 
252
327
  class InputEdgePrometheusTypedDict(TypedDict):
328
+ type: InputEdgePrometheusType
253
329
  id: NotRequired[str]
254
330
  r"""Unique ID for this input"""
255
- type: NotRequired[InputEdgePrometheusType]
256
331
  disabled: NotRequired[bool]
257
332
  pipeline: NotRequired[str]
258
333
  r"""Pipeline to process data from this Source before sending it through the Routes"""
@@ -282,24 +357,27 @@ class InputEdgePrometheusTypedDict(TypedDict):
282
357
  r"""Enter credentials directly, or select a stored secret"""
283
358
  description: NotRequired[str]
284
359
  targets: NotRequired[List[TargetTypedDict]]
285
- name_list: NotRequired[List[str]]
286
- r"""List of DNS names to resolve"""
287
360
  record_type: NotRequired[InputEdgePrometheusRecordType]
288
361
  r"""DNS Record type to resolve"""
289
- scrape_protocol: NotRequired[InputEdgePrometheusScrapeProtocolProtocol]
362
+ scrape_port: NotRequired[float]
363
+ r"""The port number in the metrics URL for discovered targets."""
364
+ name_list: NotRequired[List[str]]
365
+ r"""List of DNS names to resolve"""
366
+ scrape_protocol: NotRequired[ScrapeProtocolProtocol]
290
367
  r"""Protocol to use when collecting metrics"""
291
368
  scrape_path: NotRequired[str]
292
369
  r"""Path to use when collecting metrics from discovered targets"""
293
- use_public_ip: NotRequired[bool]
294
- r"""Use public IP address for discovered targets. Set to false if the private IP address should be used."""
295
- scrape_port: NotRequired[float]
296
- r"""The port number in the metrics URL for discovered targets."""
297
- search_filter: NotRequired[List[InputEdgePrometheusSearchFilterTypedDict]]
298
- r"""EC2 Instance Search Filter"""
299
370
  aws_authentication_method: NotRequired[
300
371
  InputEdgePrometheusAwsAuthenticationMethodAuthenticationMethod
301
372
  ]
302
373
  r"""AWS authentication method. Choose Auto to use IAM roles."""
374
+ aws_api_key: NotRequired[str]
375
+ aws_secret: NotRequired[str]
376
+ r"""Select or create a stored secret that references your access key and secret key"""
377
+ use_public_ip: NotRequired[bool]
378
+ r"""Use public IP address for discovered targets. Set to false if the private IP address should be used."""
379
+ search_filter: NotRequired[List[InputEdgePrometheusSearchFilterTypedDict]]
380
+ r"""EC2 Instance Search Filter"""
303
381
  aws_secret_key: NotRequired[str]
304
382
  region: NotRequired[str]
305
383
  r"""Region where the EC2 is located"""
@@ -340,11 +418,11 @@ class InputEdgePrometheusTypedDict(TypedDict):
340
418
 
341
419
 
342
420
  class InputEdgePrometheus(BaseModel):
421
+ type: InputEdgePrometheusType
422
+
343
423
  id: Optional[str] = None
344
424
  r"""Unique ID for this input"""
345
425
 
346
- type: Optional[InputEdgePrometheusType] = None
347
-
348
426
  disabled: Optional[bool] = False
349
427
 
350
428
  pipeline: Optional[str] = None
@@ -375,7 +453,10 @@ class InputEdgePrometheus(BaseModel):
375
453
  r"""Other dimensions to include in events"""
376
454
 
377
455
  discovery_type: Annotated[
378
- Optional[InputEdgePrometheusDiscoveryType],
456
+ Annotated[
457
+ Optional[InputEdgePrometheusDiscoveryType],
458
+ PlainValidator(validate_open_enum(False)),
459
+ ],
379
460
  pydantic.Field(alias="discoveryType"),
380
461
  ] = InputEdgePrometheusDiscoveryType.STATIC
381
462
  r"""Target discovery mechanism. Use static to manually enter a list of targets."""
@@ -392,7 +473,10 @@ class InputEdgePrometheus(BaseModel):
392
473
  r"""Fields to add to events from this input"""
393
474
 
394
475
  auth_type: Annotated[
395
- Optional[InputEdgePrometheusAuthTypeAuthenticationMethod],
476
+ Annotated[
477
+ Optional[InputEdgePrometheusAuthTypeAuthenticationMethod],
478
+ PlainValidator(validate_open_enum(False)),
479
+ ],
396
480
  pydantic.Field(alias="authType"),
397
481
  ] = InputEdgePrometheusAuthTypeAuthenticationMethod.MANUAL
398
482
  r"""Enter credentials directly, or select a stored secret"""
@@ -401,18 +485,27 @@ class InputEdgePrometheus(BaseModel):
401
485
 
402
486
  targets: Optional[List[Target]] = None
403
487
 
404
- name_list: Annotated[Optional[List[str]], pydantic.Field(alias="nameList")] = None
405
- r"""List of DNS names to resolve"""
406
-
407
488
  record_type: Annotated[
408
- Optional[InputEdgePrometheusRecordType], pydantic.Field(alias="recordType")
489
+ Annotated[
490
+ Optional[InputEdgePrometheusRecordType],
491
+ PlainValidator(validate_open_enum(False)),
492
+ ],
493
+ pydantic.Field(alias="recordType"),
409
494
  ] = InputEdgePrometheusRecordType.SRV
410
495
  r"""DNS Record type to resolve"""
411
496
 
497
+ scrape_port: Annotated[Optional[float], pydantic.Field(alias="scrapePort")] = 9090
498
+ r"""The port number in the metrics URL for discovered targets."""
499
+
500
+ name_list: Annotated[Optional[List[str]], pydantic.Field(alias="nameList")] = None
501
+ r"""List of DNS names to resolve"""
502
+
412
503
  scrape_protocol: Annotated[
413
- Optional[InputEdgePrometheusScrapeProtocolProtocol],
504
+ Annotated[
505
+ Optional[ScrapeProtocolProtocol], PlainValidator(validate_open_enum(False))
506
+ ],
414
507
  pydantic.Field(alias="scrapeProtocol"),
415
- ] = InputEdgePrometheusScrapeProtocolProtocol.HTTP
508
+ ] = ScrapeProtocolProtocol.HTTP
416
509
  r"""Protocol to use when collecting metrics"""
417
510
 
418
511
  scrape_path: Annotated[Optional[str], pydantic.Field(alias="scrapePath")] = (
@@ -420,24 +513,29 @@ class InputEdgePrometheus(BaseModel):
420
513
  )
421
514
  r"""Path to use when collecting metrics from discovered targets"""
422
515
 
516
+ aws_authentication_method: Annotated[
517
+ Annotated[
518
+ Optional[InputEdgePrometheusAwsAuthenticationMethodAuthenticationMethod],
519
+ PlainValidator(validate_open_enum(False)),
520
+ ],
521
+ pydantic.Field(alias="awsAuthenticationMethod"),
522
+ ] = InputEdgePrometheusAwsAuthenticationMethodAuthenticationMethod.AUTO
523
+ r"""AWS authentication method. Choose Auto to use IAM roles."""
524
+
525
+ aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None
526
+
527
+ aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None
528
+ r"""Select or create a stored secret that references your access key and secret key"""
529
+
423
530
  use_public_ip: Annotated[Optional[bool], pydantic.Field(alias="usePublicIp")] = True
424
531
  r"""Use public IP address for discovered targets. Set to false if the private IP address should be used."""
425
532
 
426
- scrape_port: Annotated[Optional[float], pydantic.Field(alias="scrapePort")] = 9090
427
- r"""The port number in the metrics URL for discovered targets."""
428
-
429
533
  search_filter: Annotated[
430
534
  Optional[List[InputEdgePrometheusSearchFilter]],
431
535
  pydantic.Field(alias="searchFilter"),
432
536
  ] = None
433
537
  r"""EC2 Instance Search Filter"""
434
538
 
435
- aws_authentication_method: Annotated[
436
- Optional[InputEdgePrometheusAwsAuthenticationMethodAuthenticationMethod],
437
- pydantic.Field(alias="awsAuthenticationMethod"),
438
- ] = InputEdgePrometheusAwsAuthenticationMethodAuthenticationMethod.AUTO
439
- r"""AWS authentication method. Choose Auto to use IAM roles."""
440
-
441
539
  aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = (
442
540
  None
443
541
  )
@@ -449,7 +547,10 @@ class InputEdgePrometheus(BaseModel):
449
547
  r"""EC2 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to EC2-compatible endpoint."""
450
548
 
451
549
  signature_version: Annotated[
452
- Optional[InputEdgePrometheusSignatureVersion],
550
+ Annotated[
551
+ Optional[InputEdgePrometheusSignatureVersion],
552
+ PlainValidator(validate_open_enum(False)),
553
+ ],
453
554
  pydantic.Field(alias="signatureVersion"),
454
555
  ] = InputEdgePrometheusSignatureVersion.V4
455
556
  r"""Signature version to use for signing EC2 requests"""
@@ -518,3 +619,59 @@ class InputEdgePrometheus(BaseModel):
518
619
  Optional[str], pydantic.Field(alias="credentialsSecret")
519
620
  ] = None
520
621
  r"""Select or create a secret that references your credentials"""
622
+
623
+ @field_serializer("discovery_type")
624
+ def serialize_discovery_type(self, value):
625
+ if isinstance(value, str):
626
+ try:
627
+ return models.InputEdgePrometheusDiscoveryType(value)
628
+ except ValueError:
629
+ return value
630
+ return value
631
+
632
+ @field_serializer("auth_type")
633
+ def serialize_auth_type(self, value):
634
+ if isinstance(value, str):
635
+ try:
636
+ return models.InputEdgePrometheusAuthTypeAuthenticationMethod(value)
637
+ except ValueError:
638
+ return value
639
+ return value
640
+
641
+ @field_serializer("record_type")
642
+ def serialize_record_type(self, value):
643
+ if isinstance(value, str):
644
+ try:
645
+ return models.InputEdgePrometheusRecordType(value)
646
+ except ValueError:
647
+ return value
648
+ return value
649
+
650
+ @field_serializer("scrape_protocol")
651
+ def serialize_scrape_protocol(self, value):
652
+ if isinstance(value, str):
653
+ try:
654
+ return models.ScrapeProtocolProtocol(value)
655
+ except ValueError:
656
+ return value
657
+ return value
658
+
659
+ @field_serializer("aws_authentication_method")
660
+ def serialize_aws_authentication_method(self, value):
661
+ if isinstance(value, str):
662
+ try:
663
+ return models.InputEdgePrometheusAwsAuthenticationMethodAuthenticationMethod(
664
+ value
665
+ )
666
+ except ValueError:
667
+ return value
668
+ return value
669
+
670
+ @field_serializer("signature_version")
671
+ def serialize_signature_version(self, value):
672
+ if isinstance(value, str):
673
+ try:
674
+ return models.InputEdgePrometheusSignatureVersion(value)
675
+ except ValueError:
676
+ return value
677
+ return value