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.
- cribl_control_plane/_hooks/clientcredentials.py +92 -42
- cribl_control_plane/_version.py +4 -4
- cribl_control_plane/acl.py +21 -9
- cribl_control_plane/auth_sdk.py +6 -3
- cribl_control_plane/basesdk.py +17 -1
- cribl_control_plane/branches.py +28 -8
- cribl_control_plane/commits.py +119 -47
- cribl_control_plane/commits_files.py +44 -24
- cribl_control_plane/configs_versions.py +16 -10
- cribl_control_plane/cribl.py +495 -0
- cribl_control_plane/destinations.py +86 -34
- cribl_control_plane/destinations_pq.py +34 -14
- cribl_control_plane/errors/__init__.py +23 -8
- 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 +8 -3
- cribl_control_plane/groups_sdk.py +156 -94
- cribl_control_plane/health.py +34 -14
- cribl_control_plane/hectokens.py +44 -20
- cribl_control_plane/httpclient.py +0 -1
- cribl_control_plane/lakedatasets.py +156 -62
- cribl_control_plane/models/__init__.py +3298 -479
- 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 +62 -8
- 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/{createinputop.py → countedgitdiffresult.py} +5 -9
- 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/{createoutputop.py → countedoutputsamplesresponse.py} +5 -9
- 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 +26 -27
- cribl_control_plane/models/createcribllakedatasetbylakeidop.py +1 -19
- cribl_control_plane/models/createinputhectokenbyidop.py +1 -19
- cribl_control_plane/models/createoutputtestbyidop.py +1 -20
- cribl_control_plane/models/createroutesappendbyidop.py +4 -22
- cribl_control_plane/models/createversioncommitop.py +1 -19
- cribl_control_plane/models/createversionrevertop.py +3 -21
- cribl_control_plane/models/createversionundoop.py +1 -18
- 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/datasetmetadata.py +18 -2
- cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +18 -21
- cribl_control_plane/models/deletecribllakedatasetbylakeidandidop.py +1 -20
- cribl_control_plane/models/deleteinputbyidop.py +1 -20
- cribl_control_plane/models/deleteoutputbyidop.py +1 -20
- cribl_control_plane/models/deleteoutputpqbyidop.py +1 -19
- cribl_control_plane/models/deletepacksbyidop.py +1 -20
- 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 +24 -20
- cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +24 -20
- cribl_control_plane/models/getconfiggroupbyproductandidop.py +14 -19
- cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +18 -20
- cribl_control_plane/models/getcribllakedatasetbylakeidandidop.py +1 -20
- cribl_control_plane/models/getcribllakedatasetbylakeidop.py +54 -14
- cribl_control_plane/models/getfunctionsbyidop.py +18 -0
- cribl_control_plane/models/getinputbyidop.py +1 -20
- cribl_control_plane/models/getmasterworkerentryop.py +1 -18
- cribl_control_plane/models/getoutputbyidop.py +1 -20
- cribl_control_plane/models/getoutputpqbyidop.py +1 -19
- cribl_control_plane/models/getoutputsamplesbyidop.py +1 -20
- cribl_control_plane/models/getpacksbyidop.py +1 -20
- cribl_control_plane/models/getpacksop.py +1 -19
- cribl_control_plane/models/getpipelinebyidop.py +3 -22
- cribl_control_plane/models/getroutesbyidop.py +3 -22
- cribl_control_plane/models/getsummaryop.py +18 -20
- cribl_control_plane/models/getversioncountop.py +3 -21
- cribl_control_plane/models/getversiondiffop.py +1 -18
- cribl_control_plane/models/getversionfilesop.py +3 -22
- cribl_control_plane/models/getversionop.py +1 -19
- cribl_control_plane/models/getversionshowop.py +1 -18
- cribl_control_plane/models/getversionstatusop.py +1 -19
- cribl_control_plane/models/{routecloneconf.py → gitcountresult.py} +4 -4
- cribl_control_plane/models/gitdiffresult.py +16 -0
- cribl_control_plane/models/gitinfo.py +14 -3
- cribl_control_plane/models/gitshowresult.py +19 -0
- 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 +83 -78
- cribl_control_plane/models/inputappscope.py +126 -30
- cribl_control_plane/models/inputazureblob.py +62 -6
- cribl_control_plane/models/inputcloudflarehec.py +518 -0
- cribl_control_plane/models/inputcollection.py +47 -4
- cribl_control_plane/models/inputconfluentcloud.py +258 -32
- cribl_control_plane/models/inputcribl.py +47 -4
- cribl_control_plane/models/inputcriblhttp.py +121 -30
- cribl_control_plane/models/inputcribllakehttp.py +136 -30
- cribl_control_plane/models/inputcriblmetrics.py +48 -4
- cribl_control_plane/models/inputcribltcp.py +122 -24
- cribl_control_plane/models/inputcrowdstrike.py +92 -10
- cribl_control_plane/models/inputdatadogagent.py +98 -24
- cribl_control_plane/models/inputdatagen.py +47 -4
- cribl_control_plane/models/inputedgeprometheus.py +210 -50
- cribl_control_plane/models/inputelastic.py +167 -36
- cribl_control_plane/models/inputeventhub.py +209 -6
- cribl_control_plane/models/inputexec.py +59 -6
- cribl_control_plane/models/inputfile.py +78 -10
- cribl_control_plane/models/inputfirehose.py +97 -24
- cribl_control_plane/models/inputgooglepubsub.py +67 -6
- cribl_control_plane/models/inputgrafana.py +251 -71
- cribl_control_plane/models/inputhttp.py +97 -24
- cribl_control_plane/models/inputhttpraw.py +97 -24
- cribl_control_plane/models/inputjournalfiles.py +48 -4
- cribl_control_plane/models/inputkafka.py +252 -28
- cribl_control_plane/models/inputkinesis.py +130 -14
- cribl_control_plane/models/inputkubeevents.py +47 -4
- cribl_control_plane/models/inputkubelogs.py +61 -8
- cribl_control_plane/models/inputkubemetrics.py +61 -8
- cribl_control_plane/models/inputloki.py +113 -34
- cribl_control_plane/models/inputmetrics.py +97 -24
- cribl_control_plane/models/inputmodeldriventelemetry.py +107 -26
- cribl_control_plane/models/inputmsk.py +145 -32
- cribl_control_plane/models/inputnetflow.py +47 -4
- cribl_control_plane/models/inputoffice365mgmt.py +112 -14
- cribl_control_plane/models/inputoffice365msgtrace.py +114 -16
- cribl_control_plane/models/inputoffice365service.py +114 -16
- cribl_control_plane/models/inputopentelemetry.py +143 -32
- cribl_control_plane/models/inputprometheus.py +193 -44
- cribl_control_plane/models/inputprometheusrw.py +114 -27
- cribl_control_plane/models/inputrawudp.py +47 -4
- cribl_control_plane/models/inputs3.py +78 -8
- cribl_control_plane/models/inputs3inventory.py +92 -10
- cribl_control_plane/models/inputsecuritylake.py +93 -10
- cribl_control_plane/models/inputsnmp.py +112 -21
- cribl_control_plane/models/inputsplunk.py +130 -28
- cribl_control_plane/models/inputsplunkhec.py +119 -29
- cribl_control_plane/models/inputsplunksearch.py +112 -15
- cribl_control_plane/models/inputsqs.py +99 -16
- cribl_control_plane/models/inputsyslog.py +189 -47
- cribl_control_plane/models/inputsystemmetrics.py +202 -32
- cribl_control_plane/models/inputsystemstate.py +61 -8
- cribl_control_plane/models/inputtcp.py +122 -26
- cribl_control_plane/models/inputtcpjson.py +112 -26
- cribl_control_plane/models/inputwef.py +144 -15
- cribl_control_plane/models/inputwindowsmetrics.py +186 -33
- cribl_control_plane/models/inputwineventlogs.py +93 -11
- cribl_control_plane/models/inputwiz.py +173 -8
- cribl_control_plane/models/inputwizwebhook.py +97 -24
- cribl_control_plane/models/inputzscalerhec.py +119 -29
- 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 +14 -19
- cribl_control_plane/models/listmasterworkerentryop.py +1 -19
- 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 +104 -90
- cribl_control_plane/models/outputazureblob.py +171 -18
- cribl_control_plane/models/outputazuredataexplorer.py +514 -90
- cribl_control_plane/models/outputazureeventhub.py +315 -31
- cribl_control_plane/models/outputazurelogs.py +145 -26
- cribl_control_plane/models/outputchronicle.py +532 -0
- cribl_control_plane/models/outputclickhouse.py +205 -34
- cribl_control_plane/models/outputcloudflarer2.py +632 -0
- cribl_control_plane/models/outputcloudwatch.py +129 -23
- cribl_control_plane/models/outputconfluentcloud.py +384 -57
- cribl_control_plane/models/outputcriblhttp.py +198 -31
- cribl_control_plane/models/outputcribllake.py +156 -16
- cribl_control_plane/models/outputcribltcp.py +194 -29
- cribl_control_plane/models/outputcrowdstrikenextgensiem.py +172 -28
- cribl_control_plane/models/outputdatabricks.py +501 -0
- cribl_control_plane/models/outputdatadog.py +199 -31
- cribl_control_plane/models/outputdataset.py +181 -29
- cribl_control_plane/models/outputdiskspool.py +17 -2
- cribl_control_plane/models/outputdls3.py +233 -24
- cribl_control_plane/models/outputdynatracehttp.py +208 -34
- cribl_control_plane/models/outputdynatraceotlp.py +210 -36
- cribl_control_plane/models/outputelastic.py +199 -30
- cribl_control_plane/models/outputelasticcloud.py +171 -26
- cribl_control_plane/models/outputexabeam.py +96 -10
- cribl_control_plane/models/outputfilesystem.py +139 -14
- cribl_control_plane/models/outputgooglechronicle.py +216 -35
- cribl_control_plane/models/outputgooglecloudlogging.py +174 -31
- cribl_control_plane/models/outputgooglecloudstorage.py +215 -24
- cribl_control_plane/models/outputgooglepubsub.py +131 -23
- cribl_control_plane/models/outputgrafanacloud.py +376 -74
- cribl_control_plane/models/outputgraphite.py +128 -25
- cribl_control_plane/models/outputhoneycomb.py +145 -26
- cribl_control_plane/models/outputhumiohec.py +162 -28
- cribl_control_plane/models/outputinfluxdb.py +165 -28
- cribl_control_plane/models/outputkafka.py +375 -52
- cribl_control_plane/models/outputkinesis.py +165 -27
- cribl_control_plane/models/outputloki.py +164 -34
- cribl_control_plane/models/outputmicrosoftfabric.py +540 -0
- cribl_control_plane/models/outputminio.py +225 -25
- cribl_control_plane/models/outputmsk.py +267 -54
- cribl_control_plane/models/outputnewrelic.py +171 -29
- cribl_control_plane/models/outputnewrelicevents.py +163 -28
- cribl_control_plane/models/outputopentelemetry.py +240 -40
- cribl_control_plane/models/outputprometheus.py +145 -26
- cribl_control_plane/models/outputring.py +49 -8
- cribl_control_plane/models/outputs3.py +233 -26
- cribl_control_plane/models/outputsecuritylake.py +179 -18
- cribl_control_plane/models/outputsentinel.py +172 -29
- cribl_control_plane/models/outputsentineloneaisiem.py +178 -32
- cribl_control_plane/models/outputservicenow.py +223 -38
- cribl_control_plane/models/outputsignalfx.py +145 -26
- cribl_control_plane/models/outputsns.py +143 -25
- cribl_control_plane/models/outputsplunk.py +206 -36
- cribl_control_plane/models/outputsplunkhec.py +238 -26
- cribl_control_plane/models/outputsplunklb.py +262 -42
- cribl_control_plane/models/outputsqs.py +163 -33
- cribl_control_plane/models/outputstatsd.py +127 -25
- cribl_control_plane/models/outputstatsdext.py +128 -25
- cribl_control_plane/models/outputsumologic.py +146 -25
- cribl_control_plane/models/outputsyslog.py +318 -46
- cribl_control_plane/models/outputtcpjson.py +186 -32
- cribl_control_plane/models/outputwavefront.py +145 -26
- cribl_control_plane/models/outputwebhook.py +211 -33
- cribl_control_plane/models/outputxsiam.py +143 -26
- cribl_control_plane/models/packinfo.py +8 -5
- cribl_control_plane/models/packinstallinfo.py +11 -8
- cribl_control_plane/models/piisettings_union.py +31 -0
- cribl_control_plane/models/productscore.py +2 -1
- 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/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/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 +19 -20
- cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +19 -21
- cribl_control_plane/models/updatecribllakedatasetbylakeidandidop.py +10 -25
- cribl_control_plane/models/updatehectokenrequest.py +7 -1
- cribl_control_plane/models/updateinputbyidop.py +1 -19
- cribl_control_plane/models/updateinputhectokenbyidandtokenop.py +1 -19
- cribl_control_plane/models/updateoutputbyidop.py +1 -19
- cribl_control_plane/models/updatepacksbyidop.py +1 -20
- cribl_control_plane/models/updatepacksop.py +25 -0
- cribl_control_plane/models/updatepipelinebyidop.py +5 -23
- cribl_control_plane/models/updateroutesbyidop.py +3 -21
- 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/workertypes.py +2 -1
- cribl_control_plane/nodes.py +37 -23
- cribl_control_plane/packs.py +292 -37
- cribl_control_plane/pipelines.py +98 -48
- cribl_control_plane/routes_sdk.py +86 -50
- cribl_control_plane/samples.py +32 -16
- cribl_control_plane/sdk.py +26 -6
- cribl_control_plane/settings.py +20 -0
- cribl_control_plane/sources.py +85 -33
- cribl_control_plane/statuses.py +16 -6
- cribl_control_plane/summaries.py +16 -6
- cribl_control_plane/system_sdk.py +20 -0
- cribl_control_plane/teams.py +16 -6
- cribl_control_plane/tokens.py +49 -21
- cribl_control_plane/utils/__init__.py +15 -3
- 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/unmarshal_json_response.py +15 -1
- cribl_control_plane/versions.py +11 -6
- cribl_control_plane/versions_configs.py +16 -6
- {cribl_control_plane-0.0.39.dist-info → cribl_control_plane-0.4.0b23.dist-info}/METADATA +99 -43
- cribl_control_plane-0.4.0b23.dist-info/RECORD +450 -0
- {cribl_control_plane-0.0.39.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/appmode.py +0 -13
- cribl_control_plane/models/createpipelineop.py +0 -24
- cribl_control_plane/models/createversionpushop.py +0 -23
- cribl_control_plane/models/healthstatus.py +0 -33
- cribl_control_plane-0.0.39.dist-info/RECORD +0 -315
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
+
from cribl_control_plane import models, utils
|
|
4
5
|
from cribl_control_plane.types import BaseModel
|
|
6
|
+
from cribl_control_plane.utils import validate_open_enum
|
|
5
7
|
from enum import Enum
|
|
6
8
|
import pydantic
|
|
9
|
+
from pydantic import field_serializer
|
|
10
|
+
from pydantic.functional_validators import PlainValidator
|
|
7
11
|
from typing import List, Optional
|
|
8
12
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
13
|
|
|
@@ -23,11 +27,16 @@ class OutputElasticCloudExtraHTTPHeader(BaseModel):
|
|
|
23
27
|
name: Optional[str] = None
|
|
24
28
|
|
|
25
29
|
|
|
26
|
-
class OutputElasticCloudFailedRequestLoggingMode(
|
|
30
|
+
class OutputElasticCloudFailedRequestLoggingMode(
|
|
31
|
+
str, Enum, metaclass=utils.OpenEnumMeta
|
|
32
|
+
):
|
|
27
33
|
r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
|
|
28
34
|
|
|
35
|
+
# Payload
|
|
29
36
|
PAYLOAD = "payload"
|
|
37
|
+
# Payload + Headers
|
|
30
38
|
PAYLOAD_AND_HEADERS = "payloadAndHeaders"
|
|
39
|
+
# None
|
|
31
40
|
NONE = "none"
|
|
32
41
|
|
|
33
42
|
|
|
@@ -42,7 +51,7 @@ class OutputElasticCloudExtraParam(BaseModel):
|
|
|
42
51
|
value: str
|
|
43
52
|
|
|
44
53
|
|
|
45
|
-
class OutputElasticCloudAuthenticationMethod(str, Enum):
|
|
54
|
+
class OutputElasticCloudAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
46
55
|
r"""Enter credentials directly, or select a stored secret"""
|
|
47
56
|
|
|
48
57
|
MANUAL = "manual"
|
|
@@ -53,19 +62,56 @@ class OutputElasticCloudAuthenticationMethod(str, Enum):
|
|
|
53
62
|
|
|
54
63
|
class OutputElasticCloudAuthTypedDict(TypedDict):
|
|
55
64
|
disabled: NotRequired[bool]
|
|
65
|
+
username: NotRequired[str]
|
|
66
|
+
password: NotRequired[str]
|
|
56
67
|
auth_type: NotRequired[OutputElasticCloudAuthenticationMethod]
|
|
57
68
|
r"""Enter credentials directly, or select a stored secret"""
|
|
69
|
+
credentials_secret: NotRequired[str]
|
|
70
|
+
r"""Select or create a secret that references your credentials"""
|
|
71
|
+
manual_api_key: NotRequired[str]
|
|
72
|
+
r"""Enter API key directly"""
|
|
73
|
+
text_secret: NotRequired[str]
|
|
74
|
+
r"""Select or create a stored text secret"""
|
|
58
75
|
|
|
59
76
|
|
|
60
77
|
class OutputElasticCloudAuth(BaseModel):
|
|
61
78
|
disabled: Optional[bool] = False
|
|
62
79
|
|
|
80
|
+
username: Optional[str] = None
|
|
81
|
+
|
|
82
|
+
password: Optional[str] = None
|
|
83
|
+
|
|
63
84
|
auth_type: Annotated[
|
|
64
|
-
|
|
85
|
+
Annotated[
|
|
86
|
+
Optional[OutputElasticCloudAuthenticationMethod],
|
|
87
|
+
PlainValidator(validate_open_enum(False)),
|
|
88
|
+
],
|
|
65
89
|
pydantic.Field(alias="authType"),
|
|
66
90
|
] = OutputElasticCloudAuthenticationMethod.MANUAL
|
|
67
91
|
r"""Enter credentials directly, or select a stored secret"""
|
|
68
92
|
|
|
93
|
+
credentials_secret: Annotated[
|
|
94
|
+
Optional[str], pydantic.Field(alias="credentialsSecret")
|
|
95
|
+
] = None
|
|
96
|
+
r"""Select or create a secret that references your credentials"""
|
|
97
|
+
|
|
98
|
+
manual_api_key: Annotated[Optional[str], pydantic.Field(alias="manualAPIKey")] = (
|
|
99
|
+
None
|
|
100
|
+
)
|
|
101
|
+
r"""Enter API key directly"""
|
|
102
|
+
|
|
103
|
+
text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None
|
|
104
|
+
r"""Select or create a stored text secret"""
|
|
105
|
+
|
|
106
|
+
@field_serializer("auth_type")
|
|
107
|
+
def serialize_auth_type(self, value):
|
|
108
|
+
if isinstance(value, str):
|
|
109
|
+
try:
|
|
110
|
+
return models.OutputElasticCloudAuthenticationMethod(value)
|
|
111
|
+
except ValueError:
|
|
112
|
+
return value
|
|
113
|
+
return value
|
|
114
|
+
|
|
69
115
|
|
|
70
116
|
class OutputElasticCloudResponseRetrySettingTypedDict(TypedDict):
|
|
71
117
|
http_status: float
|
|
@@ -121,36 +167,46 @@ class OutputElasticCloudTimeoutRetrySettings(BaseModel):
|
|
|
121
167
|
r"""The maximum backoff interval, in milliseconds, Cribl Stream should apply. Default (and minimum) is 10,000 ms (10 seconds); maximum is 180,000 ms (180 seconds)."""
|
|
122
168
|
|
|
123
169
|
|
|
124
|
-
class OutputElasticCloudBackpressureBehavior(str, Enum):
|
|
170
|
+
class OutputElasticCloudBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
125
171
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
126
172
|
|
|
173
|
+
# Block
|
|
127
174
|
BLOCK = "block"
|
|
175
|
+
# Drop
|
|
128
176
|
DROP = "drop"
|
|
177
|
+
# Persistent Queue
|
|
129
178
|
QUEUE = "queue"
|
|
130
179
|
|
|
131
180
|
|
|
132
|
-
class
|
|
181
|
+
class OutputElasticCloudMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
182
|
+
r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
|
|
183
|
+
|
|
184
|
+
# Error
|
|
185
|
+
ERROR = "error"
|
|
186
|
+
# Backpressure
|
|
187
|
+
ALWAYS = "always"
|
|
188
|
+
# Always On
|
|
189
|
+
BACKPRESSURE = "backpressure"
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
class OutputElasticCloudCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
133
193
|
r"""Codec to use to compress the persisted data"""
|
|
134
194
|
|
|
195
|
+
# None
|
|
135
196
|
NONE = "none"
|
|
197
|
+
# Gzip
|
|
136
198
|
GZIP = "gzip"
|
|
137
199
|
|
|
138
200
|
|
|
139
|
-
class OutputElasticCloudQueueFullBehavior(str, Enum):
|
|
201
|
+
class OutputElasticCloudQueueFullBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
140
202
|
r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
|
|
141
203
|
|
|
204
|
+
# Block
|
|
142
205
|
BLOCK = "block"
|
|
206
|
+
# Drop new data
|
|
143
207
|
DROP = "drop"
|
|
144
208
|
|
|
145
209
|
|
|
146
|
-
class OutputElasticCloudMode(str, Enum):
|
|
147
|
-
r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
|
|
148
|
-
|
|
149
|
-
ERROR = "error"
|
|
150
|
-
BACKPRESSURE = "backpressure"
|
|
151
|
-
ALWAYS = "always"
|
|
152
|
-
|
|
153
|
-
|
|
154
210
|
class OutputElasticCloudPqControlsTypedDict(TypedDict):
|
|
155
211
|
pass
|
|
156
212
|
|
|
@@ -215,6 +271,16 @@ class OutputElasticCloudTypedDict(TypedDict):
|
|
|
215
271
|
on_backpressure: NotRequired[OutputElasticCloudBackpressureBehavior]
|
|
216
272
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
217
273
|
description: NotRequired[str]
|
|
274
|
+
pq_strict_ordering: NotRequired[bool]
|
|
275
|
+
r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
|
|
276
|
+
pq_rate_per_sec: NotRequired[float]
|
|
277
|
+
r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
|
|
278
|
+
pq_mode: NotRequired[OutputElasticCloudMode]
|
|
279
|
+
r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
|
|
280
|
+
pq_max_buffer_size: NotRequired[float]
|
|
281
|
+
r"""The maximum number of events to hold in memory before writing the events to disk"""
|
|
282
|
+
pq_max_backpressure_sec: NotRequired[float]
|
|
283
|
+
r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
|
|
218
284
|
pq_max_file_size: NotRequired[str]
|
|
219
285
|
r"""The maximum size to store in each queue file before closing and optionally compressing (KB, MB, etc.)"""
|
|
220
286
|
pq_max_size: NotRequired[str]
|
|
@@ -225,8 +291,6 @@ class OutputElasticCloudTypedDict(TypedDict):
|
|
|
225
291
|
r"""Codec to use to compress the persisted data"""
|
|
226
292
|
pq_on_backpressure: NotRequired[OutputElasticCloudQueueFullBehavior]
|
|
227
293
|
r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
|
|
228
|
-
pq_mode: NotRequired[OutputElasticCloudMode]
|
|
229
|
-
r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
|
|
230
294
|
pq_controls: NotRequired[OutputElasticCloudPqControlsTypedDict]
|
|
231
295
|
|
|
232
296
|
|
|
@@ -295,7 +359,10 @@ class OutputElasticCloud(BaseModel):
|
|
|
295
359
|
r"""Headers to add to all events"""
|
|
296
360
|
|
|
297
361
|
failed_request_logging_mode: Annotated[
|
|
298
|
-
|
|
362
|
+
Annotated[
|
|
363
|
+
Optional[OutputElasticCloudFailedRequestLoggingMode],
|
|
364
|
+
PlainValidator(validate_open_enum(False)),
|
|
365
|
+
],
|
|
299
366
|
pydantic.Field(alias="failedRequestLoggingMode"),
|
|
300
367
|
] = OutputElasticCloudFailedRequestLoggingMode.NONE
|
|
301
368
|
r"""Data to log when a request fails. All headers are redacted by default, unless listed as safe headers below."""
|
|
@@ -336,17 +403,48 @@ class OutputElasticCloud(BaseModel):
|
|
|
336
403
|
|
|
337
404
|
response_honor_retry_after_header: Annotated[
|
|
338
405
|
Optional[bool], pydantic.Field(alias="responseHonorRetryAfterHeader")
|
|
339
|
-
] =
|
|
406
|
+
] = True
|
|
340
407
|
r"""Honor any Retry-After header that specifies a delay (in seconds) no longer than 180 seconds after the retry request. @{product} limits the delay to 180 seconds, even if the Retry-After header specifies a longer delay. When enabled, takes precedence over user-configured retry options. When disabled, all Retry-After headers are ignored."""
|
|
341
408
|
|
|
342
409
|
on_backpressure: Annotated[
|
|
343
|
-
|
|
410
|
+
Annotated[
|
|
411
|
+
Optional[OutputElasticCloudBackpressureBehavior],
|
|
412
|
+
PlainValidator(validate_open_enum(False)),
|
|
413
|
+
],
|
|
344
414
|
pydantic.Field(alias="onBackpressure"),
|
|
345
415
|
] = OutputElasticCloudBackpressureBehavior.BLOCK
|
|
346
416
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
347
417
|
|
|
348
418
|
description: Optional[str] = None
|
|
349
419
|
|
|
420
|
+
pq_strict_ordering: Annotated[
|
|
421
|
+
Optional[bool], pydantic.Field(alias="pqStrictOrdering")
|
|
422
|
+
] = True
|
|
423
|
+
r"""Use FIFO (first in, first out) processing. Disable to forward new events to receivers before queue is flushed."""
|
|
424
|
+
|
|
425
|
+
pq_rate_per_sec: Annotated[
|
|
426
|
+
Optional[float], pydantic.Field(alias="pqRatePerSec")
|
|
427
|
+
] = 0
|
|
428
|
+
r"""Throttling rate (in events per second) to impose while writing to Destinations from PQ. Defaults to 0, which disables throttling."""
|
|
429
|
+
|
|
430
|
+
pq_mode: Annotated[
|
|
431
|
+
Annotated[
|
|
432
|
+
Optional[OutputElasticCloudMode], PlainValidator(validate_open_enum(False))
|
|
433
|
+
],
|
|
434
|
+
pydantic.Field(alias="pqMode"),
|
|
435
|
+
] = OutputElasticCloudMode.ERROR
|
|
436
|
+
r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
|
|
437
|
+
|
|
438
|
+
pq_max_buffer_size: Annotated[
|
|
439
|
+
Optional[float], pydantic.Field(alias="pqMaxBufferSize")
|
|
440
|
+
] = 42
|
|
441
|
+
r"""The maximum number of events to hold in memory before writing the events to disk"""
|
|
442
|
+
|
|
443
|
+
pq_max_backpressure_sec: Annotated[
|
|
444
|
+
Optional[float], pydantic.Field(alias="pqMaxBackpressureSec")
|
|
445
|
+
] = 30
|
|
446
|
+
r"""How long (in seconds) to wait for backpressure to resolve before engaging the queue"""
|
|
447
|
+
|
|
350
448
|
pq_max_file_size: Annotated[
|
|
351
449
|
Optional[str], pydantic.Field(alias="pqMaxFileSize")
|
|
352
450
|
] = "1 MB"
|
|
@@ -361,21 +459,68 @@ class OutputElasticCloud(BaseModel):
|
|
|
361
459
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/<output-id>."""
|
|
362
460
|
|
|
363
461
|
pq_compress: Annotated[
|
|
364
|
-
|
|
462
|
+
Annotated[
|
|
463
|
+
Optional[OutputElasticCloudCompression],
|
|
464
|
+
PlainValidator(validate_open_enum(False)),
|
|
465
|
+
],
|
|
466
|
+
pydantic.Field(alias="pqCompress"),
|
|
365
467
|
] = OutputElasticCloudCompression.NONE
|
|
366
468
|
r"""Codec to use to compress the persisted data"""
|
|
367
469
|
|
|
368
470
|
pq_on_backpressure: Annotated[
|
|
369
|
-
|
|
471
|
+
Annotated[
|
|
472
|
+
Optional[OutputElasticCloudQueueFullBehavior],
|
|
473
|
+
PlainValidator(validate_open_enum(False)),
|
|
474
|
+
],
|
|
370
475
|
pydantic.Field(alias="pqOnBackpressure"),
|
|
371
476
|
] = OutputElasticCloudQueueFullBehavior.BLOCK
|
|
372
477
|
r"""How to handle events when the queue is exerting backpressure (full capacity or low disk). 'Block' is the same behavior as non-PQ blocking. 'Drop new data' throws away incoming data, while leaving the contents of the PQ unchanged."""
|
|
373
478
|
|
|
374
|
-
pq_mode: Annotated[
|
|
375
|
-
Optional[OutputElasticCloudMode], pydantic.Field(alias="pqMode")
|
|
376
|
-
] = OutputElasticCloudMode.ERROR
|
|
377
|
-
r"""In Error mode, PQ writes events to the filesystem if the Destination is unavailable. In Backpressure mode, PQ writes events to the filesystem when it detects backpressure from the Destination. In Always On mode, PQ always writes events to the filesystem."""
|
|
378
|
-
|
|
379
479
|
pq_controls: Annotated[
|
|
380
480
|
Optional[OutputElasticCloudPqControls], pydantic.Field(alias="pqControls")
|
|
381
481
|
] = None
|
|
482
|
+
|
|
483
|
+
@field_serializer("failed_request_logging_mode")
|
|
484
|
+
def serialize_failed_request_logging_mode(self, value):
|
|
485
|
+
if isinstance(value, str):
|
|
486
|
+
try:
|
|
487
|
+
return models.OutputElasticCloudFailedRequestLoggingMode(value)
|
|
488
|
+
except ValueError:
|
|
489
|
+
return value
|
|
490
|
+
return value
|
|
491
|
+
|
|
492
|
+
@field_serializer("on_backpressure")
|
|
493
|
+
def serialize_on_backpressure(self, value):
|
|
494
|
+
if isinstance(value, str):
|
|
495
|
+
try:
|
|
496
|
+
return models.OutputElasticCloudBackpressureBehavior(value)
|
|
497
|
+
except ValueError:
|
|
498
|
+
return value
|
|
499
|
+
return value
|
|
500
|
+
|
|
501
|
+
@field_serializer("pq_mode")
|
|
502
|
+
def serialize_pq_mode(self, value):
|
|
503
|
+
if isinstance(value, str):
|
|
504
|
+
try:
|
|
505
|
+
return models.OutputElasticCloudMode(value)
|
|
506
|
+
except ValueError:
|
|
507
|
+
return value
|
|
508
|
+
return value
|
|
509
|
+
|
|
510
|
+
@field_serializer("pq_compress")
|
|
511
|
+
def serialize_pq_compress(self, value):
|
|
512
|
+
if isinstance(value, str):
|
|
513
|
+
try:
|
|
514
|
+
return models.OutputElasticCloudCompression(value)
|
|
515
|
+
except ValueError:
|
|
516
|
+
return value
|
|
517
|
+
return value
|
|
518
|
+
|
|
519
|
+
@field_serializer("pq_on_backpressure")
|
|
520
|
+
def serialize_pq_on_backpressure(self, value):
|
|
521
|
+
if isinstance(value, str):
|
|
522
|
+
try:
|
|
523
|
+
return models.OutputElasticCloudQueueFullBehavior(value)
|
|
524
|
+
except ValueError:
|
|
525
|
+
return value
|
|
526
|
+
return value
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
+
from cribl_control_plane import models, utils
|
|
4
5
|
from cribl_control_plane.types import BaseModel
|
|
6
|
+
from cribl_control_plane.utils import validate_open_enum
|
|
5
7
|
from enum import Enum
|
|
6
8
|
import pydantic
|
|
9
|
+
from pydantic import field_serializer
|
|
10
|
+
from pydantic.functional_validators import PlainValidator
|
|
7
11
|
from typing import List, Optional
|
|
8
12
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
13
|
|
|
@@ -12,44 +16,58 @@ class OutputExabeamType(str, Enum):
|
|
|
12
16
|
EXABEAM = "exabeam"
|
|
13
17
|
|
|
14
18
|
|
|
15
|
-
class OutputExabeamSignatureVersion(str, Enum):
|
|
19
|
+
class OutputExabeamSignatureVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
16
20
|
r"""Signature version to use for signing Google Cloud Storage requests"""
|
|
17
21
|
|
|
18
22
|
V2 = "v2"
|
|
19
23
|
V4 = "v4"
|
|
20
24
|
|
|
21
25
|
|
|
22
|
-
class OutputExabeamObjectACL(str, Enum):
|
|
26
|
+
class OutputExabeamObjectACL(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
23
27
|
r"""Object ACL to assign to uploaded objects"""
|
|
24
28
|
|
|
29
|
+
# private
|
|
25
30
|
PRIVATE = "private"
|
|
31
|
+
# bucket-owner-read
|
|
26
32
|
BUCKET_OWNER_READ = "bucket-owner-read"
|
|
33
|
+
# bucket-owner-full-control
|
|
27
34
|
BUCKET_OWNER_FULL_CONTROL = "bucket-owner-full-control"
|
|
35
|
+
# project-private
|
|
28
36
|
PROJECT_PRIVATE = "project-private"
|
|
37
|
+
# authenticated-read
|
|
29
38
|
AUTHENTICATED_READ = "authenticated-read"
|
|
39
|
+
# public-read
|
|
30
40
|
PUBLIC_READ = "public-read"
|
|
31
41
|
|
|
32
42
|
|
|
33
|
-
class OutputExabeamStorageClass(str, Enum):
|
|
43
|
+
class OutputExabeamStorageClass(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
34
44
|
r"""Storage class to select for uploaded objects"""
|
|
35
45
|
|
|
46
|
+
# Standard Storage
|
|
36
47
|
STANDARD = "STANDARD"
|
|
48
|
+
# Nearline Storage
|
|
37
49
|
NEARLINE = "NEARLINE"
|
|
50
|
+
# Coldline Storage
|
|
38
51
|
COLDLINE = "COLDLINE"
|
|
52
|
+
# Archive Storage
|
|
39
53
|
ARCHIVE = "ARCHIVE"
|
|
40
54
|
|
|
41
55
|
|
|
42
|
-
class OutputExabeamBackpressureBehavior(str, Enum):
|
|
56
|
+
class OutputExabeamBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
43
57
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
44
58
|
|
|
59
|
+
# Block
|
|
45
60
|
BLOCK = "block"
|
|
61
|
+
# Drop
|
|
46
62
|
DROP = "drop"
|
|
47
63
|
|
|
48
64
|
|
|
49
|
-
class OutputExabeamDiskSpaceProtection(str, Enum):
|
|
65
|
+
class OutputExabeamDiskSpaceProtection(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
50
66
|
r"""How to handle events when disk space is below the global 'Min free disk space' limit"""
|
|
51
67
|
|
|
68
|
+
# Block
|
|
52
69
|
BLOCK = "block"
|
|
70
|
+
# Drop
|
|
53
71
|
DROP = "drop"
|
|
54
72
|
|
|
55
73
|
|
|
@@ -119,6 +137,8 @@ class OutputExabeamTypedDict(TypedDict):
|
|
|
119
137
|
description: NotRequired[str]
|
|
120
138
|
empty_dir_cleanup_sec: NotRequired[float]
|
|
121
139
|
r"""How frequently, in seconds, to clean up empty directories"""
|
|
140
|
+
directory_batch_size: NotRequired[float]
|
|
141
|
+
r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory."""
|
|
122
142
|
deadletter_path: NotRequired[str]
|
|
123
143
|
r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded"""
|
|
124
144
|
max_retry_num: NotRequired[float]
|
|
@@ -165,18 +185,28 @@ class OutputExabeam(BaseModel):
|
|
|
165
185
|
r"""Google Cloud Storage service endpoint"""
|
|
166
186
|
|
|
167
187
|
signature_version: Annotated[
|
|
168
|
-
|
|
188
|
+
Annotated[
|
|
189
|
+
Optional[OutputExabeamSignatureVersion],
|
|
190
|
+
PlainValidator(validate_open_enum(False)),
|
|
191
|
+
],
|
|
169
192
|
pydantic.Field(alias="signatureVersion"),
|
|
170
193
|
] = OutputExabeamSignatureVersion.V4
|
|
171
194
|
r"""Signature version to use for signing Google Cloud Storage requests"""
|
|
172
195
|
|
|
173
196
|
object_acl: Annotated[
|
|
174
|
-
|
|
197
|
+
Annotated[
|
|
198
|
+
Optional[OutputExabeamObjectACL], PlainValidator(validate_open_enum(False))
|
|
199
|
+
],
|
|
200
|
+
pydantic.Field(alias="objectACL"),
|
|
175
201
|
] = OutputExabeamObjectACL.PRIVATE
|
|
176
202
|
r"""Object ACL to assign to uploaded objects"""
|
|
177
203
|
|
|
178
204
|
storage_class: Annotated[
|
|
179
|
-
|
|
205
|
+
Annotated[
|
|
206
|
+
Optional[OutputExabeamStorageClass],
|
|
207
|
+
PlainValidator(validate_open_enum(False)),
|
|
208
|
+
],
|
|
209
|
+
pydantic.Field(alias="storageClass"),
|
|
180
210
|
] = None
|
|
181
211
|
r"""Storage class to select for uploaded objects"""
|
|
182
212
|
|
|
@@ -216,7 +246,10 @@ class OutputExabeam(BaseModel):
|
|
|
216
246
|
r"""Maximum number of files to keep open concurrently. When exceeded, @{product} will close the oldest open files and move them to the final output location."""
|
|
217
247
|
|
|
218
248
|
on_backpressure: Annotated[
|
|
219
|
-
|
|
249
|
+
Annotated[
|
|
250
|
+
Optional[OutputExabeamBackpressureBehavior],
|
|
251
|
+
PlainValidator(validate_open_enum(False)),
|
|
252
|
+
],
|
|
220
253
|
pydantic.Field(alias="onBackpressure"),
|
|
221
254
|
] = OutputExabeamBackpressureBehavior.BLOCK
|
|
222
255
|
r"""How to handle events when all receivers are exerting backpressure"""
|
|
@@ -227,7 +260,10 @@ class OutputExabeam(BaseModel):
|
|
|
227
260
|
r"""If a file fails to move to its final destination after the maximum number of retries, move it to a designated directory to prevent further errors"""
|
|
228
261
|
|
|
229
262
|
on_disk_full_backpressure: Annotated[
|
|
230
|
-
|
|
263
|
+
Annotated[
|
|
264
|
+
Optional[OutputExabeamDiskSpaceProtection],
|
|
265
|
+
PlainValidator(validate_open_enum(False)),
|
|
266
|
+
],
|
|
231
267
|
pydantic.Field(alias="onDiskFullBackpressure"),
|
|
232
268
|
] = OutputExabeamDiskSpaceProtection.BLOCK
|
|
233
269
|
r"""How to handle events when disk space is below the global 'Min free disk space' limit"""
|
|
@@ -267,6 +303,11 @@ class OutputExabeam(BaseModel):
|
|
|
267
303
|
] = 300
|
|
268
304
|
r"""How frequently, in seconds, to clean up empty directories"""
|
|
269
305
|
|
|
306
|
+
directory_batch_size: Annotated[
|
|
307
|
+
Optional[float], pydantic.Field(alias="directoryBatchSize")
|
|
308
|
+
] = 1000
|
|
309
|
+
r"""Number of directories to process in each batch during cleanup of empty directories. Minimum is 10, maximum is 10000. Higher values may require more memory."""
|
|
310
|
+
|
|
270
311
|
deadletter_path: Annotated[
|
|
271
312
|
Optional[str], pydantic.Field(alias="deadletterPath")
|
|
272
313
|
] = "$CRIBL_HOME/state/outputs/dead-letter"
|
|
@@ -274,3 +315,48 @@ class OutputExabeam(BaseModel):
|
|
|
274
315
|
|
|
275
316
|
max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = 20
|
|
276
317
|
r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered"""
|
|
318
|
+
|
|
319
|
+
@field_serializer("signature_version")
|
|
320
|
+
def serialize_signature_version(self, value):
|
|
321
|
+
if isinstance(value, str):
|
|
322
|
+
try:
|
|
323
|
+
return models.OutputExabeamSignatureVersion(value)
|
|
324
|
+
except ValueError:
|
|
325
|
+
return value
|
|
326
|
+
return value
|
|
327
|
+
|
|
328
|
+
@field_serializer("object_acl")
|
|
329
|
+
def serialize_object_acl(self, value):
|
|
330
|
+
if isinstance(value, str):
|
|
331
|
+
try:
|
|
332
|
+
return models.OutputExabeamObjectACL(value)
|
|
333
|
+
except ValueError:
|
|
334
|
+
return value
|
|
335
|
+
return value
|
|
336
|
+
|
|
337
|
+
@field_serializer("storage_class")
|
|
338
|
+
def serialize_storage_class(self, value):
|
|
339
|
+
if isinstance(value, str):
|
|
340
|
+
try:
|
|
341
|
+
return models.OutputExabeamStorageClass(value)
|
|
342
|
+
except ValueError:
|
|
343
|
+
return value
|
|
344
|
+
return value
|
|
345
|
+
|
|
346
|
+
@field_serializer("on_backpressure")
|
|
347
|
+
def serialize_on_backpressure(self, value):
|
|
348
|
+
if isinstance(value, str):
|
|
349
|
+
try:
|
|
350
|
+
return models.OutputExabeamBackpressureBehavior(value)
|
|
351
|
+
except ValueError:
|
|
352
|
+
return value
|
|
353
|
+
return value
|
|
354
|
+
|
|
355
|
+
@field_serializer("on_disk_full_backpressure")
|
|
356
|
+
def serialize_on_disk_full_backpressure(self, value):
|
|
357
|
+
if isinstance(value, str):
|
|
358
|
+
try:
|
|
359
|
+
return models.OutputExabeamDiskSpaceProtection(value)
|
|
360
|
+
except ValueError:
|
|
361
|
+
return value
|
|
362
|
+
return value
|