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.
- cribl_control_plane/_hooks/clientcredentials.py +113 -48
- cribl_control_plane/_version.py +4 -4
- cribl_control_plane/acl.py +225 -0
- cribl_control_plane/auth_sdk.py +12 -176
- cribl_control_plane/basesdk.py +17 -1
- cribl_control_plane/branches.py +351 -0
- cribl_control_plane/commits.py +1403 -0
- cribl_control_plane/commits_files.py +391 -0
- cribl_control_plane/configs_versions.py +201 -0
- cribl_control_plane/cribl.py +495 -0
- cribl_control_plane/destinations.py +146 -805
- cribl_control_plane/destinations_pq.py +379 -0
- cribl_control_plane/errors/__init__.py +26 -10
- cribl_control_plane/errors/apierror.py +2 -0
- cribl_control_plane/errors/criblcontrolplaneerror.py +11 -7
- cribl_control_plane/errors/error.py +4 -2
- cribl_control_plane/errors/healthserverstatus_error.py +41 -0
- cribl_control_plane/errors/no_response_error.py +5 -1
- cribl_control_plane/errors/responsevalidationerror.py +2 -0
- cribl_control_plane/functions.py +367 -0
- cribl_control_plane/groups_configs.py +22 -0
- cribl_control_plane/groups_sdk.py +333 -578
- cribl_control_plane/health.py +38 -18
- cribl_control_plane/hectokens.py +503 -0
- cribl_control_plane/httpclient.py +0 -1
- cribl_control_plane/{lake.py → lakedatasets.py} +207 -115
- cribl_control_plane/models/__init__.py +3644 -5986
- cribl_control_plane/models/addhectokenrequest.py +7 -1
- cribl_control_plane/models/authtoken.py +5 -1
- cribl_control_plane/models/backupssettings_union.py +37 -0
- cribl_control_plane/models/{lookupversions.py → branchinfo.py} +4 -4
- cribl_control_plane/models/cacheconnection.py +30 -2
- cribl_control_plane/models/cacheconnectionbackfillstatus.py +2 -1
- cribl_control_plane/models/cloudprovider.py +2 -1
- cribl_control_plane/models/collectorazureblob.py +130 -0
- cribl_control_plane/models/collectorconf.py +56 -0
- cribl_control_plane/models/collectorcribllake.py +27 -0
- cribl_control_plane/models/collectordatabase.py +92 -0
- cribl_control_plane/models/collectorfilesystem.py +66 -0
- cribl_control_plane/models/collectorgooglecloudstorage.py +131 -0
- cribl_control_plane/models/collectorhealthcheck.py +269 -0
- cribl_control_plane/models/collectorrest.py +340 -0
- cribl_control_plane/models/collectors3.py +239 -0
- cribl_control_plane/models/collectorscript.py +59 -0
- cribl_control_plane/models/collectorsplunk.py +253 -0
- cribl_control_plane/models/configgroup.py +67 -11
- cribl_control_plane/models/configgroupcloud.py +17 -3
- cribl_control_plane/models/countedbranchinfo.py +20 -0
- cribl_control_plane/models/countedconfiggroup.py +20 -0
- cribl_control_plane/models/countedcribllakedataset.py +20 -0
- cribl_control_plane/models/counteddistributedsummary.py +20 -0
- cribl_control_plane/models/countedfunctionresponse.py +20 -0
- cribl_control_plane/models/countedgitcommitsummary.py +20 -0
- cribl_control_plane/models/countedgitcountresult.py +20 -0
- cribl_control_plane/models/countedgitdiffresult.py +20 -0
- cribl_control_plane/models/countedgitfilesresponse.py +20 -0
- cribl_control_plane/models/{getversioninfoop.py → countedgitinfo.py} +2 -6
- cribl_control_plane/models/countedgitlogresult.py +20 -0
- cribl_control_plane/models/countedgitrevertresult.py +20 -0
- cribl_control_plane/models/countedgitshowresult.py +20 -0
- cribl_control_plane/models/countedgitstatusresult.py +20 -0
- cribl_control_plane/models/{listinputop.py → countedinput.py} +2 -6
- cribl_control_plane/models/countedinputsplunkhec.py +20 -0
- cribl_control_plane/models/countedjobinfo.py +20 -0
- cribl_control_plane/models/countedmasterworkerentry.py +20 -0
- cribl_control_plane/models/countednumber.py +19 -0
- cribl_control_plane/models/{getversionbranchop.py → countedobject.py} +2 -6
- cribl_control_plane/models/{listoutputop.py → countedoutput.py} +2 -6
- cribl_control_plane/models/countedoutputsamplesresponse.py +20 -0
- cribl_control_plane/models/countedoutputtestresponse.py +20 -0
- cribl_control_plane/models/countedpackinfo.py +20 -0
- cribl_control_plane/models/{createpacksop.py → countedpackinstallinfo.py} +2 -6
- cribl_control_plane/models/{listpipelineop.py → countedpipeline.py} +2 -6
- cribl_control_plane/models/{listroutesop.py → countedroutes.py} +2 -6
- cribl_control_plane/models/countedstring.py +19 -0
- cribl_control_plane/models/countedsystemsettingsconf.py +20 -0
- cribl_control_plane/models/countedteamaccesscontrollist.py +20 -0
- cribl_control_plane/models/counteduseraccesscontrollist.py +20 -0
- cribl_control_plane/models/createauthloginop.py +18 -0
- cribl_control_plane/models/createconfiggroupbyproductop.py +46 -0
- cribl_control_plane/models/createcribllakedatasetbylakeidop.py +3 -21
- cribl_control_plane/models/createinputhectokenbyidop.py +3 -21
- cribl_control_plane/models/createoutputtestbyidop.py +3 -22
- cribl_control_plane/models/createroutesappendbyidop.py +4 -21
- cribl_control_plane/models/createversioncommitop.py +27 -20
- cribl_control_plane/models/createversionrevertop.py +7 -23
- cribl_control_plane/models/createversionundoop.py +7 -22
- cribl_control_plane/models/criblevent.py +15 -0
- cribl_control_plane/models/cribllakedataset.py +23 -3
- cribl_control_plane/models/cribllakedatasetupdate.py +95 -0
- cribl_control_plane/models/currentbranchresult.py +13 -0
- cribl_control_plane/models/datasetmetadata.py +18 -2
- cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +43 -0
- cribl_control_plane/models/deletecribllakedatasetbylakeidandidop.py +5 -24
- cribl_control_plane/models/deleteinputbyidop.py +3 -22
- cribl_control_plane/models/deleteoutputbyidop.py +3 -22
- cribl_control_plane/models/deleteoutputpqbyidop.py +3 -21
- cribl_control_plane/models/deletepacksbyidop.py +3 -22
- cribl_control_plane/models/deletepipelinebyidop.py +3 -22
- cribl_control_plane/models/difffiles.py +130 -0
- cribl_control_plane/models/diffline.py +26 -0
- cribl_control_plane/models/difflinecontext.py +28 -0
- cribl_control_plane/models/difflinedelete.py +25 -0
- cribl_control_plane/models/difflineinsert.py +25 -0
- cribl_control_plane/models/distributedsummary.py +6 -0
- cribl_control_plane/models/functionaggregatemetrics.py +206 -0
- cribl_control_plane/models/functionaggregation.py +172 -0
- cribl_control_plane/models/functionautotimestamp.py +173 -0
- cribl_control_plane/models/functioncef.py +111 -0
- cribl_control_plane/models/functionchain.py +75 -0
- cribl_control_plane/models/functionclone.py +75 -0
- cribl_control_plane/models/functioncode.py +96 -0
- cribl_control_plane/models/functioncomment.py +75 -0
- cribl_control_plane/models/functiondistinct.py +99 -0
- cribl_control_plane/models/functiondnslookup.py +250 -0
- cribl_control_plane/models/functiondrop.py +73 -0
- cribl_control_plane/models/functiondropdimensions.py +87 -0
- cribl_control_plane/models/functiondynamicsampling.py +121 -0
- cribl_control_plane/models/functioneval.py +103 -0
- cribl_control_plane/models/functioneventbreaker.py +103 -0
- cribl_control_plane/models/functioneventstats.py +92 -0
- cribl_control_plane/models/functionexternaldata.py +73 -0
- cribl_control_plane/models/functionflatten.py +90 -0
- cribl_control_plane/models/functionfoldkeys.py +89 -0
- cribl_control_plane/models/functiongenstats.py +73 -0
- cribl_control_plane/models/functiongeoip.py +120 -0
- cribl_control_plane/models/functiongrok.py +95 -0
- cribl_control_plane/models/functionhandlebar.py +112 -0
- cribl_control_plane/models/functionjoin.py +112 -0
- cribl_control_plane/models/functionjsonunroll.py +80 -0
- cribl_control_plane/models/functionlakeexport.py +102 -0
- cribl_control_plane/models/functionlimit.py +75 -0
- cribl_control_plane/models/functionlocalsearchdatatypeparser.py +76 -0
- cribl_control_plane/models/functionlocalsearchrulesetrunner.py +97 -0
- cribl_control_plane/models/functionlookup.py +148 -0
- cribl_control_plane/models/functionmask.py +121 -0
- cribl_control_plane/models/functionmvexpand.py +128 -0
- cribl_control_plane/models/functionmvpull.py +99 -0
- cribl_control_plane/models/functionnotificationpolicies.py +186 -0
- cribl_control_plane/models/functionnotifications.py +85 -0
- cribl_control_plane/models/functionnotify.py +196 -0
- cribl_control_plane/models/functionnumerify.py +119 -0
- cribl_control_plane/models/functionotlplogs.py +82 -0
- cribl_control_plane/models/functionotlpmetrics.py +118 -0
- cribl_control_plane/models/functionotlptraces.py +111 -0
- cribl_control_plane/models/functionpack.py +80 -0
- cribl_control_plane/models/functionpivot.py +85 -0
- cribl_control_plane/models/functionpublishmetrics.py +153 -0
- cribl_control_plane/models/functionredis.py +173 -0
- cribl_control_plane/models/functionregexextract.py +112 -0
- cribl_control_plane/models/functionregexfilter.py +95 -0
- cribl_control_plane/models/functionrename.py +107 -0
- cribl_control_plane/models/functionresponse.py +242 -0
- cribl_control_plane/models/functionrollupmetrics.py +114 -0
- cribl_control_plane/models/functionsampling.py +90 -0
- cribl_control_plane/models/functionsend.py +141 -0
- cribl_control_plane/models/functionsensitivedatascanner.py +128 -0
- cribl_control_plane/models/functionserde.py +161 -0
- cribl_control_plane/models/functionserialize.py +134 -0
- cribl_control_plane/models/functionsidlookup.py +93 -0
- cribl_control_plane/models/functionsnmptrapserialize.py +144 -0
- cribl_control_plane/models/functionsort.py +97 -0
- cribl_control_plane/models/functionstore.py +132 -0
- cribl_control_plane/models/functionsuppress.py +115 -0
- cribl_control_plane/models/functiontee.py +90 -0
- cribl_control_plane/models/functiontrimtimestamp.py +75 -0
- cribl_control_plane/models/functionunion.py +80 -0
- cribl_control_plane/models/functionunroll.py +80 -0
- cribl_control_plane/models/functionwindow.py +96 -0
- cribl_control_plane/models/functionxmlunroll.py +92 -0
- cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +63 -0
- cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +63 -0
- cribl_control_plane/models/getconfiggroupbyproductandidop.py +53 -0
- cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +43 -0
- cribl_control_plane/models/getcribllakedatasetbylakeidandidop.py +5 -24
- cribl_control_plane/models/getcribllakedatasetbylakeidop.py +56 -16
- cribl_control_plane/models/getfunctionsbyidop.py +18 -0
- cribl_control_plane/models/getinputbyidop.py +3 -22
- cribl_control_plane/models/getmasterworkerentryop.py +22 -0
- cribl_control_plane/models/getoutputbyidop.py +3 -22
- cribl_control_plane/models/getoutputpqbyidop.py +3 -21
- cribl_control_plane/models/getoutputsamplesbyidop.py +3 -22
- cribl_control_plane/models/getpacksbyidop.py +18 -0
- cribl_control_plane/models/getpacksop.py +3 -21
- cribl_control_plane/models/getpipelinebyidop.py +3 -22
- cribl_control_plane/models/getroutesbyidop.py +3 -22
- cribl_control_plane/models/getsummaryop.py +23 -32
- cribl_control_plane/models/getversioncountop.py +10 -27
- cribl_control_plane/models/getversiondiffop.py +12 -28
- cribl_control_plane/models/getversionfilesop.py +10 -28
- cribl_control_plane/models/getversionop.py +30 -0
- cribl_control_plane/models/getversionshowop.py +12 -28
- cribl_control_plane/models/getversionstatusop.py +7 -23
- cribl_control_plane/models/gitcommitsummary.py +3 -3
- cribl_control_plane/models/{routecloneconf.py → gitcountresult.py} +4 -4
- cribl_control_plane/models/gitdiffresult.py +16 -0
- cribl_control_plane/models/gitfilesresponse.py +7 -5
- cribl_control_plane/models/gitinfo.py +14 -3
- cribl_control_plane/models/gitlogresult.py +33 -0
- cribl_control_plane/models/gitrevertparams.py +3 -3
- cribl_control_plane/models/gitrevertresult.py +5 -5
- cribl_control_plane/models/gitshowresult.py +19 -0
- cribl_control_plane/models/gitstatusresult.py +0 -3
- cribl_control_plane/models/groupcreaterequest.py +172 -0
- cribl_control_plane/models/hbcriblinfo.py +42 -7
- cribl_control_plane/models/healthserverstatus.py +55 -0
- cribl_control_plane/models/heartbeatmetadata.py +6 -11
- cribl_control_plane/models/input.py +89 -81
- cribl_control_plane/models/inputappscope.py +131 -35
- cribl_control_plane/models/inputazureblob.py +62 -6
- cribl_control_plane/models/inputcloudflarehec.py +518 -0
- cribl_control_plane/models/inputcollection.py +49 -6
- cribl_control_plane/models/inputconfluentcloud.py +262 -22
- cribl_control_plane/models/inputcribl.py +52 -9
- cribl_control_plane/models/inputcriblhttp.py +124 -33
- cribl_control_plane/models/inputcribllakehttp.py +199 -29
- cribl_control_plane/models/inputcriblmetrics.py +53 -9
- cribl_control_plane/models/inputcribltcp.py +125 -27
- cribl_control_plane/models/inputcrowdstrike.py +99 -10
- cribl_control_plane/models/inputdatadogagent.py +101 -27
- cribl_control_plane/models/inputdatagen.py +47 -4
- cribl_control_plane/models/inputedgeprometheus.py +215 -58
- cribl_control_plane/models/inputelastic.py +170 -39
- cribl_control_plane/models/inputeventhub.py +212 -9
- cribl_control_plane/models/inputexec.py +59 -6
- cribl_control_plane/models/inputfile.py +83 -15
- cribl_control_plane/models/inputfirehose.py +100 -27
- cribl_control_plane/models/inputgooglepubsub.py +83 -15
- cribl_control_plane/models/{inputgrafana_union.py → inputgrafana.py} +261 -67
- cribl_control_plane/models/inputhttp.py +100 -27
- cribl_control_plane/models/inputhttpraw.py +100 -27
- cribl_control_plane/models/inputjournalfiles.py +51 -7
- cribl_control_plane/models/inputkafka.py +257 -19
- cribl_control_plane/models/inputkinesis.py +133 -17
- cribl_control_plane/models/inputkubeevents.py +52 -9
- cribl_control_plane/models/inputkubelogs.py +66 -13
- cribl_control_plane/models/inputkubemetrics.py +66 -13
- cribl_control_plane/models/inputloki.py +116 -30
- cribl_control_plane/models/inputmetrics.py +97 -24
- cribl_control_plane/models/inputmodeldriventelemetry.py +110 -29
- cribl_control_plane/models/inputmsk.py +148 -21
- cribl_control_plane/models/inputnetflow.py +50 -7
- cribl_control_plane/models/inputoffice365mgmt.py +115 -17
- cribl_control_plane/models/inputoffice365msgtrace.py +117 -19
- cribl_control_plane/models/inputoffice365service.py +117 -19
- cribl_control_plane/models/inputopentelemetry.py +146 -35
- cribl_control_plane/models/inputprometheus.py +196 -47
- cribl_control_plane/models/inputprometheusrw.py +117 -30
- cribl_control_plane/models/inputrawudp.py +50 -7
- cribl_control_plane/models/inputs3.py +85 -8
- cribl_control_plane/models/inputs3inventory.py +99 -10
- cribl_control_plane/models/inputsecuritylake.py +100 -10
- cribl_control_plane/models/inputsnmp.py +115 -24
- cribl_control_plane/models/inputsplunk.py +133 -31
- cribl_control_plane/models/inputsplunkhec.py +122 -32
- cribl_control_plane/models/inputsplunksearch.py +115 -18
- cribl_control_plane/models/inputsqs.py +102 -19
- cribl_control_plane/models/{inputsyslog_union.py → inputsyslog.py} +193 -51
- cribl_control_plane/models/inputsystemmetrics.py +207 -37
- cribl_control_plane/models/inputsystemstate.py +66 -13
- cribl_control_plane/models/inputtcp.py +125 -29
- cribl_control_plane/models/inputtcpjson.py +115 -29
- cribl_control_plane/models/inputwef.py +151 -22
- cribl_control_plane/models/inputwindowsmetrics.py +191 -38
- cribl_control_plane/models/inputwineventlogs.py +93 -11
- cribl_control_plane/models/inputwiz.py +176 -11
- cribl_control_plane/models/inputwizwebhook.py +466 -0
- cribl_control_plane/models/inputzscalerhec.py +122 -32
- cribl_control_plane/models/jobinfo.py +34 -0
- cribl_control_plane/models/jobstatus.py +48 -0
- cribl_control_plane/models/lakedatasetmetrics.py +17 -0
- cribl_control_plane/models/lakehouseconnectiontype.py +2 -1
- cribl_control_plane/models/listconfiggroupbyproductop.py +46 -0
- cribl_control_plane/models/listmasterworkerentryop.py +64 -0
- cribl_control_plane/models/logininfo.py +3 -3
- cribl_control_plane/models/masterworkerentry.py +20 -13
- cribl_control_plane/models/nodeactiveupgradestatus.py +2 -1
- cribl_control_plane/models/nodefailedupgradestatus.py +2 -1
- cribl_control_plane/models/nodeprovidedinfo.py +13 -11
- cribl_control_plane/models/nodeskippedupgradestatus.py +2 -1
- cribl_control_plane/models/nodeupgradestate.py +2 -1
- cribl_control_plane/models/nodeupgradestatus.py +51 -5
- cribl_control_plane/models/outpostnodeinfo.py +16 -0
- cribl_control_plane/models/output.py +103 -89
- cribl_control_plane/models/outputazureblob.py +174 -21
- cribl_control_plane/models/outputazuredataexplorer.py +517 -93
- cribl_control_plane/models/outputazureeventhub.py +318 -34
- cribl_control_plane/models/outputazurelogs.py +145 -26
- cribl_control_plane/models/outputchronicle.py +532 -0
- cribl_control_plane/models/outputclickhouse.py +208 -37
- cribl_control_plane/models/outputcloudflarer2.py +632 -0
- cribl_control_plane/models/outputcloudwatch.py +132 -26
- cribl_control_plane/models/outputconfluentcloud.py +387 -46
- cribl_control_plane/models/outputcriblhttp.py +203 -36
- cribl_control_plane/models/outputcribllake.py +161 -21
- cribl_control_plane/models/outputcribltcp.py +199 -34
- cribl_control_plane/models/outputcrowdstrikenextgensiem.py +176 -32
- cribl_control_plane/models/outputdatabricks.py +501 -0
- cribl_control_plane/models/outputdatadog.py +204 -36
- cribl_control_plane/models/outputdataset.py +186 -34
- cribl_control_plane/models/outputdevnull.py +5 -5
- cribl_control_plane/models/outputdiskspool.py +22 -7
- cribl_control_plane/models/outputdls3.py +238 -29
- cribl_control_plane/models/outputdynatracehttp.py +211 -37
- cribl_control_plane/models/outputdynatraceotlp.py +213 -39
- cribl_control_plane/models/outputelastic.py +199 -30
- cribl_control_plane/models/outputelasticcloud.py +174 -29
- cribl_control_plane/models/outputexabeam.py +99 -13
- cribl_control_plane/models/outputfilesystem.py +139 -14
- cribl_control_plane/models/outputgooglechronicle.py +216 -35
- cribl_control_plane/models/outputgooglecloudlogging.py +177 -34
- cribl_control_plane/models/outputgooglecloudstorage.py +220 -29
- cribl_control_plane/models/outputgooglepubsub.py +138 -51
- cribl_control_plane/models/outputgrafanacloud.py +386 -70
- cribl_control_plane/models/outputgraphite.py +131 -28
- cribl_control_plane/models/outputhoneycomb.py +145 -26
- cribl_control_plane/models/outputhumiohec.py +165 -31
- cribl_control_plane/models/outputinfluxdb.py +165 -28
- cribl_control_plane/models/outputkafka.py +378 -41
- cribl_control_plane/models/outputkinesis.py +168 -30
- cribl_control_plane/models/outputloki.py +171 -27
- cribl_control_plane/models/outputmicrosoftfabric.py +540 -0
- cribl_control_plane/models/outputminio.py +228 -28
- cribl_control_plane/models/outputmsk.py +270 -43
- cribl_control_plane/models/outputnewrelic.py +176 -34
- cribl_control_plane/models/outputnewrelicevents.py +166 -31
- cribl_control_plane/models/outputopentelemetry.py +240 -40
- cribl_control_plane/models/outputprometheus.py +145 -26
- cribl_control_plane/models/outputring.py +54 -13
- cribl_control_plane/models/outputs3.py +238 -31
- cribl_control_plane/models/outputsecuritylake.py +182 -21
- cribl_control_plane/models/outputsentinel.py +175 -32
- cribl_control_plane/models/outputsentineloneaisiem.py +184 -38
- cribl_control_plane/models/outputservicenow.py +226 -41
- cribl_control_plane/models/outputsignalfx.py +145 -26
- cribl_control_plane/models/outputsns.py +146 -28
- cribl_control_plane/models/outputsplunk.py +209 -39
- cribl_control_plane/models/outputsplunkhec.py +243 -31
- cribl_control_plane/models/outputsplunklb.py +266 -46
- cribl_control_plane/models/outputsqs.py +166 -36
- cribl_control_plane/models/outputstatsd.py +130 -28
- cribl_control_plane/models/outputstatsdext.py +131 -28
- cribl_control_plane/models/outputsumologic.py +146 -25
- cribl_control_plane/models/outputsyslog.py +323 -51
- cribl_control_plane/models/outputtcpjson.py +191 -37
- cribl_control_plane/models/outputwavefront.py +145 -26
- cribl_control_plane/models/outputwebhook.py +216 -38
- cribl_control_plane/models/outputxsiam.py +148 -31
- cribl_control_plane/models/packinfo.py +11 -8
- cribl_control_plane/models/packinstallinfo.py +14 -11
- cribl_control_plane/models/packrequestbody_union.py +140 -0
- cribl_control_plane/models/packupgraderequest.py +26 -0
- cribl_control_plane/models/piisettings_union.py +31 -0
- cribl_control_plane/models/productscore.py +10 -0
- cribl_control_plane/models/rbacresource.py +2 -1
- cribl_control_plane/models/resourcepolicy.py +15 -2
- cribl_control_plane/models/rollbacksettings_union.py +44 -0
- cribl_control_plane/models/routeconf.py +3 -4
- cribl_control_plane/models/routes.py +0 -24
- cribl_control_plane/models/runnablejob.py +27 -0
- cribl_control_plane/models/runnablejobcollection.py +628 -0
- cribl_control_plane/models/runnablejobexecutor.py +360 -0
- cribl_control_plane/models/runnablejobscheduledsearch.py +279 -0
- cribl_control_plane/models/schemeclientoauth.py +5 -0
- cribl_control_plane/models/snisettings_union.py +31 -0
- cribl_control_plane/models/systemsettingsconf.py +291 -0
- cribl_control_plane/models/tlssettings_union.py +43 -0
- cribl_control_plane/models/updateconfiggroupbyproductandidop.py +56 -0
- cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +53 -0
- cribl_control_plane/models/updatecribllakedatasetbylakeidandidop.py +14 -29
- cribl_control_plane/models/updatehectokenrequest.py +7 -1
- cribl_control_plane/models/updateinputbyidop.py +5 -23
- cribl_control_plane/models/updateinputhectokenbyidandtokenop.py +5 -23
- cribl_control_plane/models/updateoutputbyidop.py +5 -23
- cribl_control_plane/models/updatepacksbyidop.py +12 -50
- cribl_control_plane/models/updatepacksop.py +12 -24
- cribl_control_plane/models/updatepipelinebyidop.py +5 -23
- cribl_control_plane/models/updateroutesbyidop.py +8 -27
- cribl_control_plane/models/upgradegroupsettings_union.py +43 -0
- cribl_control_plane/models/upgradepackageurls.py +20 -0
- cribl_control_plane/models/upgradesettings.py +38 -0
- cribl_control_plane/models/uploadpackresponse.py +13 -0
- cribl_control_plane/models/{appmode.py → workertypes.py} +2 -5
- cribl_control_plane/{workers_sdk.py → nodes.py} +102 -234
- cribl_control_plane/packs.py +385 -184
- cribl_control_plane/pipelines.py +116 -66
- cribl_control_plane/routes_sdk.py +102 -70
- cribl_control_plane/samples.py +407 -0
- cribl_control_plane/sdk.py +35 -25
- cribl_control_plane/settings.py +20 -0
- cribl_control_plane/sources.py +143 -545
- cribl_control_plane/statuses.py +195 -0
- cribl_control_plane/summaries.py +195 -0
- cribl_control_plane/system_sdk.py +20 -0
- cribl_control_plane/teams.py +36 -28
- cribl_control_plane/tokens.py +210 -0
- cribl_control_plane/utils/__init__.py +18 -5
- cribl_control_plane/utils/annotations.py +32 -8
- cribl_control_plane/utils/eventstreaming.py +10 -0
- cribl_control_plane/utils/forms.py +21 -10
- cribl_control_plane/utils/queryparams.py +14 -2
- cribl_control_plane/utils/retries.py +69 -5
- cribl_control_plane/utils/security.py +5 -0
- cribl_control_plane/utils/unmarshal_json_response.py +15 -1
- cribl_control_plane/versions.py +31 -0
- cribl_control_plane/{distributed.py → versions_configs.py} +29 -35
- cribl_control_plane-0.4.0b23.dist-info/METADATA +855 -0
- cribl_control_plane-0.4.0b23.dist-info/RECORD +450 -0
- {cribl_control_plane-0.0.21.dist-info → cribl_control_plane-0.4.0b23.dist-info}/WHEEL +1 -1
- cribl_control_plane-0.4.0b23.dist-info/licenses/LICENSE +201 -0
- cribl_control_plane/errors/healthstatus_error.py +0 -32
- cribl_control_plane/models/createinputop.py +0 -18238
- cribl_control_plane/models/createoutputop.py +0 -18437
- cribl_control_plane/models/createpipelineop.py +0 -24
- cribl_control_plane/models/createproductsgroupsbyproductop.py +0 -54
- cribl_control_plane/models/createversionpushop.py +0 -23
- cribl_control_plane/models/createversionsyncop.py +0 -23
- cribl_control_plane/models/deletegroupsbyidop.py +0 -37
- cribl_control_plane/models/getgroupsaclbyidop.py +0 -63
- cribl_control_plane/models/getgroupsbyidop.py +0 -49
- cribl_control_plane/models/getgroupsconfigversionbyidop.py +0 -36
- cribl_control_plane/models/getproductsgroupsaclteamsbyproductandidop.py +0 -78
- cribl_control_plane/models/getproductsgroupsbyproductop.py +0 -58
- cribl_control_plane/models/getsummaryworkersop.py +0 -39
- cribl_control_plane/models/getversioncurrentbranchop.py +0 -23
- cribl_control_plane/models/getworkersop.py +0 -82
- cribl_control_plane/models/healthstatus.py +0 -33
- cribl_control_plane/models/packrequestbody.py +0 -75
- cribl_control_plane/models/restartresponse.py +0 -26
- cribl_control_plane/models/routesroute_input.py +0 -67
- cribl_control_plane/models/updategroupsbyidop.py +0 -48
- cribl_control_plane/models/updategroupsdeploybyidop.py +0 -46
- cribl_control_plane/models/updateworkersrestartop.py +0 -24
- cribl_control_plane/versioning.py +0 -2309
- cribl_control_plane-0.0.21.dist-info/METADATA +0 -561
- cribl_control_plane-0.0.21.dist-info/RECORD +0 -301
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
1
3
|
import hashlib
|
|
2
|
-
import os
|
|
3
4
|
import httpx
|
|
4
5
|
import time
|
|
5
6
|
from .types import (
|
|
@@ -20,26 +21,35 @@ class Credentials:
|
|
|
20
21
|
client_id: str
|
|
21
22
|
client_secret: str
|
|
22
23
|
token_url: str
|
|
23
|
-
|
|
24
|
+
scopes: Optional[List[str]]
|
|
25
|
+
additional_properties: Dict[str, str]
|
|
24
26
|
|
|
25
|
-
def __init__(
|
|
27
|
+
def __init__(
|
|
28
|
+
self,
|
|
29
|
+
client_id: str,
|
|
30
|
+
client_secret: str,
|
|
31
|
+
token_url: str,
|
|
32
|
+
scopes: Optional[List[str]],
|
|
33
|
+
additional_properties: Optional[Dict[str, str]] = None,
|
|
34
|
+
):
|
|
26
35
|
self.client_id = client_id
|
|
27
36
|
self.client_secret = client_secret
|
|
28
37
|
self.token_url = token_url
|
|
29
|
-
self.
|
|
38
|
+
self.scopes = scopes
|
|
39
|
+
self.additional_properties = additional_properties or {}
|
|
30
40
|
|
|
31
41
|
|
|
32
42
|
class Session:
|
|
33
43
|
credentials: Credentials
|
|
34
44
|
token: str
|
|
35
|
-
scopes:
|
|
45
|
+
scopes: List[str]
|
|
36
46
|
expires_at: Optional[int] = None
|
|
37
47
|
|
|
38
48
|
def __init__(
|
|
39
49
|
self,
|
|
40
50
|
credentials: Credentials,
|
|
41
51
|
token: str,
|
|
42
|
-
scopes:
|
|
52
|
+
scopes: List[str],
|
|
43
53
|
expires_at: Optional[int] = None,
|
|
44
54
|
):
|
|
45
55
|
self.credentials = credentials
|
|
@@ -50,7 +60,7 @@ class Session:
|
|
|
50
60
|
|
|
51
61
|
class ClientCredentialsHook(SDKInitHook, BeforeRequestHook, AfterErrorHook):
|
|
52
62
|
client: HttpClient
|
|
53
|
-
sessions: Dict[str, Session] = {}
|
|
63
|
+
sessions: Dict[str, Dict[str, Session]] = {}
|
|
54
64
|
|
|
55
65
|
def sdk_init(self, config: SDKConfiguration) -> SDKConfiguration:
|
|
56
66
|
if config.client is None:
|
|
@@ -62,8 +72,7 @@ class ClientCredentialsHook(SDKInitHook, BeforeRequestHook, AfterErrorHook):
|
|
|
62
72
|
def before_request(
|
|
63
73
|
self, hook_ctx: BeforeRequestContext, request: httpx.Request
|
|
64
74
|
) -> httpx.Request:
|
|
65
|
-
if hook_ctx
|
|
66
|
-
# OAuth2 not in use
|
|
75
|
+
if self.is_hook_disabled(hook_ctx):
|
|
67
76
|
return request
|
|
68
77
|
|
|
69
78
|
credentials = self.get_credentials(hook_ctx)
|
|
@@ -74,22 +83,24 @@ class ClientCredentialsHook(SDKInitHook, BeforeRequestHook, AfterErrorHook):
|
|
|
74
83
|
credentials.client_id, credentials.client_secret
|
|
75
84
|
)
|
|
76
85
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
):
|
|
84
|
-
sess = self.do_token_request(
|
|
86
|
+
scopes = self.get_required_scopes(credentials, hook_ctx)
|
|
87
|
+
session = self.get_existing_session(session_key, scopes)
|
|
88
|
+
|
|
89
|
+
if session is None:
|
|
90
|
+
# Create new session
|
|
91
|
+
session = self.do_token_request(
|
|
85
92
|
hook_ctx,
|
|
86
93
|
credentials,
|
|
87
|
-
|
|
94
|
+
scopes,
|
|
88
95
|
)
|
|
89
96
|
|
|
90
|
-
self.sessions
|
|
97
|
+
if session_key not in self.sessions:
|
|
98
|
+
self.sessions[session_key] = {}
|
|
99
|
+
|
|
100
|
+
scope_key = self.get_scope_key(scopes)
|
|
101
|
+
self.sessions[session_key][scope_key] = session
|
|
91
102
|
|
|
92
|
-
request.headers["Authorization"] = f"Bearer {
|
|
103
|
+
request.headers["Authorization"] = f"Bearer {session.token}"
|
|
93
104
|
|
|
94
105
|
return request
|
|
95
106
|
|
|
@@ -99,8 +110,7 @@ class ClientCredentialsHook(SDKInitHook, BeforeRequestHook, AfterErrorHook):
|
|
|
99
110
|
response: Optional[httpx.Response],
|
|
100
111
|
error: Optional[Exception],
|
|
101
112
|
) -> Union[Tuple[Optional[httpx.Response], Optional[Exception]], Exception]:
|
|
102
|
-
if hook_ctx
|
|
103
|
-
# OAuth2 not in use
|
|
113
|
+
if self.is_hook_disabled(hook_ctx):
|
|
104
114
|
return (response, error)
|
|
105
115
|
|
|
106
116
|
# We don't want to refresh the token if the error is not related to the token
|
|
@@ -115,12 +125,15 @@ class ClientCredentialsHook(SDKInitHook, BeforeRequestHook, AfterErrorHook):
|
|
|
115
125
|
session_key = self.get_session_key(
|
|
116
126
|
credentials.client_id, credentials.client_secret
|
|
117
127
|
)
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
128
|
+
scopes = self.get_required_scopes(credentials, hook_ctx)
|
|
129
|
+
scope_key = self.get_scope_key(scopes)
|
|
130
|
+
self.remove_session(session_key, scope_key)
|
|
121
131
|
|
|
122
132
|
return (response, error)
|
|
123
133
|
|
|
134
|
+
def is_hook_disabled(self, hook_ctx: HookContext) -> bool:
|
|
135
|
+
return hook_ctx.oauth2_scopes is None
|
|
136
|
+
|
|
124
137
|
def get_credentials(self, hook_ctx: HookContext) -> Optional[Credentials]:
|
|
125
138
|
source = hook_ctx.security_source
|
|
126
139
|
|
|
@@ -135,17 +148,22 @@ class ClientCredentialsHook(SDKInitHook, BeforeRequestHook, AfterErrorHook):
|
|
|
135
148
|
if security is None or security.client_oauth is None:
|
|
136
149
|
return None
|
|
137
150
|
|
|
151
|
+
# Extract additional properties from security object
|
|
152
|
+
additional_properties = {}
|
|
153
|
+
for key, value in dict(security.client_oauth).items():
|
|
154
|
+
if key not in ["client_id", "client_secret", "token_url", "scopes"]:
|
|
155
|
+
additional_properties[key] = value
|
|
156
|
+
|
|
138
157
|
return Credentials(
|
|
139
158
|
client_id=security.client_oauth.client_id,
|
|
140
159
|
client_secret=security.client_oauth.client_secret,
|
|
141
160
|
token_url=security.client_oauth.token_url,
|
|
161
|
+
scopes=None,
|
|
162
|
+
additional_properties=additional_properties,
|
|
142
163
|
)
|
|
143
164
|
|
|
144
165
|
def do_token_request(
|
|
145
|
-
self,
|
|
146
|
-
hook_ctx: HookContext,
|
|
147
|
-
credentials: Credentials,
|
|
148
|
-
scopes: Optional[List[str]],
|
|
166
|
+
self, hook_ctx: HookContext, credentials: Credentials, scopes: List[str]
|
|
149
167
|
) -> Session:
|
|
150
168
|
payload = {
|
|
151
169
|
"grant_type": "client_credentials",
|
|
@@ -153,12 +171,13 @@ class ClientCredentialsHook(SDKInitHook, BeforeRequestHook, AfterErrorHook):
|
|
|
153
171
|
"client_secret": credentials.client_secret,
|
|
154
172
|
}
|
|
155
173
|
|
|
156
|
-
if
|
|
157
|
-
payload["audience"] = credentials.audience
|
|
158
|
-
|
|
159
|
-
if scopes is not None and len(scopes) > 0:
|
|
174
|
+
if len(scopes) > 0:
|
|
160
175
|
payload["scope"] = " ".join(scopes)
|
|
161
176
|
|
|
177
|
+
# Add additional properties to payload
|
|
178
|
+
for key, value in credentials.additional_properties.items():
|
|
179
|
+
payload[key] = value
|
|
180
|
+
|
|
162
181
|
token_url = credentials.token_url
|
|
163
182
|
if not bool(urlparse(credentials.token_url).netloc):
|
|
164
183
|
token_url = urljoin(hook_ctx.base_url, credentials.token_url)
|
|
@@ -173,7 +192,7 @@ class ClientCredentialsHook(SDKInitHook, BeforeRequestHook, AfterErrorHook):
|
|
|
173
192
|
|
|
174
193
|
response_data = response.json()
|
|
175
194
|
|
|
176
|
-
if response_data.get("token_type") != "
|
|
195
|
+
if response_data.get("token_type", "").lower() != "bearer":
|
|
177
196
|
raise Exception("Unexpected token type from token endpoint")
|
|
178
197
|
|
|
179
198
|
expires_at = None
|
|
@@ -188,24 +207,70 @@ class ClientCredentialsHook(SDKInitHook, BeforeRequestHook, AfterErrorHook):
|
|
|
188
207
|
)
|
|
189
208
|
|
|
190
209
|
def get_session_key(self, client_id: str, client_secret: str) -> str:
|
|
210
|
+
"""Generate a consistent session key for the given client ID and secret."""
|
|
191
211
|
return hashlib.md5(f"{client_id}:{client_secret}".encode()).hexdigest()
|
|
192
212
|
|
|
213
|
+
def get_required_scopes(
|
|
214
|
+
self, credentials: Credentials, hook_ctx: HookContext
|
|
215
|
+
) -> List[str]:
|
|
216
|
+
"""Return the list of scopes that need to be requested."""
|
|
217
|
+
if credentials.scopes is not None:
|
|
218
|
+
return credentials.scopes
|
|
219
|
+
return hook_ctx.oauth2_scopes or []
|
|
220
|
+
|
|
221
|
+
def get_scope_key(self, scopes: List[str]) -> str:
|
|
222
|
+
"""Generate a consistent scope key for the given scopes."""
|
|
223
|
+
if not scopes:
|
|
224
|
+
return ""
|
|
225
|
+
|
|
226
|
+
sorted_scopes = sorted(scopes)
|
|
227
|
+
return "&".join(sorted_scopes)
|
|
228
|
+
|
|
229
|
+
def remove_session(self, client_key: str, scope_key: str) -> None:
|
|
230
|
+
"""Remove a session and clean up empty client session maps."""
|
|
231
|
+
if client_key in self.sessions and scope_key in self.sessions[client_key]:
|
|
232
|
+
del self.sessions[client_key][scope_key]
|
|
233
|
+
|
|
234
|
+
# Clean up empty client sessions
|
|
235
|
+
if not self.sessions[client_key]:
|
|
236
|
+
del self.sessions[client_key]
|
|
237
|
+
|
|
238
|
+
def get_existing_session(
|
|
239
|
+
self, client_key: str, required_scopes: List[str]
|
|
240
|
+
) -> Optional[Session]:
|
|
241
|
+
"""Find the best session for the required scopes."""
|
|
242
|
+
if client_key not in self.sessions:
|
|
243
|
+
return None
|
|
244
|
+
|
|
245
|
+
client_sessions = self.sessions[client_key]
|
|
246
|
+
scope_key = self.get_scope_key(required_scopes)
|
|
247
|
+
|
|
248
|
+
if scope_key in client_sessions:
|
|
249
|
+
exact_match = client_sessions[scope_key]
|
|
250
|
+
if self.has_token_expired(exact_match.expires_at):
|
|
251
|
+
self.remove_session(client_key, scope_key)
|
|
252
|
+
else:
|
|
253
|
+
return exact_match
|
|
254
|
+
|
|
255
|
+
# If no exact match was found, look for a superset match
|
|
256
|
+
for key, session in client_sessions.items():
|
|
257
|
+
if self.has_token_expired(session.expires_at):
|
|
258
|
+
self.remove_session(client_key, key)
|
|
259
|
+
elif self.has_required_scopes(session.scopes, required_scopes):
|
|
260
|
+
return session
|
|
261
|
+
|
|
262
|
+
return None
|
|
263
|
+
|
|
193
264
|
def has_required_scopes(
|
|
194
|
-
self, scopes:
|
|
265
|
+
self, scopes: List[str], required_scopes: List[str]
|
|
195
266
|
) -> bool:
|
|
196
|
-
if scopes
|
|
197
|
-
return False
|
|
198
|
-
|
|
267
|
+
"""Check if all required scopes are present in the given scopes."""
|
|
199
268
|
return all(scope in scopes for scope in required_scopes)
|
|
200
269
|
|
|
201
|
-
def get_scopes(
|
|
202
|
-
self, required_scopes: List[str], sess: Optional[Session]
|
|
203
|
-
) -> List[str]:
|
|
204
|
-
scopes = required_scopes.copy()
|
|
205
|
-
if sess is not None and sess.scopes is not None:
|
|
206
|
-
scopes.extend(sess.scopes)
|
|
207
|
-
scopes = list(set(scopes))
|
|
208
|
-
return scopes
|
|
209
|
-
|
|
210
270
|
def has_token_expired(self, expires_at: Optional[int]) -> bool:
|
|
211
|
-
|
|
271
|
+
"""
|
|
272
|
+
Check if the token has expired.
|
|
273
|
+
If no expires_in field was returned by the authorization server, the token is considered to never expire.
|
|
274
|
+
A 60-second buffer is applied to refresh tokens before they actually expire.
|
|
275
|
+
"""
|
|
276
|
+
return expires_at is not None and time.time() + 60 >= expires_at
|
cribl_control_plane/_version.py
CHANGED
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
import importlib.metadata
|
|
4
4
|
|
|
5
5
|
__title__: str = "cribl-control-plane"
|
|
6
|
-
__version__: str = "0.
|
|
7
|
-
__openapi_doc_version__: str = "4.
|
|
8
|
-
__gen_version__: str = "2.
|
|
9
|
-
__user_agent__: str = "speakeasy-sdk/python 0.
|
|
6
|
+
__version__: str = "0.4.0b23"
|
|
7
|
+
__openapi_doc_version__: str = "4.16.0-alpha.1765487092497-ed578836"
|
|
8
|
+
__gen_version__: str = "2.778.0"
|
|
9
|
+
__user_agent__: str = "speakeasy-sdk/python 0.4.0b23 2.778.0 4.16.0-alpha.1765487092497-ed578836 cribl-control-plane"
|
|
10
10
|
|
|
11
11
|
try:
|
|
12
12
|
if __package__ is not None:
|
|
@@ -0,0 +1,225 @@
|
|
|
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 import errors, models, utils
|
|
6
|
+
from cribl_control_plane._hooks import HookContext
|
|
7
|
+
from cribl_control_plane.teams import Teams
|
|
8
|
+
from cribl_control_plane.types import OptionalNullable, UNSET
|
|
9
|
+
from cribl_control_plane.utils import get_security_from_env
|
|
10
|
+
from cribl_control_plane.utils.unmarshal_json_response import unmarshal_json_response
|
|
11
|
+
from typing import Any, Mapping, Optional
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class ACL(BaseSDK):
|
|
15
|
+
teams: Teams
|
|
16
|
+
|
|
17
|
+
def __init__(
|
|
18
|
+
self, sdk_config: SDKConfiguration, parent_ref: Optional[object] = None
|
|
19
|
+
) -> None:
|
|
20
|
+
BaseSDK.__init__(self, sdk_config, parent_ref=parent_ref)
|
|
21
|
+
self.sdk_configuration = sdk_config
|
|
22
|
+
self._init_sdks()
|
|
23
|
+
|
|
24
|
+
def _init_sdks(self):
|
|
25
|
+
self.teams = Teams(self.sdk_configuration, parent_ref=self.parent_ref)
|
|
26
|
+
|
|
27
|
+
def get(
|
|
28
|
+
self,
|
|
29
|
+
*,
|
|
30
|
+
product: models.ProductsCore,
|
|
31
|
+
id: str,
|
|
32
|
+
type_: Optional[models.RbacResource] = None,
|
|
33
|
+
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
34
|
+
server_url: Optional[str] = None,
|
|
35
|
+
timeout_ms: Optional[int] = None,
|
|
36
|
+
http_headers: Optional[Mapping[str, str]] = None,
|
|
37
|
+
) -> models.CountedUserAccessControlList:
|
|
38
|
+
r"""Get the Access Control List for a Worker Group or Edge Fleet
|
|
39
|
+
|
|
40
|
+
Get the Access Control List (ACL) for the specified Worker Group or Edge Fleet.
|
|
41
|
+
|
|
42
|
+
:param product: Name of the Cribl product to get the Worker Groups or Edge Fleets for.
|
|
43
|
+
:param id: The <code>id</code> of the Worker Group or Edge Fleet to get the ACL for.
|
|
44
|
+
:param type: Filter for limiting the response to ACL entries for the specified RBAC resource type.
|
|
45
|
+
:param retries: Override the default retry configuration for this method
|
|
46
|
+
:param server_url: Override the default server URL for this method
|
|
47
|
+
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
48
|
+
:param http_headers: Additional headers to set or replace on requests.
|
|
49
|
+
"""
|
|
50
|
+
base_url = None
|
|
51
|
+
url_variables = None
|
|
52
|
+
if timeout_ms is None:
|
|
53
|
+
timeout_ms = self.sdk_configuration.timeout_ms
|
|
54
|
+
|
|
55
|
+
if server_url is not None:
|
|
56
|
+
base_url = server_url
|
|
57
|
+
else:
|
|
58
|
+
base_url = self._get_url(base_url, url_variables)
|
|
59
|
+
|
|
60
|
+
request = models.GetConfigGroupACLByProductAndIDRequest(
|
|
61
|
+
product=product,
|
|
62
|
+
id=id,
|
|
63
|
+
type=type_,
|
|
64
|
+
)
|
|
65
|
+
|
|
66
|
+
req = self._build_request(
|
|
67
|
+
method="GET",
|
|
68
|
+
path="/products/{product}/groups/{id}/acl",
|
|
69
|
+
base_url=base_url,
|
|
70
|
+
url_variables=url_variables,
|
|
71
|
+
request=request,
|
|
72
|
+
request_body_required=False,
|
|
73
|
+
request_has_path_params=True,
|
|
74
|
+
request_has_query_params=True,
|
|
75
|
+
user_agent_header="user-agent",
|
|
76
|
+
accept_header_value="application/json",
|
|
77
|
+
http_headers=http_headers,
|
|
78
|
+
security=self.sdk_configuration.security,
|
|
79
|
+
allow_empty_value=None,
|
|
80
|
+
timeout_ms=timeout_ms,
|
|
81
|
+
)
|
|
82
|
+
|
|
83
|
+
if retries == UNSET:
|
|
84
|
+
if self.sdk_configuration.retry_config is not UNSET:
|
|
85
|
+
retries = self.sdk_configuration.retry_config
|
|
86
|
+
else:
|
|
87
|
+
retries = utils.RetryConfig(
|
|
88
|
+
"backoff", utils.BackoffStrategy(500, 60000, 1.5, 3600000), True
|
|
89
|
+
)
|
|
90
|
+
|
|
91
|
+
retry_config = None
|
|
92
|
+
if isinstance(retries, utils.RetryConfig):
|
|
93
|
+
retry_config = (retries, ["429"])
|
|
94
|
+
|
|
95
|
+
http_res = self.do_request(
|
|
96
|
+
hook_ctx=HookContext(
|
|
97
|
+
config=self.sdk_configuration,
|
|
98
|
+
base_url=base_url or "",
|
|
99
|
+
operation_id="getConfigGroupAclByProductAndId",
|
|
100
|
+
oauth2_scopes=[],
|
|
101
|
+
security_source=get_security_from_env(
|
|
102
|
+
self.sdk_configuration.security, models.Security
|
|
103
|
+
),
|
|
104
|
+
),
|
|
105
|
+
request=req,
|
|
106
|
+
error_status_codes=["401", "4XX", "500", "5XX"],
|
|
107
|
+
retry_config=retry_config,
|
|
108
|
+
)
|
|
109
|
+
|
|
110
|
+
response_data: Any = None
|
|
111
|
+
if utils.match_response(http_res, "200", "application/json"):
|
|
112
|
+
return unmarshal_json_response(
|
|
113
|
+
models.CountedUserAccessControlList, http_res
|
|
114
|
+
)
|
|
115
|
+
if utils.match_response(http_res, "500", "application/json"):
|
|
116
|
+
response_data = unmarshal_json_response(errors.ErrorData, http_res)
|
|
117
|
+
raise errors.Error(response_data, http_res)
|
|
118
|
+
if utils.match_response(http_res, ["401", "4XX"], "*"):
|
|
119
|
+
http_res_text = utils.stream_to_text(http_res)
|
|
120
|
+
raise errors.APIError("API error occurred", http_res, http_res_text)
|
|
121
|
+
if utils.match_response(http_res, "5XX", "*"):
|
|
122
|
+
http_res_text = utils.stream_to_text(http_res)
|
|
123
|
+
raise errors.APIError("API error occurred", http_res, http_res_text)
|
|
124
|
+
|
|
125
|
+
raise errors.APIError("Unexpected response received", http_res)
|
|
126
|
+
|
|
127
|
+
async def get_async(
|
|
128
|
+
self,
|
|
129
|
+
*,
|
|
130
|
+
product: models.ProductsCore,
|
|
131
|
+
id: str,
|
|
132
|
+
type_: Optional[models.RbacResource] = None,
|
|
133
|
+
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
134
|
+
server_url: Optional[str] = None,
|
|
135
|
+
timeout_ms: Optional[int] = None,
|
|
136
|
+
http_headers: Optional[Mapping[str, str]] = None,
|
|
137
|
+
) -> models.CountedUserAccessControlList:
|
|
138
|
+
r"""Get the Access Control List for a Worker Group or Edge Fleet
|
|
139
|
+
|
|
140
|
+
Get the Access Control List (ACL) for the specified Worker Group or Edge Fleet.
|
|
141
|
+
|
|
142
|
+
:param product: Name of the Cribl product to get the Worker Groups or Edge Fleets for.
|
|
143
|
+
:param id: The <code>id</code> of the Worker Group or Edge Fleet to get the ACL for.
|
|
144
|
+
:param type: Filter for limiting the response to ACL entries for the specified RBAC resource type.
|
|
145
|
+
:param retries: Override the default retry configuration for this method
|
|
146
|
+
:param server_url: Override the default server URL for this method
|
|
147
|
+
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
148
|
+
:param http_headers: Additional headers to set or replace on requests.
|
|
149
|
+
"""
|
|
150
|
+
base_url = None
|
|
151
|
+
url_variables = None
|
|
152
|
+
if timeout_ms is None:
|
|
153
|
+
timeout_ms = self.sdk_configuration.timeout_ms
|
|
154
|
+
|
|
155
|
+
if server_url is not None:
|
|
156
|
+
base_url = server_url
|
|
157
|
+
else:
|
|
158
|
+
base_url = self._get_url(base_url, url_variables)
|
|
159
|
+
|
|
160
|
+
request = models.GetConfigGroupACLByProductAndIDRequest(
|
|
161
|
+
product=product,
|
|
162
|
+
id=id,
|
|
163
|
+
type=type_,
|
|
164
|
+
)
|
|
165
|
+
|
|
166
|
+
req = self._build_request_async(
|
|
167
|
+
method="GET",
|
|
168
|
+
path="/products/{product}/groups/{id}/acl",
|
|
169
|
+
base_url=base_url,
|
|
170
|
+
url_variables=url_variables,
|
|
171
|
+
request=request,
|
|
172
|
+
request_body_required=False,
|
|
173
|
+
request_has_path_params=True,
|
|
174
|
+
request_has_query_params=True,
|
|
175
|
+
user_agent_header="user-agent",
|
|
176
|
+
accept_header_value="application/json",
|
|
177
|
+
http_headers=http_headers,
|
|
178
|
+
security=self.sdk_configuration.security,
|
|
179
|
+
allow_empty_value=None,
|
|
180
|
+
timeout_ms=timeout_ms,
|
|
181
|
+
)
|
|
182
|
+
|
|
183
|
+
if retries == UNSET:
|
|
184
|
+
if self.sdk_configuration.retry_config is not UNSET:
|
|
185
|
+
retries = self.sdk_configuration.retry_config
|
|
186
|
+
else:
|
|
187
|
+
retries = utils.RetryConfig(
|
|
188
|
+
"backoff", utils.BackoffStrategy(500, 60000, 1.5, 3600000), True
|
|
189
|
+
)
|
|
190
|
+
|
|
191
|
+
retry_config = None
|
|
192
|
+
if isinstance(retries, utils.RetryConfig):
|
|
193
|
+
retry_config = (retries, ["429"])
|
|
194
|
+
|
|
195
|
+
http_res = await self.do_request_async(
|
|
196
|
+
hook_ctx=HookContext(
|
|
197
|
+
config=self.sdk_configuration,
|
|
198
|
+
base_url=base_url or "",
|
|
199
|
+
operation_id="getConfigGroupAclByProductAndId",
|
|
200
|
+
oauth2_scopes=[],
|
|
201
|
+
security_source=get_security_from_env(
|
|
202
|
+
self.sdk_configuration.security, models.Security
|
|
203
|
+
),
|
|
204
|
+
),
|
|
205
|
+
request=req,
|
|
206
|
+
error_status_codes=["401", "4XX", "500", "5XX"],
|
|
207
|
+
retry_config=retry_config,
|
|
208
|
+
)
|
|
209
|
+
|
|
210
|
+
response_data: Any = None
|
|
211
|
+
if utils.match_response(http_res, "200", "application/json"):
|
|
212
|
+
return unmarshal_json_response(
|
|
213
|
+
models.CountedUserAccessControlList, http_res
|
|
214
|
+
)
|
|
215
|
+
if utils.match_response(http_res, "500", "application/json"):
|
|
216
|
+
response_data = unmarshal_json_response(errors.ErrorData, http_res)
|
|
217
|
+
raise errors.Error(response_data, http_res)
|
|
218
|
+
if utils.match_response(http_res, ["401", "4XX"], "*"):
|
|
219
|
+
http_res_text = await utils.stream_to_text_async(http_res)
|
|
220
|
+
raise errors.APIError("API error occurred", http_res, http_res_text)
|
|
221
|
+
if utils.match_response(http_res, "5XX", "*"):
|
|
222
|
+
http_res_text = await utils.stream_to_text_async(http_res)
|
|
223
|
+
raise errors.APIError("API error occurred", http_res, http_res_text)
|
|
224
|
+
|
|
225
|
+
raise errors.APIError("Unexpected response received", http_res)
|