cribl-control-plane 0.0.39__py3-none-any.whl → 0.4.0b23__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (403) hide show
  1. cribl_control_plane/_hooks/clientcredentials.py +92 -42
  2. cribl_control_plane/_version.py +4 -4
  3. cribl_control_plane/acl.py +21 -9
  4. cribl_control_plane/auth_sdk.py +6 -3
  5. cribl_control_plane/basesdk.py +17 -1
  6. cribl_control_plane/branches.py +28 -8
  7. cribl_control_plane/commits.py +119 -47
  8. cribl_control_plane/commits_files.py +44 -24
  9. cribl_control_plane/configs_versions.py +16 -10
  10. cribl_control_plane/cribl.py +495 -0
  11. cribl_control_plane/destinations.py +86 -34
  12. cribl_control_plane/destinations_pq.py +34 -14
  13. cribl_control_plane/errors/__init__.py +23 -8
  14. cribl_control_plane/errors/apierror.py +2 -0
  15. cribl_control_plane/errors/criblcontrolplaneerror.py +11 -7
  16. cribl_control_plane/errors/error.py +4 -2
  17. cribl_control_plane/errors/healthserverstatus_error.py +41 -0
  18. cribl_control_plane/errors/no_response_error.py +5 -1
  19. cribl_control_plane/errors/responsevalidationerror.py +2 -0
  20. cribl_control_plane/functions.py +367 -0
  21. cribl_control_plane/groups_configs.py +8 -3
  22. cribl_control_plane/groups_sdk.py +156 -94
  23. cribl_control_plane/health.py +34 -14
  24. cribl_control_plane/hectokens.py +44 -20
  25. cribl_control_plane/httpclient.py +0 -1
  26. cribl_control_plane/lakedatasets.py +156 -62
  27. cribl_control_plane/models/__init__.py +3298 -479
  28. cribl_control_plane/models/addhectokenrequest.py +7 -1
  29. cribl_control_plane/models/authtoken.py +5 -1
  30. cribl_control_plane/models/backupssettings_union.py +37 -0
  31. cribl_control_plane/models/{lookupversions.py → branchinfo.py} +4 -4
  32. cribl_control_plane/models/cacheconnection.py +30 -2
  33. cribl_control_plane/models/cacheconnectionbackfillstatus.py +2 -1
  34. cribl_control_plane/models/cloudprovider.py +2 -1
  35. cribl_control_plane/models/collectorazureblob.py +130 -0
  36. cribl_control_plane/models/collectorconf.py +56 -0
  37. cribl_control_plane/models/collectorcribllake.py +27 -0
  38. cribl_control_plane/models/collectordatabase.py +92 -0
  39. cribl_control_plane/models/collectorfilesystem.py +66 -0
  40. cribl_control_plane/models/collectorgooglecloudstorage.py +131 -0
  41. cribl_control_plane/models/collectorhealthcheck.py +269 -0
  42. cribl_control_plane/models/collectorrest.py +340 -0
  43. cribl_control_plane/models/collectors3.py +239 -0
  44. cribl_control_plane/models/collectorscript.py +59 -0
  45. cribl_control_plane/models/collectorsplunk.py +253 -0
  46. cribl_control_plane/models/configgroup.py +62 -8
  47. cribl_control_plane/models/configgroupcloud.py +17 -3
  48. cribl_control_plane/models/countedbranchinfo.py +20 -0
  49. cribl_control_plane/models/countedconfiggroup.py +20 -0
  50. cribl_control_plane/models/countedcribllakedataset.py +20 -0
  51. cribl_control_plane/models/counteddistributedsummary.py +20 -0
  52. cribl_control_plane/models/countedfunctionresponse.py +20 -0
  53. cribl_control_plane/models/countedgitcommitsummary.py +20 -0
  54. cribl_control_plane/models/countedgitcountresult.py +20 -0
  55. cribl_control_plane/models/{createinputop.py → countedgitdiffresult.py} +5 -9
  56. cribl_control_plane/models/countedgitfilesresponse.py +20 -0
  57. cribl_control_plane/models/{getversioninfoop.py → countedgitinfo.py} +2 -6
  58. cribl_control_plane/models/countedgitlogresult.py +20 -0
  59. cribl_control_plane/models/countedgitrevertresult.py +20 -0
  60. cribl_control_plane/models/countedgitshowresult.py +20 -0
  61. cribl_control_plane/models/countedgitstatusresult.py +20 -0
  62. cribl_control_plane/models/{listinputop.py → countedinput.py} +2 -6
  63. cribl_control_plane/models/countedinputsplunkhec.py +20 -0
  64. cribl_control_plane/models/countedjobinfo.py +20 -0
  65. cribl_control_plane/models/countedmasterworkerentry.py +20 -0
  66. cribl_control_plane/models/countednumber.py +19 -0
  67. cribl_control_plane/models/{getversionbranchop.py → countedobject.py} +2 -6
  68. cribl_control_plane/models/{listoutputop.py → countedoutput.py} +2 -6
  69. cribl_control_plane/models/{createoutputop.py → countedoutputsamplesresponse.py} +5 -9
  70. cribl_control_plane/models/countedoutputtestresponse.py +20 -0
  71. cribl_control_plane/models/countedpackinfo.py +20 -0
  72. cribl_control_plane/models/{createpacksop.py → countedpackinstallinfo.py} +2 -6
  73. cribl_control_plane/models/{listpipelineop.py → countedpipeline.py} +2 -6
  74. cribl_control_plane/models/{listroutesop.py → countedroutes.py} +2 -6
  75. cribl_control_plane/models/countedstring.py +19 -0
  76. cribl_control_plane/models/countedsystemsettingsconf.py +20 -0
  77. cribl_control_plane/models/countedteamaccesscontrollist.py +20 -0
  78. cribl_control_plane/models/counteduseraccesscontrollist.py +20 -0
  79. cribl_control_plane/models/createauthloginop.py +18 -0
  80. cribl_control_plane/models/createconfiggroupbyproductop.py +26 -27
  81. cribl_control_plane/models/createcribllakedatasetbylakeidop.py +1 -19
  82. cribl_control_plane/models/createinputhectokenbyidop.py +1 -19
  83. cribl_control_plane/models/createoutputtestbyidop.py +1 -20
  84. cribl_control_plane/models/createroutesappendbyidop.py +4 -22
  85. cribl_control_plane/models/createversioncommitop.py +1 -19
  86. cribl_control_plane/models/createversionrevertop.py +3 -21
  87. cribl_control_plane/models/createversionundoop.py +1 -18
  88. cribl_control_plane/models/criblevent.py +15 -0
  89. cribl_control_plane/models/cribllakedataset.py +23 -3
  90. cribl_control_plane/models/cribllakedatasetupdate.py +95 -0
  91. cribl_control_plane/models/datasetmetadata.py +18 -2
  92. cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +18 -21
  93. cribl_control_plane/models/deletecribllakedatasetbylakeidandidop.py +1 -20
  94. cribl_control_plane/models/deleteinputbyidop.py +1 -20
  95. cribl_control_plane/models/deleteoutputbyidop.py +1 -20
  96. cribl_control_plane/models/deleteoutputpqbyidop.py +1 -19
  97. cribl_control_plane/models/deletepacksbyidop.py +1 -20
  98. cribl_control_plane/models/deletepipelinebyidop.py +3 -22
  99. cribl_control_plane/models/difffiles.py +130 -0
  100. cribl_control_plane/models/diffline.py +26 -0
  101. cribl_control_plane/models/difflinecontext.py +28 -0
  102. cribl_control_plane/models/difflinedelete.py +25 -0
  103. cribl_control_plane/models/difflineinsert.py +25 -0
  104. cribl_control_plane/models/distributedsummary.py +6 -0
  105. cribl_control_plane/models/functionaggregatemetrics.py +206 -0
  106. cribl_control_plane/models/functionaggregation.py +172 -0
  107. cribl_control_plane/models/functionautotimestamp.py +173 -0
  108. cribl_control_plane/models/functioncef.py +111 -0
  109. cribl_control_plane/models/functionchain.py +75 -0
  110. cribl_control_plane/models/functionclone.py +75 -0
  111. cribl_control_plane/models/functioncode.py +96 -0
  112. cribl_control_plane/models/functioncomment.py +75 -0
  113. cribl_control_plane/models/functiondistinct.py +99 -0
  114. cribl_control_plane/models/functiondnslookup.py +250 -0
  115. cribl_control_plane/models/functiondrop.py +73 -0
  116. cribl_control_plane/models/functiondropdimensions.py +87 -0
  117. cribl_control_plane/models/functiondynamicsampling.py +121 -0
  118. cribl_control_plane/models/functioneval.py +103 -0
  119. cribl_control_plane/models/functioneventbreaker.py +103 -0
  120. cribl_control_plane/models/functioneventstats.py +92 -0
  121. cribl_control_plane/models/functionexternaldata.py +73 -0
  122. cribl_control_plane/models/functionflatten.py +90 -0
  123. cribl_control_plane/models/functionfoldkeys.py +89 -0
  124. cribl_control_plane/models/functiongenstats.py +73 -0
  125. cribl_control_plane/models/functiongeoip.py +120 -0
  126. cribl_control_plane/models/functiongrok.py +95 -0
  127. cribl_control_plane/models/functionhandlebar.py +112 -0
  128. cribl_control_plane/models/functionjoin.py +112 -0
  129. cribl_control_plane/models/functionjsonunroll.py +80 -0
  130. cribl_control_plane/models/functionlakeexport.py +102 -0
  131. cribl_control_plane/models/functionlimit.py +75 -0
  132. cribl_control_plane/models/functionlocalsearchdatatypeparser.py +76 -0
  133. cribl_control_plane/models/functionlocalsearchrulesetrunner.py +97 -0
  134. cribl_control_plane/models/functionlookup.py +148 -0
  135. cribl_control_plane/models/functionmask.py +121 -0
  136. cribl_control_plane/models/functionmvexpand.py +128 -0
  137. cribl_control_plane/models/functionmvpull.py +99 -0
  138. cribl_control_plane/models/functionnotificationpolicies.py +186 -0
  139. cribl_control_plane/models/functionnotifications.py +85 -0
  140. cribl_control_plane/models/functionnotify.py +196 -0
  141. cribl_control_plane/models/functionnumerify.py +119 -0
  142. cribl_control_plane/models/functionotlplogs.py +82 -0
  143. cribl_control_plane/models/functionotlpmetrics.py +118 -0
  144. cribl_control_plane/models/functionotlptraces.py +111 -0
  145. cribl_control_plane/models/functionpack.py +80 -0
  146. cribl_control_plane/models/functionpivot.py +85 -0
  147. cribl_control_plane/models/functionpublishmetrics.py +153 -0
  148. cribl_control_plane/models/functionredis.py +173 -0
  149. cribl_control_plane/models/functionregexextract.py +112 -0
  150. cribl_control_plane/models/functionregexfilter.py +95 -0
  151. cribl_control_plane/models/functionrename.py +107 -0
  152. cribl_control_plane/models/functionresponse.py +242 -0
  153. cribl_control_plane/models/functionrollupmetrics.py +114 -0
  154. cribl_control_plane/models/functionsampling.py +90 -0
  155. cribl_control_plane/models/functionsend.py +141 -0
  156. cribl_control_plane/models/functionsensitivedatascanner.py +128 -0
  157. cribl_control_plane/models/functionserde.py +161 -0
  158. cribl_control_plane/models/functionserialize.py +134 -0
  159. cribl_control_plane/models/functionsidlookup.py +93 -0
  160. cribl_control_plane/models/functionsnmptrapserialize.py +144 -0
  161. cribl_control_plane/models/functionsort.py +97 -0
  162. cribl_control_plane/models/functionstore.py +132 -0
  163. cribl_control_plane/models/functionsuppress.py +115 -0
  164. cribl_control_plane/models/functiontee.py +90 -0
  165. cribl_control_plane/models/functiontrimtimestamp.py +75 -0
  166. cribl_control_plane/models/functionunion.py +80 -0
  167. cribl_control_plane/models/functionunroll.py +80 -0
  168. cribl_control_plane/models/functionwindow.py +96 -0
  169. cribl_control_plane/models/functionxmlunroll.py +92 -0
  170. cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +24 -20
  171. cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +24 -20
  172. cribl_control_plane/models/getconfiggroupbyproductandidop.py +14 -19
  173. cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +18 -20
  174. cribl_control_plane/models/getcribllakedatasetbylakeidandidop.py +1 -20
  175. cribl_control_plane/models/getcribllakedatasetbylakeidop.py +54 -14
  176. cribl_control_plane/models/getfunctionsbyidop.py +18 -0
  177. cribl_control_plane/models/getinputbyidop.py +1 -20
  178. cribl_control_plane/models/getmasterworkerentryop.py +1 -18
  179. cribl_control_plane/models/getoutputbyidop.py +1 -20
  180. cribl_control_plane/models/getoutputpqbyidop.py +1 -19
  181. cribl_control_plane/models/getoutputsamplesbyidop.py +1 -20
  182. cribl_control_plane/models/getpacksbyidop.py +1 -20
  183. cribl_control_plane/models/getpacksop.py +1 -19
  184. cribl_control_plane/models/getpipelinebyidop.py +3 -22
  185. cribl_control_plane/models/getroutesbyidop.py +3 -22
  186. cribl_control_plane/models/getsummaryop.py +18 -20
  187. cribl_control_plane/models/getversioncountop.py +3 -21
  188. cribl_control_plane/models/getversiondiffop.py +1 -18
  189. cribl_control_plane/models/getversionfilesop.py +3 -22
  190. cribl_control_plane/models/getversionop.py +1 -19
  191. cribl_control_plane/models/getversionshowop.py +1 -18
  192. cribl_control_plane/models/getversionstatusop.py +1 -19
  193. cribl_control_plane/models/{routecloneconf.py → gitcountresult.py} +4 -4
  194. cribl_control_plane/models/gitdiffresult.py +16 -0
  195. cribl_control_plane/models/gitinfo.py +14 -3
  196. cribl_control_plane/models/gitshowresult.py +19 -0
  197. cribl_control_plane/models/groupcreaterequest.py +172 -0
  198. cribl_control_plane/models/hbcriblinfo.py +42 -7
  199. cribl_control_plane/models/healthserverstatus.py +55 -0
  200. cribl_control_plane/models/heartbeatmetadata.py +6 -11
  201. cribl_control_plane/models/input.py +83 -78
  202. cribl_control_plane/models/inputappscope.py +126 -30
  203. cribl_control_plane/models/inputazureblob.py +62 -6
  204. cribl_control_plane/models/inputcloudflarehec.py +518 -0
  205. cribl_control_plane/models/inputcollection.py +47 -4
  206. cribl_control_plane/models/inputconfluentcloud.py +258 -32
  207. cribl_control_plane/models/inputcribl.py +47 -4
  208. cribl_control_plane/models/inputcriblhttp.py +121 -30
  209. cribl_control_plane/models/inputcribllakehttp.py +136 -30
  210. cribl_control_plane/models/inputcriblmetrics.py +48 -4
  211. cribl_control_plane/models/inputcribltcp.py +122 -24
  212. cribl_control_plane/models/inputcrowdstrike.py +92 -10
  213. cribl_control_plane/models/inputdatadogagent.py +98 -24
  214. cribl_control_plane/models/inputdatagen.py +47 -4
  215. cribl_control_plane/models/inputedgeprometheus.py +210 -50
  216. cribl_control_plane/models/inputelastic.py +167 -36
  217. cribl_control_plane/models/inputeventhub.py +209 -6
  218. cribl_control_plane/models/inputexec.py +59 -6
  219. cribl_control_plane/models/inputfile.py +78 -10
  220. cribl_control_plane/models/inputfirehose.py +97 -24
  221. cribl_control_plane/models/inputgooglepubsub.py +67 -6
  222. cribl_control_plane/models/inputgrafana.py +251 -71
  223. cribl_control_plane/models/inputhttp.py +97 -24
  224. cribl_control_plane/models/inputhttpraw.py +97 -24
  225. cribl_control_plane/models/inputjournalfiles.py +48 -4
  226. cribl_control_plane/models/inputkafka.py +252 -28
  227. cribl_control_plane/models/inputkinesis.py +130 -14
  228. cribl_control_plane/models/inputkubeevents.py +47 -4
  229. cribl_control_plane/models/inputkubelogs.py +61 -8
  230. cribl_control_plane/models/inputkubemetrics.py +61 -8
  231. cribl_control_plane/models/inputloki.py +113 -34
  232. cribl_control_plane/models/inputmetrics.py +97 -24
  233. cribl_control_plane/models/inputmodeldriventelemetry.py +107 -26
  234. cribl_control_plane/models/inputmsk.py +145 -32
  235. cribl_control_plane/models/inputnetflow.py +47 -4
  236. cribl_control_plane/models/inputoffice365mgmt.py +112 -14
  237. cribl_control_plane/models/inputoffice365msgtrace.py +114 -16
  238. cribl_control_plane/models/inputoffice365service.py +114 -16
  239. cribl_control_plane/models/inputopentelemetry.py +143 -32
  240. cribl_control_plane/models/inputprometheus.py +193 -44
  241. cribl_control_plane/models/inputprometheusrw.py +114 -27
  242. cribl_control_plane/models/inputrawudp.py +47 -4
  243. cribl_control_plane/models/inputs3.py +78 -8
  244. cribl_control_plane/models/inputs3inventory.py +92 -10
  245. cribl_control_plane/models/inputsecuritylake.py +93 -10
  246. cribl_control_plane/models/inputsnmp.py +112 -21
  247. cribl_control_plane/models/inputsplunk.py +130 -28
  248. cribl_control_plane/models/inputsplunkhec.py +119 -29
  249. cribl_control_plane/models/inputsplunksearch.py +112 -15
  250. cribl_control_plane/models/inputsqs.py +99 -16
  251. cribl_control_plane/models/inputsyslog.py +189 -47
  252. cribl_control_plane/models/inputsystemmetrics.py +202 -32
  253. cribl_control_plane/models/inputsystemstate.py +61 -8
  254. cribl_control_plane/models/inputtcp.py +122 -26
  255. cribl_control_plane/models/inputtcpjson.py +112 -26
  256. cribl_control_plane/models/inputwef.py +144 -15
  257. cribl_control_plane/models/inputwindowsmetrics.py +186 -33
  258. cribl_control_plane/models/inputwineventlogs.py +93 -11
  259. cribl_control_plane/models/inputwiz.py +173 -8
  260. cribl_control_plane/models/inputwizwebhook.py +97 -24
  261. cribl_control_plane/models/inputzscalerhec.py +119 -29
  262. cribl_control_plane/models/jobinfo.py +34 -0
  263. cribl_control_plane/models/jobstatus.py +48 -0
  264. cribl_control_plane/models/lakedatasetmetrics.py +17 -0
  265. cribl_control_plane/models/lakehouseconnectiontype.py +2 -1
  266. cribl_control_plane/models/listconfiggroupbyproductop.py +14 -19
  267. cribl_control_plane/models/listmasterworkerentryop.py +1 -19
  268. cribl_control_plane/models/logininfo.py +3 -3
  269. cribl_control_plane/models/masterworkerentry.py +20 -13
  270. cribl_control_plane/models/nodeactiveupgradestatus.py +2 -1
  271. cribl_control_plane/models/nodefailedupgradestatus.py +2 -1
  272. cribl_control_plane/models/nodeprovidedinfo.py +13 -11
  273. cribl_control_plane/models/nodeskippedupgradestatus.py +2 -1
  274. cribl_control_plane/models/nodeupgradestate.py +2 -1
  275. cribl_control_plane/models/nodeupgradestatus.py +51 -5
  276. cribl_control_plane/models/outpostnodeinfo.py +16 -0
  277. cribl_control_plane/models/output.py +104 -90
  278. cribl_control_plane/models/outputazureblob.py +171 -18
  279. cribl_control_plane/models/outputazuredataexplorer.py +514 -90
  280. cribl_control_plane/models/outputazureeventhub.py +315 -31
  281. cribl_control_plane/models/outputazurelogs.py +145 -26
  282. cribl_control_plane/models/outputchronicle.py +532 -0
  283. cribl_control_plane/models/outputclickhouse.py +205 -34
  284. cribl_control_plane/models/outputcloudflarer2.py +632 -0
  285. cribl_control_plane/models/outputcloudwatch.py +129 -23
  286. cribl_control_plane/models/outputconfluentcloud.py +384 -57
  287. cribl_control_plane/models/outputcriblhttp.py +198 -31
  288. cribl_control_plane/models/outputcribllake.py +156 -16
  289. cribl_control_plane/models/outputcribltcp.py +194 -29
  290. cribl_control_plane/models/outputcrowdstrikenextgensiem.py +172 -28
  291. cribl_control_plane/models/outputdatabricks.py +501 -0
  292. cribl_control_plane/models/outputdatadog.py +199 -31
  293. cribl_control_plane/models/outputdataset.py +181 -29
  294. cribl_control_plane/models/outputdiskspool.py +17 -2
  295. cribl_control_plane/models/outputdls3.py +233 -24
  296. cribl_control_plane/models/outputdynatracehttp.py +208 -34
  297. cribl_control_plane/models/outputdynatraceotlp.py +210 -36
  298. cribl_control_plane/models/outputelastic.py +199 -30
  299. cribl_control_plane/models/outputelasticcloud.py +171 -26
  300. cribl_control_plane/models/outputexabeam.py +96 -10
  301. cribl_control_plane/models/outputfilesystem.py +139 -14
  302. cribl_control_plane/models/outputgooglechronicle.py +216 -35
  303. cribl_control_plane/models/outputgooglecloudlogging.py +174 -31
  304. cribl_control_plane/models/outputgooglecloudstorage.py +215 -24
  305. cribl_control_plane/models/outputgooglepubsub.py +131 -23
  306. cribl_control_plane/models/outputgrafanacloud.py +376 -74
  307. cribl_control_plane/models/outputgraphite.py +128 -25
  308. cribl_control_plane/models/outputhoneycomb.py +145 -26
  309. cribl_control_plane/models/outputhumiohec.py +162 -28
  310. cribl_control_plane/models/outputinfluxdb.py +165 -28
  311. cribl_control_plane/models/outputkafka.py +375 -52
  312. cribl_control_plane/models/outputkinesis.py +165 -27
  313. cribl_control_plane/models/outputloki.py +164 -34
  314. cribl_control_plane/models/outputmicrosoftfabric.py +540 -0
  315. cribl_control_plane/models/outputminio.py +225 -25
  316. cribl_control_plane/models/outputmsk.py +267 -54
  317. cribl_control_plane/models/outputnewrelic.py +171 -29
  318. cribl_control_plane/models/outputnewrelicevents.py +163 -28
  319. cribl_control_plane/models/outputopentelemetry.py +240 -40
  320. cribl_control_plane/models/outputprometheus.py +145 -26
  321. cribl_control_plane/models/outputring.py +49 -8
  322. cribl_control_plane/models/outputs3.py +233 -26
  323. cribl_control_plane/models/outputsecuritylake.py +179 -18
  324. cribl_control_plane/models/outputsentinel.py +172 -29
  325. cribl_control_plane/models/outputsentineloneaisiem.py +178 -32
  326. cribl_control_plane/models/outputservicenow.py +223 -38
  327. cribl_control_plane/models/outputsignalfx.py +145 -26
  328. cribl_control_plane/models/outputsns.py +143 -25
  329. cribl_control_plane/models/outputsplunk.py +206 -36
  330. cribl_control_plane/models/outputsplunkhec.py +238 -26
  331. cribl_control_plane/models/outputsplunklb.py +262 -42
  332. cribl_control_plane/models/outputsqs.py +163 -33
  333. cribl_control_plane/models/outputstatsd.py +127 -25
  334. cribl_control_plane/models/outputstatsdext.py +128 -25
  335. cribl_control_plane/models/outputsumologic.py +146 -25
  336. cribl_control_plane/models/outputsyslog.py +318 -46
  337. cribl_control_plane/models/outputtcpjson.py +186 -32
  338. cribl_control_plane/models/outputwavefront.py +145 -26
  339. cribl_control_plane/models/outputwebhook.py +211 -33
  340. cribl_control_plane/models/outputxsiam.py +143 -26
  341. cribl_control_plane/models/packinfo.py +8 -5
  342. cribl_control_plane/models/packinstallinfo.py +11 -8
  343. cribl_control_plane/models/piisettings_union.py +31 -0
  344. cribl_control_plane/models/productscore.py +2 -1
  345. cribl_control_plane/models/rbacresource.py +2 -1
  346. cribl_control_plane/models/resourcepolicy.py +15 -2
  347. cribl_control_plane/models/rollbacksettings_union.py +44 -0
  348. cribl_control_plane/models/routeconf.py +3 -4
  349. cribl_control_plane/models/runnablejob.py +27 -0
  350. cribl_control_plane/models/runnablejobcollection.py +628 -0
  351. cribl_control_plane/models/runnablejobexecutor.py +360 -0
  352. cribl_control_plane/models/runnablejobscheduledsearch.py +279 -0
  353. cribl_control_plane/models/snisettings_union.py +31 -0
  354. cribl_control_plane/models/systemsettingsconf.py +291 -0
  355. cribl_control_plane/models/tlssettings_union.py +43 -0
  356. cribl_control_plane/models/updateconfiggroupbyproductandidop.py +19 -20
  357. cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +19 -21
  358. cribl_control_plane/models/updatecribllakedatasetbylakeidandidop.py +10 -25
  359. cribl_control_plane/models/updatehectokenrequest.py +7 -1
  360. cribl_control_plane/models/updateinputbyidop.py +1 -19
  361. cribl_control_plane/models/updateinputhectokenbyidandtokenop.py +1 -19
  362. cribl_control_plane/models/updateoutputbyidop.py +1 -19
  363. cribl_control_plane/models/updatepacksbyidop.py +1 -20
  364. cribl_control_plane/models/updatepacksop.py +25 -0
  365. cribl_control_plane/models/updatepipelinebyidop.py +5 -23
  366. cribl_control_plane/models/updateroutesbyidop.py +3 -21
  367. cribl_control_plane/models/upgradegroupsettings_union.py +43 -0
  368. cribl_control_plane/models/upgradepackageurls.py +20 -0
  369. cribl_control_plane/models/upgradesettings.py +38 -0
  370. cribl_control_plane/models/uploadpackresponse.py +13 -0
  371. cribl_control_plane/models/workertypes.py +2 -1
  372. cribl_control_plane/nodes.py +37 -23
  373. cribl_control_plane/packs.py +292 -37
  374. cribl_control_plane/pipelines.py +98 -48
  375. cribl_control_plane/routes_sdk.py +86 -50
  376. cribl_control_plane/samples.py +32 -16
  377. cribl_control_plane/sdk.py +26 -6
  378. cribl_control_plane/settings.py +20 -0
  379. cribl_control_plane/sources.py +85 -33
  380. cribl_control_plane/statuses.py +16 -6
  381. cribl_control_plane/summaries.py +16 -6
  382. cribl_control_plane/system_sdk.py +20 -0
  383. cribl_control_plane/teams.py +16 -6
  384. cribl_control_plane/tokens.py +49 -21
  385. cribl_control_plane/utils/__init__.py +15 -3
  386. cribl_control_plane/utils/annotations.py +32 -8
  387. cribl_control_plane/utils/eventstreaming.py +10 -0
  388. cribl_control_plane/utils/forms.py +21 -10
  389. cribl_control_plane/utils/queryparams.py +14 -2
  390. cribl_control_plane/utils/retries.py +69 -5
  391. cribl_control_plane/utils/unmarshal_json_response.py +15 -1
  392. cribl_control_plane/versions.py +11 -6
  393. cribl_control_plane/versions_configs.py +16 -6
  394. {cribl_control_plane-0.0.39.dist-info → cribl_control_plane-0.4.0b23.dist-info}/METADATA +99 -43
  395. cribl_control_plane-0.4.0b23.dist-info/RECORD +450 -0
  396. {cribl_control_plane-0.0.39.dist-info → cribl_control_plane-0.4.0b23.dist-info}/WHEEL +1 -1
  397. cribl_control_plane-0.4.0b23.dist-info/licenses/LICENSE +201 -0
  398. cribl_control_plane/errors/healthstatus_error.py +0 -32
  399. cribl_control_plane/models/appmode.py +0 -13
  400. cribl_control_plane/models/createpipelineop.py +0 -24
  401. cribl_control_plane/models/createversionpushop.py +0 -23
  402. cribl_control_plane/models/healthstatus.py +0 -33
  403. cribl_control_plane-0.0.39.dist-info/RECORD +0 -315
