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,407 @@
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, List, Mapping, Optional, Union
10
+
11
+
12
+ class Samples(BaseSDK):
13
+ def get(
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.CountedOutputSamplesResponse:
22
+ r"""Get sample event data for a Destination
23
+
24
+ Get sample event data for the specified Destination to validate the configuration or test connectivity.
25
+
26
+ :param id: The <code>id</code> of the Destination to get sample event data 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.GetOutputSamplesByIDRequest(
43
+ id=id,
44
+ )
45
+
46
+ req = self._build_request(
47
+ method="GET",
48
+ path="/system/outputs/{id}/samples",
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="getOutputSamplesById",
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, "200", "application/json"):
92
+ return unmarshal_json_response(
93
+ models.CountedOutputSamplesResponse, http_res
94
+ )
95
+ if utils.match_response(http_res, "500", "application/json"):
96
+ response_data = unmarshal_json_response(errors.ErrorData, http_res)
97
+ raise errors.Error(response_data, http_res)
98
+ if utils.match_response(http_res, ["401", "4XX"], "*"):
99
+ http_res_text = utils.stream_to_text(http_res)
100
+ raise errors.APIError("API error occurred", http_res, http_res_text)
101
+ if utils.match_response(http_res, "5XX", "*"):
102
+ http_res_text = utils.stream_to_text(http_res)
103
+ raise errors.APIError("API error occurred", http_res, http_res_text)
104
+
105
+ raise errors.APIError("Unexpected response received", http_res)
106
+
107
+ async def get_async(
108
+ self,
109
+ *,
110
+ id: str,
111
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
112
+ server_url: Optional[str] = None,
113
+ timeout_ms: Optional[int] = None,
114
+ http_headers: Optional[Mapping[str, str]] = None,
115
+ ) -> models.CountedOutputSamplesResponse:
116
+ r"""Get sample event data for a Destination
117
+
118
+ Get sample event data for the specified Destination to validate the configuration or test connectivity.
119
+
120
+ :param id: The <code>id</code> of the Destination to get sample event data for.
121
+ :param retries: Override the default retry configuration for this method
122
+ :param server_url: Override the default server URL for this method
123
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
124
+ :param http_headers: Additional headers to set or replace on requests.
125
+ """
126
+ base_url = None
127
+ url_variables = None
128
+ if timeout_ms is None:
129
+ timeout_ms = self.sdk_configuration.timeout_ms
130
+
131
+ if server_url is not None:
132
+ base_url = server_url
133
+ else:
134
+ base_url = self._get_url(base_url, url_variables)
135
+
136
+ request = models.GetOutputSamplesByIDRequest(
137
+ id=id,
138
+ )
139
+
140
+ req = self._build_request_async(
141
+ method="GET",
142
+ path="/system/outputs/{id}/samples",
143
+ base_url=base_url,
144
+ url_variables=url_variables,
145
+ request=request,
146
+ request_body_required=False,
147
+ request_has_path_params=True,
148
+ request_has_query_params=True,
149
+ user_agent_header="user-agent",
150
+ accept_header_value="application/json",
151
+ http_headers=http_headers,
152
+ security=self.sdk_configuration.security,
153
+ allow_empty_value=None,
154
+ timeout_ms=timeout_ms,
155
+ )
156
+
157
+ if retries == UNSET:
158
+ if self.sdk_configuration.retry_config is not UNSET:
159
+ retries = self.sdk_configuration.retry_config
160
+ else:
161
+ retries = utils.RetryConfig(
162
+ "backoff", utils.BackoffStrategy(500, 60000, 1.5, 3600000), True
163
+ )
164
+
165
+ retry_config = None
166
+ if isinstance(retries, utils.RetryConfig):
167
+ retry_config = (retries, ["429"])
168
+
169
+ http_res = await self.do_request_async(
170
+ hook_ctx=HookContext(
171
+ config=self.sdk_configuration,
172
+ base_url=base_url or "",
173
+ operation_id="getOutputSamplesById",
174
+ oauth2_scopes=[],
175
+ security_source=get_security_from_env(
176
+ self.sdk_configuration.security, models.Security
177
+ ),
178
+ ),
179
+ request=req,
180
+ error_status_codes=["401", "4XX", "500", "5XX"],
181
+ retry_config=retry_config,
182
+ )
183
+
184
+ response_data: Any = None
185
+ if utils.match_response(http_res, "200", "application/json"):
186
+ return unmarshal_json_response(
187
+ models.CountedOutputSamplesResponse, http_res
188
+ )
189
+ if utils.match_response(http_res, "500", "application/json"):
190
+ response_data = unmarshal_json_response(errors.ErrorData, http_res)
191
+ raise errors.Error(response_data, http_res)
192
+ if utils.match_response(http_res, ["401", "4XX"], "*"):
193
+ http_res_text = await utils.stream_to_text_async(http_res)
194
+ raise errors.APIError("API error occurred", http_res, http_res_text)
195
+ if utils.match_response(http_res, "5XX", "*"):
196
+ http_res_text = await utils.stream_to_text_async(http_res)
197
+ raise errors.APIError("API error occurred", http_res, http_res_text)
198
+
199
+ raise errors.APIError("Unexpected response received", http_res)
200
+
201
+ def create(
202
+ self,
203
+ *,
204
+ id: str,
205
+ events: Union[List[models.CriblEvent], List[models.CriblEventTypedDict]],
206
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
207
+ server_url: Optional[str] = None,
208
+ timeout_ms: Optional[int] = None,
209
+ http_headers: Optional[Mapping[str, str]] = None,
210
+ ) -> models.CountedOutputTestResponse:
211
+ r"""Send sample event data to a Destination
212
+
213
+ Send sample event data to the specified Destination to validate the configuration or test connectivity.
214
+
215
+ :param id: The <code>id</code> of the Destination to send sample event data to.
216
+ :param events:
217
+ :param retries: Override the default retry configuration for this method
218
+ :param server_url: Override the default server URL for this method
219
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
220
+ :param http_headers: Additional headers to set or replace on requests.
221
+ """
222
+ base_url = None
223
+ url_variables = None
224
+ if timeout_ms is None:
225
+ timeout_ms = self.sdk_configuration.timeout_ms
226
+
227
+ if server_url is not None:
228
+ base_url = server_url
229
+ else:
230
+ base_url = self._get_url(base_url, url_variables)
231
+
232
+ request = models.CreateOutputTestByIDRequest(
233
+ id=id,
234
+ output_test_request=models.OutputTestRequest(
235
+ events=utils.get_pydantic_model(events, List[models.CriblEvent]),
236
+ ),
237
+ )
238
+
239
+ req = self._build_request(
240
+ method="POST",
241
+ path="/system/outputs/{id}/test",
242
+ base_url=base_url,
243
+ url_variables=url_variables,
244
+ request=request,
245
+ request_body_required=True,
246
+ request_has_path_params=True,
247
+ request_has_query_params=True,
248
+ user_agent_header="user-agent",
249
+ accept_header_value="application/json",
250
+ http_headers=http_headers,
251
+ security=self.sdk_configuration.security,
252
+ get_serialized_body=lambda: utils.serialize_request_body(
253
+ request.output_test_request,
254
+ False,
255
+ False,
256
+ "json",
257
+ models.OutputTestRequest,
258
+ ),
259
+ allow_empty_value=None,
260
+ timeout_ms=timeout_ms,
261
+ )
262
+
263
+ if retries == UNSET:
264
+ if self.sdk_configuration.retry_config is not UNSET:
265
+ retries = self.sdk_configuration.retry_config
266
+ else:
267
+ retries = utils.RetryConfig(
268
+ "backoff", utils.BackoffStrategy(500, 60000, 1.5, 3600000), True
269
+ )
270
+
271
+ retry_config = None
272
+ if isinstance(retries, utils.RetryConfig):
273
+ retry_config = (retries, ["429"])
274
+
275
+ http_res = self.do_request(
276
+ hook_ctx=HookContext(
277
+ config=self.sdk_configuration,
278
+ base_url=base_url or "",
279
+ operation_id="createOutputTestById",
280
+ oauth2_scopes=[],
281
+ security_source=get_security_from_env(
282
+ self.sdk_configuration.security, models.Security
283
+ ),
284
+ ),
285
+ request=req,
286
+ error_status_codes=["401", "4XX", "500", "5XX"],
287
+ retry_config=retry_config,
288
+ )
289
+
290
+ response_data: Any = None
291
+ if utils.match_response(http_res, "200", "application/json"):
292
+ return unmarshal_json_response(models.CountedOutputTestResponse, http_res)
293
+ if utils.match_response(http_res, "500", "application/json"):
294
+ response_data = unmarshal_json_response(errors.ErrorData, http_res)
295
+ raise errors.Error(response_data, http_res)
296
+ if utils.match_response(http_res, ["401", "4XX"], "*"):
297
+ http_res_text = utils.stream_to_text(http_res)
298
+ raise errors.APIError("API error occurred", http_res, http_res_text)
299
+ if utils.match_response(http_res, "5XX", "*"):
300
+ http_res_text = utils.stream_to_text(http_res)
301
+ raise errors.APIError("API error occurred", http_res, http_res_text)
302
+
303
+ raise errors.APIError("Unexpected response received", http_res)
304
+
305
+ async def create_async(
306
+ self,
307
+ *,
308
+ id: str,
309
+ events: Union[List[models.CriblEvent], List[models.CriblEventTypedDict]],
310
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
311
+ server_url: Optional[str] = None,
312
+ timeout_ms: Optional[int] = None,
313
+ http_headers: Optional[Mapping[str, str]] = None,
314
+ ) -> models.CountedOutputTestResponse:
315
+ r"""Send sample event data to a Destination
316
+
317
+ Send sample event data to the specified Destination to validate the configuration or test connectivity.
318
+
319
+ :param id: The <code>id</code> of the Destination to send sample event data to.
320
+ :param events:
321
+ :param retries: Override the default retry configuration for this method
322
+ :param server_url: Override the default server URL for this method
323
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
324
+ :param http_headers: Additional headers to set or replace on requests.
325
+ """
326
+ base_url = None
327
+ url_variables = None
328
+ if timeout_ms is None:
329
+ timeout_ms = self.sdk_configuration.timeout_ms
330
+
331
+ if server_url is not None:
332
+ base_url = server_url
333
+ else:
334
+ base_url = self._get_url(base_url, url_variables)
335
+
336
+ request = models.CreateOutputTestByIDRequest(
337
+ id=id,
338
+ output_test_request=models.OutputTestRequest(
339
+ events=utils.get_pydantic_model(events, List[models.CriblEvent]),
340
+ ),
341
+ )
342
+
343
+ req = self._build_request_async(
344
+ method="POST",
345
+ path="/system/outputs/{id}/test",
346
+ base_url=base_url,
347
+ url_variables=url_variables,
348
+ request=request,
349
+ request_body_required=True,
350
+ request_has_path_params=True,
351
+ request_has_query_params=True,
352
+ user_agent_header="user-agent",
353
+ accept_header_value="application/json",
354
+ http_headers=http_headers,
355
+ security=self.sdk_configuration.security,
356
+ get_serialized_body=lambda: utils.serialize_request_body(
357
+ request.output_test_request,
358
+ False,
359
+ False,
360
+ "json",
361
+ models.OutputTestRequest,
362
+ ),
363
+ allow_empty_value=None,
364
+ timeout_ms=timeout_ms,
365
+ )
366
+
367
+ if retries == UNSET:
368
+ if self.sdk_configuration.retry_config is not UNSET:
369
+ retries = self.sdk_configuration.retry_config
370
+ else:
371
+ retries = utils.RetryConfig(
372
+ "backoff", utils.BackoffStrategy(500, 60000, 1.5, 3600000), True
373
+ )
374
+
375
+ retry_config = None
376
+ if isinstance(retries, utils.RetryConfig):
377
+ retry_config = (retries, ["429"])
378
+
379
+ http_res = await self.do_request_async(
380
+ hook_ctx=HookContext(
381
+ config=self.sdk_configuration,
382
+ base_url=base_url or "",
383
+ operation_id="createOutputTestById",
384
+ oauth2_scopes=[],
385
+ security_source=get_security_from_env(
386
+ self.sdk_configuration.security, models.Security
387
+ ),
388
+ ),
389
+ request=req,
390
+ error_status_codes=["401", "4XX", "500", "5XX"],
391
+ retry_config=retry_config,
392
+ )
393
+
394
+ response_data: Any = None
395
+ if utils.match_response(http_res, "200", "application/json"):
396
+ return unmarshal_json_response(models.CountedOutputTestResponse, http_res)
397
+ if utils.match_response(http_res, "500", "application/json"):
398
+ response_data = unmarshal_json_response(errors.ErrorData, http_res)
399
+ raise errors.Error(response_data, http_res)
400
+ if utils.match_response(http_res, ["401", "4XX"], "*"):
401
+ http_res_text = await utils.stream_to_text_async(http_res)
402
+ raise errors.APIError("API error occurred", http_res, http_res_text)
403
+ if utils.match_response(http_res, "5XX", "*"):
404
+ http_res_text = await utils.stream_to_text_async(http_res)
405
+ raise errors.APIError("API error occurred", http_res, http_res_text)
406
+
407
+ raise errors.APIError("Unexpected response received", http_res)
@@ -10,66 +10,64 @@ from cribl_control_plane._hooks import SDKHooks
10
10
  from cribl_control_plane.types import OptionalNullable, UNSET
11
11
  import httpx
12
12
  import importlib
13
+ import sys
13
14
  from typing import Callable, Optional, TYPE_CHECKING, Union, cast
14
15
  import weakref
15
16
 
16
17
  if TYPE_CHECKING:
17
18
  from cribl_control_plane.auth_sdk import AuthSDK
18
19
  from cribl_control_plane.destinations import Destinations
19
- from cribl_control_plane.distributed import Distributed
20
+ from cribl_control_plane.functions import Functions
20
21
  from cribl_control_plane.groups_sdk import GroupsSDK
21
22
  from cribl_control_plane.health import Health
22
- from cribl_control_plane.lake import Lake
23
+ from cribl_control_plane.lakedatasets import LakeDatasets
24
+ from cribl_control_plane.nodes import Nodes
23
25
  from cribl_control_plane.packs import Packs
24
26
  from cribl_control_plane.pipelines import Pipelines
25
27
  from cribl_control_plane.routes_sdk import RoutesSDK
26
28
  from cribl_control_plane.sources import Sources
27
- from cribl_control_plane.teams import Teams
28
- from cribl_control_plane.versioning import Versioning
29
- from cribl_control_plane.workers_sdk import WorkersSDK
29
+ from cribl_control_plane.system_sdk import SystemSDK
30
+ from cribl_control_plane.versions import Versions
30
31
 
31
32
 
32
33
  class CriblControlPlane(BaseSDK):
33
34
  r"""Cribl API Reference: This API Reference lists available REST endpoints, along with their supported operations for accessing, creating, updating, or deleting resources. See our complementary product documentation at [docs.cribl.io](http://docs.cribl.io)."""
34
35
 
35
- lake: "Lake"
36
- r"""Actions related to Lake"""
36
+ lake_datasets: "LakeDatasets"
37
37
  sources: "Sources"
38
+ r"""Actions related to Sources"""
38
39
  destinations: "Destinations"
40
+ r"""Actions related to Destinations"""
39
41
  pipelines: "Pipelines"
40
42
  r"""Actions related to Pipelines"""
41
43
  routes: "RoutesSDK"
42
44
  r"""Actions related to Routes"""
43
45
  auth: "AuthSDK"
44
- r"""Actions related to authentication. Do not use the /auth endpoints in Cribl.Cloud deployments. Instead, follow the instructions at https://docs.cribl.io/stream/api-tutorials/#criblcloud to authenticate for Cribl.Cloud."""
45
- workers: "WorkersSDK"
46
- r"""Actions related to Workers"""
47
- distributed: "Distributed"
48
- r"""Actions related to Distributed"""
49
46
  health: "Health"
50
47
  r"""Actions related to REST server health"""
51
48
  packs: "Packs"
52
49
  r"""Actions related to Packs"""
53
- versioning: "Versioning"
54
- r"""Actions related to Versioning"""
50
+ system: "SystemSDK"
51
+ versions: "Versions"
52
+ functions: "Functions"
53
+ r"""Actions related to functions"""
54
+ nodes: "Nodes"
55
55
  groups: "GroupsSDK"
56
56
  r"""Actions related to Groups"""
57
- teams: "Teams"
58
- r"""Actions related to Teams"""
59
57
  _sub_sdk_map = {
60
- "lake": ("cribl_control_plane.lake", "Lake"),
58
+ "lake_datasets": ("cribl_control_plane.lakedatasets", "LakeDatasets"),
61
59
  "sources": ("cribl_control_plane.sources", "Sources"),
62
60
  "destinations": ("cribl_control_plane.destinations", "Destinations"),
63
61
  "pipelines": ("cribl_control_plane.pipelines", "Pipelines"),
64
62
  "routes": ("cribl_control_plane.routes_sdk", "RoutesSDK"),
65
63
  "auth": ("cribl_control_plane.auth_sdk", "AuthSDK"),
66
- "workers": ("cribl_control_plane.workers_sdk", "WorkersSDK"),
67
- "distributed": ("cribl_control_plane.distributed", "Distributed"),
68
64
  "health": ("cribl_control_plane.health", "Health"),
69
65
  "packs": ("cribl_control_plane.packs", "Packs"),
70
- "versioning": ("cribl_control_plane.versioning", "Versioning"),
66
+ "system": ("cribl_control_plane.system_sdk", "SystemSDK"),
67
+ "versions": ("cribl_control_plane.versions", "Versions"),
68
+ "functions": ("cribl_control_plane.functions", "Functions"),
69
+ "nodes": ("cribl_control_plane.nodes", "Nodes"),
71
70
  "groups": ("cribl_control_plane.groups_sdk", "GroupsSDK"),
72
- "teams": ("cribl_control_plane.teams", "Teams"),
73
71
  }
74
72
 
75
73
  def __init__(
@@ -97,7 +95,7 @@ class CriblControlPlane(BaseSDK):
97
95
  """
98
96
  client_supplied = True
99
97
  if client is None:
100
- client = httpx.Client()
98
+ client = httpx.Client(follow_redirects=True)
101
99
  client_supplied = False
102
100
 
103
101
  assert issubclass(
@@ -106,7 +104,7 @@ class CriblControlPlane(BaseSDK):
106
104
 
107
105
  async_client_supplied = True
108
106
  if async_client is None:
109
- async_client = httpx.AsyncClient()
107
+ async_client = httpx.AsyncClient(follow_redirects=True)
110
108
  async_client_supplied = False
111
109
 
112
110
  if debug_logger is None:
@@ -129,6 +127,7 @@ class CriblControlPlane(BaseSDK):
129
127
  timeout_ms=timeout_ms,
130
128
  debug_logger=debug_logger,
131
129
  ),
130
+ parent_ref=self,
132
131
  )
133
132
 
134
133
  hooks = SDKHooks()
@@ -148,13 +147,24 @@ class CriblControlPlane(BaseSDK):
148
147
  self.sdk_configuration.async_client_supplied,
149
148
  )
150
149
 
150
+ def dynamic_import(self, modname, retries=3):
151
+ for attempt in range(retries):
152
+ try:
153
+ return importlib.import_module(modname)
154
+ except KeyError:
155
+ # Clear any half-initialized module and retry
156
+ sys.modules.pop(modname, None)
157
+ if attempt == retries - 1:
158
+ break
159
+ raise KeyError(f"Failed to import module '{modname}' after {retries} attempts")
160
+
151
161
  def __getattr__(self, name: str):
152
162
  if name in self._sub_sdk_map:
153
163
  module_path, class_name = self._sub_sdk_map[name]
154
164
  try:
155
- module = importlib.import_module(module_path)
165
+ module = self.dynamic_import(module_path)
156
166
  klass = getattr(module, class_name)
157
- instance = klass(self.sdk_configuration)
167
+ instance = klass(self.sdk_configuration, parent_ref=self)
158
168
  setattr(self, name, instance)
159
169
  return instance
160
170
  except ImportError as e:
@@ -0,0 +1,20 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from .basesdk import BaseSDK
4
+ from .sdkconfiguration import SDKConfiguration
5
+ from cribl_control_plane.cribl import Cribl
6
+ from typing import Optional
7
+
8
+
9
+ class Settings(BaseSDK):
10
+ cribl: Cribl
11
+
12
+ def __init__(
13
+ self, sdk_config: SDKConfiguration, parent_ref: Optional[object] = None
14
+ ) -> None:
15
+ BaseSDK.__init__(self, sdk_config, parent_ref=parent_ref)
16
+ self.sdk_configuration = sdk_config
17
+ self._init_sdks()
18
+
19
+ def _init_sdks(self):
20
+ self.cribl = Cribl(self.sdk_configuration, parent_ref=self.parent_ref)