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
@@ -0,0 +1,379 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from .basesdk import BaseSDK
4
+ from cribl_control_plane import errors, models, utils
5
+ from cribl_control_plane._hooks import HookContext
6
+ from cribl_control_plane.types import OptionalNullable, UNSET
7
+ from cribl_control_plane.utils import get_security_from_env
8
+ from cribl_control_plane.utils.unmarshal_json_response import unmarshal_json_response
9
+ from typing import Any, Mapping, Optional
10
+
11
+
12
+ class DestinationsPq(BaseSDK):
13
+ def clear(
14
+ self,
15
+ *,
16
+ id: str,
17
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
18
+ server_url: Optional[str] = None,
19
+ timeout_ms: Optional[int] = None,
20
+ http_headers: Optional[Mapping[str, str]] = None,
21
+ ) -> models.CountedString:
22
+ r"""Clear the persistent queue for a Destination
23
+
24
+ Clear the persistent queue (PQ) for the specified Destination.
25
+
26
+ :param id: The <code>id</code> of the Destination to clear the PQ for.
27
+ :param retries: Override the default retry configuration for this method
28
+ :param server_url: Override the default server URL for this method
29
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
30
+ :param http_headers: Additional headers to set or replace on requests.
31
+ """
32
+ base_url = None
33
+ url_variables = None
34
+ if timeout_ms is None:
35
+ timeout_ms = self.sdk_configuration.timeout_ms
36
+
37
+ if server_url is not None:
38
+ base_url = server_url
39
+ else:
40
+ base_url = self._get_url(base_url, url_variables)
41
+
42
+ request = models.DeleteOutputPqByIDRequest(
43
+ id=id,
44
+ )
45
+
46
+ req = self._build_request(
47
+ method="DELETE",
48
+ path="/system/outputs/{id}/pq",
49
+ base_url=base_url,
50
+ url_variables=url_variables,
51
+ request=request,
52
+ request_body_required=False,
53
+ request_has_path_params=True,
54
+ request_has_query_params=True,
55
+ user_agent_header="user-agent",
56
+ accept_header_value="application/json",
57
+ http_headers=http_headers,
58
+ security=self.sdk_configuration.security,
59
+ allow_empty_value=None,
60
+ timeout_ms=timeout_ms,
61
+ )
62
+
63
+ if retries == UNSET:
64
+ if self.sdk_configuration.retry_config is not UNSET:
65
+ retries = self.sdk_configuration.retry_config
66
+ else:
67
+ retries = utils.RetryConfig(
68
+ "backoff", utils.BackoffStrategy(500, 60000, 1.5, 3600000), True
69
+ )
70
+
71
+ retry_config = None
72
+ if isinstance(retries, utils.RetryConfig):
73
+ retry_config = (retries, ["429"])
74
+
75
+ http_res = self.do_request(
76
+ hook_ctx=HookContext(
77
+ config=self.sdk_configuration,
78
+ base_url=base_url or "",
79
+ operation_id="deleteOutputPqById",
80
+ oauth2_scopes=[],
81
+ security_source=get_security_from_env(
82
+ self.sdk_configuration.security, models.Security
83
+ ),
84
+ ),
85
+ request=req,
86
+ error_status_codes=["401", "4XX", "500", "5XX"],
87
+ retry_config=retry_config,
88
+ )
89
+
90
+ response_data: Any = None
91
+ if utils.match_response(http_res, "201", "application/json"):
92
+ return unmarshal_json_response(models.CountedString, http_res)
93
+ if utils.match_response(http_res, "500", "application/json"):
94
+ response_data = unmarshal_json_response(errors.ErrorData, http_res)
95
+ raise errors.Error(response_data, http_res)
96
+ if utils.match_response(http_res, ["401", "4XX"], "*"):
97
+ http_res_text = utils.stream_to_text(http_res)
98
+ raise errors.APIError("API error occurred", http_res, http_res_text)
99
+ if utils.match_response(http_res, "5XX", "*"):
100
+ http_res_text = utils.stream_to_text(http_res)
101
+ raise errors.APIError("API error occurred", http_res, http_res_text)
102
+
103
+ raise errors.APIError("Unexpected response received", http_res)
104
+
105
+ async def clear_async(
106
+ self,
107
+ *,
108
+ id: str,
109
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
110
+ server_url: Optional[str] = None,
111
+ timeout_ms: Optional[int] = None,
112
+ http_headers: Optional[Mapping[str, str]] = None,
113
+ ) -> models.CountedString:
114
+ r"""Clear the persistent queue for a Destination
115
+
116
+ Clear the persistent queue (PQ) for the specified Destination.
117
+
118
+ :param id: The <code>id</code> of the Destination to clear the PQ for.
119
+ :param retries: Override the default retry configuration for this method
120
+ :param server_url: Override the default server URL for this method
121
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
122
+ :param http_headers: Additional headers to set or replace on requests.
123
+ """
124
+ base_url = None
125
+ url_variables = None
126
+ if timeout_ms is None:
127
+ timeout_ms = self.sdk_configuration.timeout_ms
128
+
129
+ if server_url is not None:
130
+ base_url = server_url
131
+ else:
132
+ base_url = self._get_url(base_url, url_variables)
133
+
134
+ request = models.DeleteOutputPqByIDRequest(
135
+ id=id,
136
+ )
137
+
138
+ req = self._build_request_async(
139
+ method="DELETE",
140
+ path="/system/outputs/{id}/pq",
141
+ base_url=base_url,
142
+ url_variables=url_variables,
143
+ request=request,
144
+ request_body_required=False,
145
+ request_has_path_params=True,
146
+ request_has_query_params=True,
147
+ user_agent_header="user-agent",
148
+ accept_header_value="application/json",
149
+ http_headers=http_headers,
150
+ security=self.sdk_configuration.security,
151
+ allow_empty_value=None,
152
+ timeout_ms=timeout_ms,
153
+ )
154
+
155
+ if retries == UNSET:
156
+ if self.sdk_configuration.retry_config is not UNSET:
157
+ retries = self.sdk_configuration.retry_config
158
+ else:
159
+ retries = utils.RetryConfig(
160
+ "backoff", utils.BackoffStrategy(500, 60000, 1.5, 3600000), True
161
+ )
162
+
163
+ retry_config = None
164
+ if isinstance(retries, utils.RetryConfig):
165
+ retry_config = (retries, ["429"])
166
+
167
+ http_res = await self.do_request_async(
168
+ hook_ctx=HookContext(
169
+ config=self.sdk_configuration,
170
+ base_url=base_url or "",
171
+ operation_id="deleteOutputPqById",
172
+ oauth2_scopes=[],
173
+ security_source=get_security_from_env(
174
+ self.sdk_configuration.security, models.Security
175
+ ),
176
+ ),
177
+ request=req,
178
+ error_status_codes=["401", "4XX", "500", "5XX"],
179
+ retry_config=retry_config,
180
+ )
181
+
182
+ response_data: Any = None
183
+ if utils.match_response(http_res, "201", "application/json"):
184
+ return unmarshal_json_response(models.CountedString, http_res)
185
+ if utils.match_response(http_res, "500", "application/json"):
186
+ response_data = unmarshal_json_response(errors.ErrorData, http_res)
187
+ raise errors.Error(response_data, http_res)
188
+ if utils.match_response(http_res, ["401", "4XX"], "*"):
189
+ http_res_text = await utils.stream_to_text_async(http_res)
190
+ raise errors.APIError("API error occurred", http_res, http_res_text)
191
+ if utils.match_response(http_res, "5XX", "*"):
192
+ http_res_text = await utils.stream_to_text_async(http_res)
193
+ raise errors.APIError("API error occurred", http_res, http_res_text)
194
+
195
+ raise errors.APIError("Unexpected response received", http_res)
196
+
197
+ def get(
198
+ self,
199
+ *,
200
+ id: str,
201
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
202
+ server_url: Optional[str] = None,
203
+ timeout_ms: Optional[int] = None,
204
+ http_headers: Optional[Mapping[str, str]] = None,
205
+ ) -> models.CountedJobInfo:
206
+ r"""Get information about the latest job to clear the persistent queue for a Destination
207
+
208
+ Get information about the latest job to clear the persistent queue (PQ) for the specified Destination.
209
+
210
+ :param id: The <code>id</code> of the Destination to get PQ job information for.
211
+ :param retries: Override the default retry configuration for this method
212
+ :param server_url: Override the default server URL for this method
213
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
214
+ :param http_headers: Additional headers to set or replace on requests.
215
+ """
216
+ base_url = None
217
+ url_variables = None
218
+ if timeout_ms is None:
219
+ timeout_ms = self.sdk_configuration.timeout_ms
220
+
221
+ if server_url is not None:
222
+ base_url = server_url
223
+ else:
224
+ base_url = self._get_url(base_url, url_variables)
225
+
226
+ request = models.GetOutputPqByIDRequest(
227
+ id=id,
228
+ )
229
+
230
+ req = self._build_request(
231
+ method="GET",
232
+ path="/system/outputs/{id}/pq",
233
+ base_url=base_url,
234
+ url_variables=url_variables,
235
+ request=request,
236
+ request_body_required=False,
237
+ request_has_path_params=True,
238
+ request_has_query_params=True,
239
+ user_agent_header="user-agent",
240
+ accept_header_value="application/json",
241
+ http_headers=http_headers,
242
+ security=self.sdk_configuration.security,
243
+ allow_empty_value=None,
244
+ timeout_ms=timeout_ms,
245
+ )
246
+
247
+ if retries == UNSET:
248
+ if self.sdk_configuration.retry_config is not UNSET:
249
+ retries = self.sdk_configuration.retry_config
250
+ else:
251
+ retries = utils.RetryConfig(
252
+ "backoff", utils.BackoffStrategy(500, 60000, 1.5, 3600000), True
253
+ )
254
+
255
+ retry_config = None
256
+ if isinstance(retries, utils.RetryConfig):
257
+ retry_config = (retries, ["429"])
258
+
259
+ http_res = self.do_request(
260
+ hook_ctx=HookContext(
261
+ config=self.sdk_configuration,
262
+ base_url=base_url or "",
263
+ operation_id="getOutputPqById",
264
+ oauth2_scopes=[],
265
+ security_source=get_security_from_env(
266
+ self.sdk_configuration.security, models.Security
267
+ ),
268
+ ),
269
+ request=req,
270
+ error_status_codes=["401", "4XX", "500", "5XX"],
271
+ retry_config=retry_config,
272
+ )
273
+
274
+ response_data: Any = None
275
+ if utils.match_response(http_res, "200", "application/json"):
276
+ return unmarshal_json_response(models.CountedJobInfo, http_res)
277
+ if utils.match_response(http_res, "500", "application/json"):
278
+ response_data = unmarshal_json_response(errors.ErrorData, http_res)
279
+ raise errors.Error(response_data, http_res)
280
+ if utils.match_response(http_res, ["401", "4XX"], "*"):
281
+ http_res_text = utils.stream_to_text(http_res)
282
+ raise errors.APIError("API error occurred", http_res, http_res_text)
283
+ if utils.match_response(http_res, "5XX", "*"):
284
+ http_res_text = utils.stream_to_text(http_res)
285
+ raise errors.APIError("API error occurred", http_res, http_res_text)
286
+
287
+ raise errors.APIError("Unexpected response received", http_res)
288
+
289
+ async def get_async(
290
+ self,
291
+ *,
292
+ id: str,
293
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
294
+ server_url: Optional[str] = None,
295
+ timeout_ms: Optional[int] = None,
296
+ http_headers: Optional[Mapping[str, str]] = None,
297
+ ) -> models.CountedJobInfo:
298
+ r"""Get information about the latest job to clear the persistent queue for a Destination
299
+
300
+ Get information about the latest job to clear the persistent queue (PQ) for the specified Destination.
301
+
302
+ :param id: The <code>id</code> of the Destination to get PQ job information for.
303
+ :param retries: Override the default retry configuration for this method
304
+ :param server_url: Override the default server URL for this method
305
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
306
+ :param http_headers: Additional headers to set or replace on requests.
307
+ """
308
+ base_url = None
309
+ url_variables = None
310
+ if timeout_ms is None:
311
+ timeout_ms = self.sdk_configuration.timeout_ms
312
+
313
+ if server_url is not None:
314
+ base_url = server_url
315
+ else:
316
+ base_url = self._get_url(base_url, url_variables)
317
+
318
+ request = models.GetOutputPqByIDRequest(
319
+ id=id,
320
+ )
321
+
322
+ req = self._build_request_async(
323
+ method="GET",
324
+ path="/system/outputs/{id}/pq",
325
+ base_url=base_url,
326
+ url_variables=url_variables,
327
+ request=request,
328
+ request_body_required=False,
329
+ request_has_path_params=True,
330
+ request_has_query_params=True,
331
+ user_agent_header="user-agent",
332
+ accept_header_value="application/json",
333
+ http_headers=http_headers,
334
+ security=self.sdk_configuration.security,
335
+ allow_empty_value=None,
336
+ timeout_ms=timeout_ms,
337
+ )
338
+
339
+ if retries == UNSET:
340
+ if self.sdk_configuration.retry_config is not UNSET:
341
+ retries = self.sdk_configuration.retry_config
342
+ else:
343
+ retries = utils.RetryConfig(
344
+ "backoff", utils.BackoffStrategy(500, 60000, 1.5, 3600000), True
345
+ )
346
+
347
+ retry_config = None
348
+ if isinstance(retries, utils.RetryConfig):
349
+ retry_config = (retries, ["429"])
350
+
351
+ http_res = await self.do_request_async(
352
+ hook_ctx=HookContext(
353
+ config=self.sdk_configuration,
354
+ base_url=base_url or "",
355
+ operation_id="getOutputPqById",
356
+ oauth2_scopes=[],
357
+ security_source=get_security_from_env(
358
+ self.sdk_configuration.security, models.Security
359
+ ),
360
+ ),
361
+ request=req,
362
+ error_status_codes=["401", "4XX", "500", "5XX"],
363
+ retry_config=retry_config,
364
+ )
365
+
366
+ response_data: Any = None
367
+ if utils.match_response(http_res, "200", "application/json"):
368
+ return unmarshal_json_response(models.CountedJobInfo, http_res)
369
+ if utils.match_response(http_res, "500", "application/json"):
370
+ response_data = unmarshal_json_response(errors.ErrorData, http_res)
371
+ raise errors.Error(response_data, http_res)
372
+ if utils.match_response(http_res, ["401", "4XX"], "*"):
373
+ http_res_text = await utils.stream_to_text_async(http_res)
374
+ raise errors.APIError("API error occurred", http_res, http_res_text)
375
+ if utils.match_response(http_res, "5XX", "*"):
376
+ http_res_text = await utils.stream_to_text_async(http_res)
377
+ raise errors.APIError("API error occurred", http_res, http_res_text)
378
+
379
+ raise errors.APIError("Unexpected response received", http_res)
@@ -1,13 +1,18 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
+ from .criblcontrolplaneerror import CriblControlPlaneError
3
4
  from typing import TYPE_CHECKING