@@ -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
 
@@ -0,0 +1,367 @@
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 Functions(BaseSDK):
13
+ r"""Actions related to functions"""
14
+
15
+ def get(
16
+ self,
17
+ *,
18
+ id: str,
19
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
20
+ server_url: Optional[str] = None,
21
+ timeout_ms: Optional[int] = None,
22
+ http_headers: Optional[Mapping[str, str]] = None,
23
+ ) -> models.CountedFunctionResponse:
24
+ r"""Get a Function
25
+
26
+ Get the specified Function.
27
+
28
+ :param id: The <code>id</code> of the Function to get.
29
+ :param retries: Override the default retry configuration for this method
30
+ :param server_url: Override the default server URL for this method
31
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
32
+ :param http_headers: Additional headers to set or replace on requests.
33
+ """
34
+ base_url = None
35
+ url_variables = None
36
+ if timeout_ms is None:
37
+ timeout_ms = self.sdk_configuration.timeout_ms
38
+
39
+ if server_url is not None:
40
+ base_url = server_url
41
+ else:
42
+ base_url = self._get_url(base_url, url_variables)
43
+
44
+ request = models.GetFunctionsByIDRequest(
45
+ id=id,
46
+ )
47
+
48
+ req = self._build_request(
49
+ method="GET",
50
+ path="/functions/{id}",
51
+ base_url=base_url,
52
+ url_variables=url_variables,
53
+ request=request,
54
+ request_body_required=False,
55
+ request_has_path_params=True,
56
+ request_has_query_params=True,
57
+ user_agent_header="user-agent",
58
+ accept_header_value="application/json",
59
+ http_headers=http_headers,
60
+ security=self.sdk_configuration.security,
61
+ allow_empty_value=None,
62
+ timeout_ms=timeout_ms,
63
+ )
64
+
65
+ if retries == UNSET:
66
+ if self.sdk_configuration.retry_config is not UNSET:
67
+ retries = self.sdk_configuration.retry_config
68
+ else:
69
+ retries = utils.RetryConfig(
70
+ "backoff", utils.BackoffStrategy(500, 60000, 1.5, 3600000), True
71
+ )
72
+
73
+ retry_config = None
74
+ if isinstance(retries, utils.RetryConfig):
75
+ retry_config = (retries, ["429"])
76
+
77
+ http_res = self.do_request(
78
+ hook_ctx=HookContext(
79
+ config=self.sdk_configuration,
80
+ base_url=base_url or "",
81
+ operation_id="getFunctionsById",
82
+ oauth2_scopes=[],
83
+ security_source=get_security_from_env(
84
+ self.sdk_configuration.security, models.Security
85
+ ),
86
+ ),
87
+ request=req,
88
+ error_status_codes=["401", "4XX", "500", "5XX"],
89
+ retry_config=retry_config,
90
+ )
91
+
92
+ response_data: Any = None
93
+ if utils.match_response(http_res, "200", "application/json"):
94
+ return unmarshal_json_response(models.CountedFunctionResponse, http_res)
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.CountedFunctionResponse:
116
+ r"""Get a Function
117
+
118
+ Get the specified Function.
119
+
120
+ :param id: The <code>id</code> of the Function to get.
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.GetFunctionsByIDRequest(
137
+ id=id,
138
+ )
139
+
140
+ req = self._build_request_async(
141
+ method="GET",
142
+ path="/functions/{id}",
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="getFunctionsById",
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(models.CountedFunctionResponse, http_res)
187
+ if utils.match_response(http_res, "500", "application/json"):
188
+ response_data = unmarshal_json_response(errors.ErrorData, http_res)
189
+ raise errors.Error(response_data, http_res)
190
+ if utils.match_response(http_res, ["401", "4XX"], "*"):
191
+ http_res_text = await utils.stream_to_text_async(http_res)
192
+ raise errors.APIError("API error occurred", http_res, http_res_text)
193
+ if utils.match_response(http_res, "5XX", "*"):
194
+ http_res_text = await utils.stream_to_text_async(http_res)
195
+ raise errors.APIError("API error occurred", http_res, http_res_text)
196
+
197
+ raise errors.APIError("Unexpected response received", http_res)
198
+
199
+ def list(
200
+ self,
201
+ *,
202
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
203
+ server_url: Optional[str] = None,
204
+ timeout_ms: Optional[int] = None,
205
+ http_headers: Optional[Mapping[str, str]] = None,
206
+ ) -> models.CountedFunctionResponse:
207
+ r"""List all Functions
208
+
209
+ Get a list of all Functions.
210
+
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
+ req = self._build_request(
226
+ method="GET",
227
+ path="/functions",
228
+ base_url=base_url,
229
+ url_variables=url_variables,
230
+ request=None,
231
+ request_body_required=False,
232
+ request_has_path_params=False,
233
+ request_has_query_params=True,
234
+ user_agent_header="user-agent",
235
+ accept_header_value="application/json",
236
+ http_headers=http_headers,
237
+ security=self.sdk_configuration.security,
238
+ allow_empty_value=None,
239
+ timeout_ms=timeout_ms,
240
+ )
241
+
242
+ if retries == UNSET:
243
+ if self.sdk_configuration.retry_config is not UNSET:
244
+ retries = self.sdk_configuration.retry_config
245
+ else:
246
+ retries = utils.RetryConfig(
247
+ "backoff", utils.BackoffStrategy(500, 60000, 1.5, 3600000), True
248
+ )
249
+
250
+ retry_config = None
251
+ if isinstance(retries, utils.RetryConfig):
252
+ retry_config = (retries, ["429"])
253
+
254
+ http_res = self.do_request(
255
+ hook_ctx=HookContext(
256
+ config=self.sdk_configuration,
257
+ base_url=base_url or "",
258
+ operation_id="getFunctions",
259
+ oauth2_scopes=[],
260
+ security_source=get_security_from_env(
261
+ self.sdk_configuration.security, models.Security
262
+ ),
263
+ ),
264
+ request=req,
265
+ error_status_codes=["401", "4XX", "500", "5XX"],
266
+ retry_config=retry_config,
267
+ )
268
+
269
+ response_data: Any = None
270
+ if utils.match_response(http_res, "200", "application/json"):
271
+ return unmarshal_json_response(models.CountedFunctionResponse, http_res)
272
+ if utils.match_response(http_res, "500", "application/json"):
273
+ response_data = unmarshal_json_response(errors.ErrorData, http_res)
274
+ raise errors.Error(response_data, http_res)
275
+ if utils.match_response(http_res, ["401", "4XX"], "*"):
276
+ http_res_text = utils.stream_to_text(http_res)
277
+ raise errors.APIError("API error occurred", http_res, http_res_text)
278
+ if utils.match_response(http_res, "5XX", "*"):
279
+ http_res_text = utils.stream_to_text(http_res)
280
+ raise errors.APIError("API error occurred", http_res, http_res_text)
281
+
282
+ raise errors.APIError("Unexpected response received", http_res)
283
+
284
+ async def list_async(
285
+ self,
286
+ *,
287
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
288
+ server_url: Optional[str] = None,
289
+ timeout_ms: Optional[int] = None,
290
+ http_headers: Optional[Mapping[str, str]] = None,
291
+ ) -> models.CountedFunctionResponse:
292
+ r"""List all Functions
293
+
294
+ Get a list of all Functions.
295
+
296
+ :param retries: Override the default retry configuration for this method
297
+ :param server_url: Override the default server URL for this method
298
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
299
+ :param http_headers: Additional headers to set or replace on requests.
300
+ """
301
+ base_url = None
302
+ url_variables = None
303
+ if timeout_ms is None:
304
+ timeout_ms = self.sdk_configuration.timeout_ms
305
+
306
+ if server_url is not None:
307
+ base_url = server_url
308
+ else:
309
+ base_url = self._get_url(base_url, url_variables)
310
+ req = self._build_request_async(
311
+ method="GET",
312
+ path="/functions",
313
+ base_url=base_url,
314
+ url_variables=url_variables,
315
+ request=None,
316
+ request_body_required=False,
317
+ request_has_path_params=False,
318
+ request_has_query_params=True,
319
+ user_agent_header="user-agent",
320
+ accept_header_value="application/json",
321
+ http_headers=http_headers,
322
+ security=self.sdk_configuration.security,
323
+ allow_empty_value=None,
324
+ timeout_ms=timeout_ms,
325
+ )
326
+
327
+ if retries == UNSET:
328
+ if self.sdk_configuration.retry_config is not UNSET:
329
+ retries = self.sdk_configuration.retry_config
330
+ else:
331
+ retries = utils.RetryConfig(
332
+ "backoff", utils.BackoffStrategy(500, 60000, 1.5, 3600000), True
333
+ )
334
+
335
+ retry_config = None
336
+ if isinstance(retries, utils.RetryConfig):
337
+ retry_config = (retries, ["429"])
338
+
339
+ http_res = await self.do_request_async(
340
+ hook_ctx=HookContext(
341
+ config=self.sdk_configuration,
342
+ base_url=base_url or "",
343
+ operation_id="getFunctions",
344
+ oauth2_scopes=[],
345
+ security_source=get_security_from_env(
346
+ self.sdk_configuration.security, models.Security
347
+ ),
348
+ ),
349
+ request=req,
350
+ error_status_codes=["401", "4XX", "500", "5XX"],
351
+ retry_config=retry_config,
352
+ )
353
+
354
+ response_data: Any = None
355
+ if utils.match_response(http_res, "200", "application/json"):
356
+ return unmarshal_json_response(models.CountedFunctionResponse, http_res)
357
+ if utils.match_response(http_res, "500", "application/json"):
358
+ response_data = unmarshal_json_response(errors.ErrorData, http_res)
359
+ raise errors.Error(response_data, http_res)
360
+ if utils.match_response(http_res, ["401", "4XX"], "*"):
361
+ http_res_text = await utils.stream_to_text_async(http_res)
362
+ raise errors.APIError("API error occurred", http_res, http_res_text)
363
+ if utils.match_response(http_res, "5XX", "*"):
364
+ http_res_text = await utils.stream_to_text_async(http_res)
365
+ raise errors.APIError("API error occurred", http_res, http_res_text)
366
+
367
+ raise errors.APIError("Unexpected response received", http_res)
@@ -3,15 +3,20 @@
3
3
  from .basesdk import BaseSDK
4
4
  from .sdkconfiguration import SDKConfiguration
5
5
  from cribl_control_plane.configs_versions import ConfigsVersions
6
+ from typing import Optional
6
7
 
7
8
 
8
9
  class GroupsConfigs(BaseSDK):
9
10
  versions: ConfigsVersions
10
11
 
11
- def __init__(self, sdk_config: SDKConfiguration) -> None:
12
- BaseSDK.__init__(self, sdk_config)
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)
13
16
  self.sdk_configuration = sdk_config
14
17
  self._init_sdks()
15
18
 
16
19
  def _init_sdks(self):
17
- self.versions = ConfigsVersions(self.sdk_configuration)
20
+ self.versions = ConfigsVersions(
21
+ self.sdk_configuration, parent_ref=self.parent_ref
22
+ )