4
5
  from importlib import import_module
6
+ import builtins
7
+ import sys
5
8
 
6
9
  if TYPE_CHECKING:
7
10
  from .apierror import APIError
8
- from .criblcontrolplaneerror import CriblControlPlaneError
9
11
  from .error import Error, ErrorData
10
- from .healthstatus_error import HealthStatusError, HealthStatusErrorData
12
+ from .healthserverstatus_error import (
13
+ HealthServerStatusError,
14
+ HealthServerStatusErrorData,
15
+ )
11
16
  from .no_response_error import NoResponseError
12
17
  from .responsevalidationerror import ResponseValidationError
13
18
 
@@ -16,24 +21,35 @@ __all__ = [
16
21
  "CriblControlPlaneError",
17
22
  "Error",
18
23
  "ErrorData",
19
- "HealthStatusError",
20
- "HealthStatusErrorData",
24
+ "HealthServerStatusError",
25
+ "HealthServerStatusErrorData",
21
26
  "NoResponseError",
22
27
  "ResponseValidationError",
23
28
  ]
24
29
 
25
30
  _dynamic_imports: dict[str, str] = {
26
31
  "APIError": ".apierror",
27
- "CriblControlPlaneError": ".criblcontrolplaneerror",
28
32
  "Error": ".error",
29
33
  "ErrorData": ".error",
30
- "HealthStatusError": ".healthstatus_error",
31
- "HealthStatusErrorData": ".healthstatus_error",
34
+ "HealthServerStatusError": ".healthserverstatus_error",
35
+ "HealthServerStatusErrorData": ".healthserverstatus_error",
32
36
  "NoResponseError": ".no_response_error",
33
37
  "ResponseValidationError": ".responsevalidationerror",
34
38
  }
35
39
 
36
40
 
41
+ def dynamic_import(modname, retries=3):
42
+ for attempt in range(retries):
43
+ try:
44
+ return import_module(modname, __package__)
45
+ except KeyError:
46
+ # Clear any half-initialized module and retry
47
+ sys.modules.pop(modname, None)
48
+ if attempt == retries - 1:
49
+ break
50
+ raise KeyError(f"Failed to import module '{modname}' after {retries} attempts")
51
+
52
+
37
53
  def __getattr__(attr_name: str) -> object:
38
54
  module_name = _dynamic_imports.get(attr_name)
39
55
  if module_name is None:
@@ -42,7 +58,7 @@ def __getattr__(attr_name: str) -> object:
42
58
  )
43
59
 
44
60
  try:
45
- module = import_module(module_name, __package__)
61
+ module = dynamic_import(module_name)
46
62
  result = getattr(module, attr_name)
47
63
  return result
48
64
  except ImportError as e:
@@ -56,5 +72,5 @@ def __getattr__(attr_name: str) -> object:
56
72
 
57
73
 
58
74
  def __dir__():
59
- lazy_attrs = list(_dynamic_imports.keys())
60
- return sorted(lazy_attrs)
75
+ lazy_attrs = builtins.list(_dynamic_imports.keys())
76
+ return builtins.sorted(lazy_attrs)
@@ -2,12 +2,14 @@
2
2
 
3
3
  import httpx
4
4
  from typing import Optional
5
+ from dataclasses import dataclass
5
6
 
6
7
  from cribl_control_plane.errors import CriblControlPlaneError
7
8
 
8
9
  MAX_MESSAGE_LEN = 10_000
9
10
 
10
11
 
12
+ @dataclass(unsafe_hash=True)
11
13
  class APIError(CriblControlPlaneError):
12
14
  """The fallback error class if no more specific error class is matched."""
13
15
 
@@ -2,25 +2,29 @@
2
2
 
3
3
  import httpx
4
4
  from typing import Optional
5
+ from dataclasses import dataclass, field
5
6
 
6
7
 
8
+ @dataclass(unsafe_hash=True)
7
9
  class CriblControlPlaneError(Exception):
8
10
  """The base class for all HTTP error responses."""
9
11
 
10
12
  message: str
11
13
  status_code: int
12
14
  body: str
13
- headers: httpx.Headers
14
- raw_response: httpx.Response
15
+ headers: httpx.Headers = field(hash=False)
16
+ raw_response: httpx.Response = field(hash=False)
15
17
 
16
18
  def __init__(
17
19
  self, message: str, raw_response: httpx.Response, body: Optional[str] = None
18
20
  ):
19
- self.message = message
20
- self.status_code = raw_response.status_code
21
- self.body = body if body is not None else raw_response.text
22
- self.headers = raw_response.headers
23
- self.raw_response = raw_response
21
+ object.__setattr__(self, "message", message)
22
+ object.__setattr__(self, "status_code", raw_response.status_code)
23
+ object.__setattr__(
24
+ self, "body", body if body is not None else raw_response.text
25
+ )
26
+ object.__setattr__(self, "headers", raw_response.headers)
27
+ object.__setattr__(self, "raw_response", raw_response)
24
28
 
25
29
  def __str__(self):
26
30
  return self.message
@@ -3,6 +3,7 @@
3
3
  from __future__ import annotations
4
4
  from cribl_control_plane.errors import CriblControlPlaneError
5
5
  from cribl_control_plane.types import BaseModel
6
+ from dataclasses import dataclass, field
6
7
  import httpx
7
8
  from typing import Optional
8
9
 
@@ -12,8 +13,9 @@ class ErrorData(BaseModel):
12
13
  r"""Error message"""
13
14
 
14
15
 
16
+ @dataclass(unsafe_hash=True)
15
17
  class Error(CriblControlPlaneError):
16
- data: ErrorData
18
+ data: ErrorData = field(hash=False)
17
19
 
18
20
  def __init__(
19
21
  self, data: ErrorData, raw_response: httpx.Response, body: Optional[str] = None
@@ -21,4 +23,4 @@ class Error(CriblControlPlaneError):
21
23
  fallback = body or raw_response.text
22
24
  message = str(data.message) or fallback
23
25
  super().__init__(message, raw_response, body)
24
- self.data = data
26
+ object.__setattr__(self, "data", data)
@@ -0,0 +1,41 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from cribl_control_plane.errors import CriblControlPlaneError
5
+ from cribl_control_plane.models import healthserverstatus as models_healthserverstatus
6
+ from cribl_control_plane.types import BaseModel
7
+ from cribl_control_plane.utils import validate_open_enum
8
+ from dataclasses import dataclass, field
9
+ import httpx
10
+ import pydantic
11
+ from pydantic.functional_validators import PlainValidator
12
+ from typing import Optional
13
+ from typing_extensions import Annotated
14
+
15
+
16
+ class HealthServerStatusErrorData(BaseModel):
17
+ start_time: Annotated[float, pydantic.Field(alias="startTime")]
18
+
19
+ status: Annotated[
20
+ models_healthserverstatus.Status, PlainValidator(validate_open_enum(False))
21
+ ]
22
+
23
+ role: Annotated[
24
+ Optional[models_healthserverstatus.Role],
25
+ PlainValidator(validate_open_enum(False)),
26
+ ] = None
27
+
28
+
29
+ @dataclass(unsafe_hash=True)
30
+ class HealthServerStatusError(CriblControlPlaneError):
31
+ data: HealthServerStatusErrorData = field(hash=False)
32
+
33
+ def __init__(
34
+ self,
35
+ data: HealthServerStatusErrorData,
36
+ raw_response: httpx.Response,
37
+ body: Optional[str] = None,
38
+ ):
39
+ message = body or raw_response.text
40
+ super().__init__(message, raw_response, body)
41
+ object.__setattr__(self, "data", data)
@@ -1,12 +1,16 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
+ from dataclasses import dataclass
4
+
5
+
6
+ @dataclass(unsafe_hash=True)
3
7
  class NoResponseError(Exception):
4
8
  """Error raised when no HTTP response is received from the server."""
5
9
 
6
10
  message: str
7
11
 
8
12
  def __init__(self, message: str = "No response received"):
9
- self.message = message
13
+ object.__setattr__(self, "message", message)
10
14
  super().__init__(message)
11
15
 
12
16
  def __str__(self):
@@ -2,10 +2,12 @@
2
2
 
3
3
  import httpx
4
4
  from typing import Optional
5
+ from dataclasses import dataclass
5
6
 
6
7
  from cribl_control_plane.errors import CriblControlPlaneError
7
8
 
8
9
 
10
+ @dataclass(unsafe_hash=True)
9
11
  class ResponseValidationError(CriblControlPlaneError):
10
12
  """Error raised when there is a type mismatch between the response data and the expected Pydantic model."""
11
13