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
|
@@ -0,0 +1,501 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from cribl_control_plane import models, utils
|
|
5
|
+
from cribl_control_plane.types import BaseModel
|
|
6
|
+
from cribl_control_plane.utils import validate_open_enum
|
|
7
|
+
from enum import Enum
|
|
8
|
+
import pydantic
|
|
9
|
+
from pydantic import field_serializer
|
|
10
|
+
from pydantic.functional_validators import PlainValidator
|
|
11
|
+
from typing import List, Optional
|
|
12
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class OutputDatabricksType(str, Enum):
|
|
16
|
+
DATABRICKS = "databricks"
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class OutputDatabricksDataFormat(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
20
|
+
r"""Format of the output data"""
|
|
21
|
+
|
|
22
|
+
# JSON
|
|
23
|
+
JSON = "json"
|
|
24
|
+
# Raw
|
|
25
|
+
RAW = "raw"
|
|
26
|
+
# Parquet
|
|
27
|
+
PARQUET = "parquet"
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
class OutputDatabricksBackpressureBehavior(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
31
|
+
r"""How to handle events when all receivers are exerting backpressure"""
|
|
32
|
+
|
|
33
|
+
# Block
|
|
34
|
+
BLOCK = "block"
|
|
35
|
+
# Drop
|
|
36
|
+
DROP = "drop"
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
class OutputDatabricksDiskSpaceProtection(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
40
|
+
r"""How to handle events when disk space is below the global 'Min free disk space' limit"""
|
|
41
|
+
|
|
42
|
+
# Block
|
|
43
|
+
BLOCK = "block"
|
|
44
|
+
# Drop
|
|
45
|
+
DROP = "drop"
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
class OutputDatabricksCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
49
|
+
r"""Data compression format to apply to HTTP content before it is delivered"""
|
|
50
|
+
|
|
51
|
+
NONE = "none"
|
|
52
|
+
GZIP = "gzip"
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
class OutputDatabricksCompressionLevel(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
56
|
+
r"""Compression level to apply before moving files to final destination"""
|
|
57
|
+
|
|
58
|
+
# Best Speed
|
|
59
|
+
BEST_SPEED = "best_speed"
|
|
60
|
+
# Normal
|
|
61
|
+
NORMAL = "normal"
|
|
62
|
+
# Best Compression
|
|
63
|
+
BEST_COMPRESSION = "best_compression"
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
class OutputDatabricksParquetVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
67
|
+
r"""Determines which data types are supported and how they are represented"""
|
|
68
|
+
|
|
69
|
+
# 1.0
|
|
70
|
+
PARQUET_1_0 = "PARQUET_1_0"
|
|
71
|
+
# 2.4
|
|
72
|
+
PARQUET_2_4 = "PARQUET_2_4"
|
|
73
|
+
# 2.6
|
|
74
|
+
PARQUET_2_6 = "PARQUET_2_6"
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
class OutputDatabricksDataPageVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
78
|
+
r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it."""
|
|
79
|
+
|
|
80
|
+
# V1
|
|
81
|
+
DATA_PAGE_V1 = "DATA_PAGE_V1"
|
|
82
|
+
# V2
|
|
83
|
+
DATA_PAGE_V2 = "DATA_PAGE_V2"
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
class OutputDatabricksKeyValueMetadatumTypedDict(TypedDict):
|
|
87
|
+
value: str
|
|
88
|
+
key: NotRequired[str]
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
class OutputDatabricksKeyValueMetadatum(BaseModel):
|
|
92
|
+
value: str
|
|
93
|
+
|
|
94
|
+
key: Optional[str] = ""
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
class OutputDatabricksTypedDict(TypedDict):
|
|
98
|
+
type: OutputDatabricksType
|
|
99
|
+
workspace_id: str
|
|
100
|
+
r"""Databricks workspace ID"""
|
|
101
|
+
client_id: str
|
|
102
|
+
r"""OAuth client ID for Unity Catalog authentication"""
|
|
103
|
+
client_text_secret: str
|
|
104
|
+
r"""OAuth client secret for Unity Catalog authentication"""
|
|
105
|
+
id: NotRequired[str]
|
|
106
|
+
r"""Unique ID for this output"""
|
|
107
|
+
pipeline: NotRequired[str]
|
|
108
|
+
r"""Pipeline to process data before sending out to this output"""
|
|
109
|
+
system_fields: NotRequired[List[str]]
|
|
110
|
+
r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards."""
|
|
111
|
+
environment: NotRequired[str]
|
|
112
|
+
r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere."""
|
|
113
|
+
streamtags: NotRequired[List[str]]
|
|
114
|
+
r"""Tags for filtering and grouping in @{product}"""
|
|
115
|
+
dest_path: NotRequired[str]
|
|
116
|
+
r"""Optional path to prepend to files before uploading."""
|
|
117
|
+
stage_path: NotRequired[str]
|
|
118
|
+
r"""Filesystem location in which to buffer files before compressing and moving to final destination. Use performant, stable storage."""
|
|
119
|
+
add_id_to_stage_path: NotRequired[bool]
|
|
120
|
+
r"""Add the Output ID value to staging location"""
|
|
121
|
+
remove_empty_dirs: NotRequired[bool]
|
|
122
|
+
r"""Remove empty staging directories after moving files"""
|
|
123
|
+
partition_expr: NotRequired[str]
|
|
124
|
+
r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory."""
|
|
125
|
+
format_: NotRequired[OutputDatabricksDataFormat]
|
|
126
|
+
r"""Format of the output data"""
|
|
127
|
+
base_file_name: NotRequired[str]
|
|
128
|
+
r"""JavaScript expression to define the output filename prefix (can be constant)"""
|
|
129
|
+
file_name_suffix: NotRequired[str]
|
|
130
|
+
r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`)."""
|
|
131
|
+
max_file_size_mb: NotRequired[float]
|
|
132
|
+
r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location."""
|
|
133
|
+
max_file_open_time_sec: NotRequired[float]
|
|
134
|
+
r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location."""
|
|
135
|
+
max_file_idle_time_sec: NotRequired[float]
|
|
136
|
+
r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location."""
|
|
137
|
+
max_open_files: NotRequired[float]
|
|
138
|
+
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."""
|
|
139
|
+
header_line: NotRequired[str]
|
|
140
|
+
r"""If set, this line will be written to the beginning of each output file"""
|
|
141
|
+
write_high_water_mark: NotRequired[float]
|
|
142
|
+
r"""Buffer size used to write to a file"""
|
|
143
|
+
on_backpressure: NotRequired[OutputDatabricksBackpressureBehavior]
|
|
144
|
+
r"""How to handle events when all receivers are exerting backpressure"""
|
|
145
|
+
deadletter_enabled: NotRequired[bool]
|
|
146
|
+
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"""
|
|
147
|
+
on_disk_full_backpressure: NotRequired[OutputDatabricksDiskSpaceProtection]
|
|
148
|
+
r"""How to handle events when disk space is below the global 'Min free disk space' limit"""
|
|
149
|
+
force_close_on_shutdown: NotRequired[bool]
|
|
150
|
+
r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss."""
|
|
151
|
+
scope: NotRequired[str]
|
|
152
|
+
r"""OAuth scope for Unity Catalog authentication"""
|
|
153
|
+
catalog: NotRequired[str]
|
|
154
|
+
r"""Name of the catalog to use for the output"""
|
|
155
|
+
schema_: NotRequired[str]
|
|
156
|
+
r"""Name of the catalog schema to use for the output"""
|
|
157
|
+
events_volume_name: NotRequired[str]
|
|
158
|
+
r"""Name of the events volume in Databricks"""
|
|
159
|
+
timeout_sec: NotRequired[float]
|
|
160
|
+
r"""Amount of time, in seconds, to wait for a request to complete before canceling it"""
|
|
161
|
+
description: NotRequired[str]
|
|
162
|
+
compress: NotRequired[OutputDatabricksCompression]
|
|
163
|
+
r"""Data compression format to apply to HTTP content before it is delivered"""
|
|
164
|
+
compression_level: NotRequired[OutputDatabricksCompressionLevel]
|
|
165
|
+
r"""Compression level to apply before moving files to final destination"""
|
|
166
|
+
automatic_schema: NotRequired[bool]
|
|
167
|
+
r"""Automatically calculate the schema based on the events of each Parquet file generated"""
|
|
168
|
+
parquet_schema: NotRequired[str]
|
|
169
|
+
r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas"""
|
|
170
|
+
parquet_version: NotRequired[OutputDatabricksParquetVersion]
|
|
171
|
+
r"""Determines which data types are supported and how they are represented"""
|
|
172
|
+
parquet_data_page_version: NotRequired[OutputDatabricksDataPageVersion]
|
|
173
|
+
r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it."""
|
|
174
|
+
parquet_row_group_length: NotRequired[float]
|
|
175
|
+
r"""The number of rows that every group will contain. The final group can contain a smaller number of rows."""
|
|
176
|
+
parquet_page_size: NotRequired[str]
|
|
177
|
+
r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression."""
|
|
178
|
+
should_log_invalid_rows: NotRequired[bool]
|
|
179
|
+
r"""Log up to 3 rows that @{product} skips due to data mismatch"""
|
|
180
|
+
key_value_metadata: NotRequired[List[OutputDatabricksKeyValueMetadatumTypedDict]]
|
|
181
|
+
r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """
|
|
182
|
+
enable_statistics: NotRequired[bool]
|
|
183
|
+
r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics."""
|
|
184
|
+
enable_write_page_index: NotRequired[bool]
|
|
185
|
+
r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping."""
|
|
186
|
+
enable_page_checksum: NotRequired[bool]
|
|
187
|
+
r"""Parquet tools can use the checksum of a Parquet page to verify data integrity"""
|
|
188
|
+
empty_dir_cleanup_sec: NotRequired[float]
|
|
189
|
+
r"""How frequently, in seconds, to clean up empty directories"""
|
|
190
|
+
directory_batch_size: NotRequired[float]
|
|
191
|
+
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."""
|
|
192
|
+
deadletter_path: NotRequired[str]
|
|
193
|
+
r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded"""
|
|
194
|
+
max_retry_num: NotRequired[float]
|
|
195
|
+
r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered"""
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
class OutputDatabricks(BaseModel):
|
|
199
|
+
type: OutputDatabricksType
|
|
200
|
+
|
|
201
|
+
workspace_id: Annotated[str, pydantic.Field(alias="workspaceId")]
|
|
202
|
+
r"""Databricks workspace ID"""
|
|
203
|
+
|
|
204
|
+
client_id: Annotated[str, pydantic.Field(alias="clientId")]
|
|
205
|
+
r"""OAuth client ID for Unity Catalog authentication"""
|
|
206
|
+
|
|
207
|
+
client_text_secret: Annotated[str, pydantic.Field(alias="clientTextSecret")]
|
|
208
|
+
r"""OAuth client secret for Unity Catalog authentication"""
|
|
209
|
+
|
|
210
|
+
id: Optional[str] = None
|
|
211
|
+
r"""Unique ID for this output"""
|
|
212
|
+
|
|
213
|
+
pipeline: Optional[str] = None
|
|
214
|
+
r"""Pipeline to process data before sending out to this output"""
|
|
215
|
+
|
|
216
|
+
system_fields: Annotated[
|
|
217
|
+
Optional[List[str]], pydantic.Field(alias="systemFields")
|
|
218
|
+
] = None
|
|
219
|
+
r"""Fields to automatically add to events, such as cribl_pipe. Supports wildcards."""
|
|
220
|
+
|
|
221
|
+
environment: Optional[str] = None
|
|
222
|
+
r"""Optionally, enable this config only on a specified Git branch. If empty, will be enabled everywhere."""
|
|
223
|
+
|
|
224
|
+
streamtags: Optional[List[str]] = None
|
|
225
|
+
r"""Tags for filtering and grouping in @{product}"""
|
|
226
|
+
|
|
227
|
+
dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = ""
|
|
228
|
+
r"""Optional path to prepend to files before uploading."""
|
|
229
|
+
|
|
230
|
+
stage_path: Annotated[Optional[str], pydantic.Field(alias="stagePath")] = (
|
|
231
|
+
"$CRIBL_HOME/state/outputs/staging"
|
|
232
|
+
)
|
|
233
|
+
r"""Filesystem location in which to buffer files before compressing and moving to final destination. Use performant, stable storage."""
|
|
234
|
+
|
|
235
|
+
add_id_to_stage_path: Annotated[
|
|
236
|
+
Optional[bool], pydantic.Field(alias="addIdToStagePath")
|
|
237
|
+
] = True
|
|
238
|
+
r"""Add the Output ID value to staging location"""
|
|
239
|
+
|
|
240
|
+
remove_empty_dirs: Annotated[
|
|
241
|
+
Optional[bool], pydantic.Field(alias="removeEmptyDirs")
|
|
242
|
+
] = True
|
|
243
|
+
r"""Remove empty staging directories after moving files"""
|
|
244
|
+
|
|
245
|
+
partition_expr: Annotated[Optional[str], pydantic.Field(alias="partitionExpr")] = (
|
|
246
|
+
"C.Time.strftime(_time ? _time : Date.now()/1000, '%Y/%m/%d')"
|
|
247
|
+
)
|
|
248
|
+
r"""JavaScript expression defining how files are partitioned and organized. Default is date-based. If blank, Stream will fall back to the event's __partition field value – if present – otherwise to each location's root directory."""
|
|
249
|
+
|
|
250
|
+
format_: Annotated[
|
|
251
|
+
Annotated[
|
|
252
|
+
Optional[OutputDatabricksDataFormat],
|
|
253
|
+
PlainValidator(validate_open_enum(False)),
|
|
254
|
+
],
|
|
255
|
+
pydantic.Field(alias="format"),
|
|
256
|
+
] = OutputDatabricksDataFormat.JSON
|
|
257
|
+
r"""Format of the output data"""
|
|
258
|
+
|
|
259
|
+
base_file_name: Annotated[Optional[str], pydantic.Field(alias="baseFileName")] = (
|
|
260
|
+
"`CriblOut`"
|
|
261
|
+
)
|
|
262
|
+
r"""JavaScript expression to define the output filename prefix (can be constant)"""
|
|
263
|
+
|
|
264
|
+
file_name_suffix: Annotated[
|
|
265
|
+
Optional[str], pydantic.Field(alias="fileNameSuffix")
|
|
266
|
+
] = '`.${C.env["CRIBL_WORKER_ID"]}.${__format}${__compression === "gzip" ? ".gz" : ""}`'
|
|
267
|
+
r"""JavaScript expression to define the output filename suffix (can be constant). The `__format` variable refers to the value of the `Data format` field (`json` or `raw`). The `__compression` field refers to the kind of compression being used (`none` or `gzip`)."""
|
|
268
|
+
|
|
269
|
+
max_file_size_mb: Annotated[
|
|
270
|
+
Optional[float], pydantic.Field(alias="maxFileSizeMB")
|
|
271
|
+
] = 32
|
|
272
|
+
r"""Maximum uncompressed output file size. Files of this size will be closed and moved to final output location."""
|
|
273
|
+
|
|
274
|
+
max_file_open_time_sec: Annotated[
|
|
275
|
+
Optional[float], pydantic.Field(alias="maxFileOpenTimeSec")
|
|
276
|
+
] = 300
|
|
277
|
+
r"""Maximum amount of time to write to a file. Files open for longer than this will be closed and moved to final output location."""
|
|
278
|
+
|
|
279
|
+
max_file_idle_time_sec: Annotated[
|
|
280
|
+
Optional[float], pydantic.Field(alias="maxFileIdleTimeSec")
|
|
281
|
+
] = 30
|
|
282
|
+
r"""Maximum amount of time to keep inactive files open. Files open for longer than this will be closed and moved to final output location."""
|
|
283
|
+
|
|
284
|
+
max_open_files: Annotated[Optional[float], pydantic.Field(alias="maxOpenFiles")] = (
|
|
285
|
+
100
|
|
286
|
+
)
|
|
287
|
+
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."""
|
|
288
|
+
|
|
289
|
+
header_line: Annotated[Optional[str], pydantic.Field(alias="headerLine")] = ""
|
|
290
|
+
r"""If set, this line will be written to the beginning of each output file"""
|
|
291
|
+
|
|
292
|
+
write_high_water_mark: Annotated[
|
|
293
|
+
Optional[float], pydantic.Field(alias="writeHighWaterMark")
|
|
294
|
+
] = 64
|
|
295
|
+
r"""Buffer size used to write to a file"""
|
|
296
|
+
|
|
297
|
+
on_backpressure: Annotated[
|
|
298
|
+
Annotated[
|
|
299
|
+
Optional[OutputDatabricksBackpressureBehavior],
|
|
300
|
+
PlainValidator(validate_open_enum(False)),
|
|
301
|
+
],
|
|
302
|
+
pydantic.Field(alias="onBackpressure"),
|
|
303
|
+
] = OutputDatabricksBackpressureBehavior.BLOCK
|
|
304
|
+
r"""How to handle events when all receivers are exerting backpressure"""
|
|
305
|
+
|
|
306
|
+
deadletter_enabled: Annotated[
|
|
307
|
+
Optional[bool], pydantic.Field(alias="deadletterEnabled")
|
|
308
|
+
] = False
|
|
309
|
+
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"""
|
|
310
|
+
|
|
311
|
+
on_disk_full_backpressure: Annotated[
|
|
312
|
+
Annotated[
|
|
313
|
+
Optional[OutputDatabricksDiskSpaceProtection],
|
|
314
|
+
PlainValidator(validate_open_enum(False)),
|
|
315
|
+
],
|
|
316
|
+
pydantic.Field(alias="onDiskFullBackpressure"),
|
|
317
|
+
] = OutputDatabricksDiskSpaceProtection.BLOCK
|
|
318
|
+
r"""How to handle events when disk space is below the global 'Min free disk space' limit"""
|
|
319
|
+
|
|
320
|
+
force_close_on_shutdown: Annotated[
|
|
321
|
+
Optional[bool], pydantic.Field(alias="forceCloseOnShutdown")
|
|
322
|
+
] = False
|
|
323
|
+
r"""Force all staged files to close during an orderly Node shutdown. This triggers immediate upload of in-progress data — regardless of idle time, file age, or size thresholds — to minimize data loss."""
|
|
324
|
+
|
|
325
|
+
scope: Optional[str] = "all-apis"
|
|
326
|
+
r"""OAuth scope for Unity Catalog authentication"""
|
|
327
|
+
|
|
328
|
+
catalog: Optional[str] = "main"
|
|
329
|
+
r"""Name of the catalog to use for the output"""
|
|
330
|
+
|
|
331
|
+
schema_: Annotated[Optional[str], pydantic.Field(alias="schema")] = "external"
|
|
332
|
+
r"""Name of the catalog schema to use for the output"""
|
|
333
|
+
|
|
334
|
+
events_volume_name: Annotated[
|
|
335
|
+
Optional[str], pydantic.Field(alias="eventsVolumeName")
|
|
336
|
+
] = "events"
|
|
337
|
+
r"""Name of the events volume in Databricks"""
|
|
338
|
+
|
|
339
|
+
timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = 60
|
|
340
|
+
r"""Amount of time, in seconds, to wait for a request to complete before canceling it"""
|
|
341
|
+
|
|
342
|
+
description: Optional[str] = None
|
|
343
|
+
|
|
344
|
+
compress: Annotated[
|
|
345
|
+
Optional[OutputDatabricksCompression], PlainValidator(validate_open_enum(False))
|
|
346
|
+
] = OutputDatabricksCompression.GZIP
|
|
347
|
+
r"""Data compression format to apply to HTTP content before it is delivered"""
|
|
348
|
+
|
|
349
|
+
compression_level: Annotated[
|
|
350
|
+
Annotated[
|
|
351
|
+
Optional[OutputDatabricksCompressionLevel],
|
|
352
|
+
PlainValidator(validate_open_enum(False)),
|
|
353
|
+
],
|
|
354
|
+
pydantic.Field(alias="compressionLevel"),
|
|
355
|
+
] = OutputDatabricksCompressionLevel.BEST_SPEED
|
|
356
|
+
r"""Compression level to apply before moving files to final destination"""
|
|
357
|
+
|
|
358
|
+
automatic_schema: Annotated[
|
|
359
|
+
Optional[bool], pydantic.Field(alias="automaticSchema")
|
|
360
|
+
] = False
|
|
361
|
+
r"""Automatically calculate the schema based on the events of each Parquet file generated"""
|
|
362
|
+
|
|
363
|
+
parquet_schema: Annotated[Optional[str], pydantic.Field(alias="parquetSchema")] = (
|
|
364
|
+
None
|
|
365
|
+
)
|
|
366
|
+
r"""To add a new schema, navigate to Processing > Knowledge > Parquet Schemas"""
|
|
367
|
+
|
|
368
|
+
parquet_version: Annotated[
|
|
369
|
+
Annotated[
|
|
370
|
+
Optional[OutputDatabricksParquetVersion],
|
|
371
|
+
PlainValidator(validate_open_enum(False)),
|
|
372
|
+
],
|
|
373
|
+
pydantic.Field(alias="parquetVersion"),
|
|
374
|
+
] = OutputDatabricksParquetVersion.PARQUET_2_6
|
|
375
|
+
r"""Determines which data types are supported and how they are represented"""
|
|
376
|
+
|
|
377
|
+
parquet_data_page_version: Annotated[
|
|
378
|
+
Annotated[
|
|
379
|
+
Optional[OutputDatabricksDataPageVersion],
|
|
380
|
+
PlainValidator(validate_open_enum(False)),
|
|
381
|
+
],
|
|
382
|
+
pydantic.Field(alias="parquetDataPageVersion"),
|
|
383
|
+
] = OutputDatabricksDataPageVersion.DATA_PAGE_V2
|
|
384
|
+
r"""Serialization format of data pages. Note that some reader implementations use Data page V2's attributes to work more efficiently, while others ignore it."""
|
|
385
|
+
|
|
386
|
+
parquet_row_group_length: Annotated[
|
|
387
|
+
Optional[float], pydantic.Field(alias="parquetRowGroupLength")
|
|
388
|
+
] = 10000
|
|
389
|
+
r"""The number of rows that every group will contain. The final group can contain a smaller number of rows."""
|
|
390
|
+
|
|
391
|
+
parquet_page_size: Annotated[
|
|
392
|
+
Optional[str], pydantic.Field(alias="parquetPageSize")
|
|
393
|
+
] = "1MB"
|
|
394
|
+
r"""Target memory size for page segments, such as 1MB or 128MB. Generally, lower values improve reading speed, while higher values improve compression."""
|
|
395
|
+
|
|
396
|
+
should_log_invalid_rows: Annotated[
|
|
397
|
+
Optional[bool], pydantic.Field(alias="shouldLogInvalidRows")
|
|
398
|
+
] = None
|
|
399
|
+
r"""Log up to 3 rows that @{product} skips due to data mismatch"""
|
|
400
|
+
|
|
401
|
+
key_value_metadata: Annotated[
|
|
402
|
+
Optional[List[OutputDatabricksKeyValueMetadatum]],
|
|
403
|
+
pydantic.Field(alias="keyValueMetadata"),
|
|
404
|
+
] = None
|
|
405
|
+
r"""The metadata of files the Destination writes will include the properties you add here as key-value pairs. Useful for tagging. Examples: \"key\":\"OCSF Event Class\", \"value\":\"9001\" """
|
|
406
|
+
|
|
407
|
+
enable_statistics: Annotated[
|
|
408
|
+
Optional[bool], pydantic.Field(alias="enableStatistics")
|
|
409
|
+
] = True
|
|
410
|
+
r"""Statistics profile an entire file in terms of minimum/maximum values within data, numbers of nulls, etc. You can use Parquet tools to view statistics."""
|
|
411
|
+
|
|
412
|
+
enable_write_page_index: Annotated[
|
|
413
|
+
Optional[bool], pydantic.Field(alias="enableWritePageIndex")
|
|
414
|
+
] = True
|
|
415
|
+
r"""One page index contains statistics for one data page. Parquet readers use statistics to enable page skipping."""
|
|
416
|
+
|
|
417
|
+
enable_page_checksum: Annotated[
|
|
418
|
+
Optional[bool], pydantic.Field(alias="enablePageChecksum")
|
|
419
|
+
] = False
|
|
420
|
+
r"""Parquet tools can use the checksum of a Parquet page to verify data integrity"""
|
|
421
|
+
|
|
422
|
+
empty_dir_cleanup_sec: Annotated[
|
|
423
|
+
Optional[float], pydantic.Field(alias="emptyDirCleanupSec")
|
|
424
|
+
] = 300
|
|
425
|
+
r"""How frequently, in seconds, to clean up empty directories"""
|
|
426
|
+
|
|
427
|
+
directory_batch_size: Annotated[
|
|
428
|
+
Optional[float], pydantic.Field(alias="directoryBatchSize")
|
|
429
|
+
] = 1000
|
|
430
|
+
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."""
|
|
431
|
+
|
|
432
|
+
deadletter_path: Annotated[
|
|
433
|
+
Optional[str], pydantic.Field(alias="deadletterPath")
|
|
434
|
+
] = "$CRIBL_HOME/state/outputs/dead-letter"
|
|
435
|
+
r"""Storage location for files that fail to reach their final destination after maximum retries are exceeded"""
|
|
436
|
+
|
|
437
|
+
max_retry_num: Annotated[Optional[float], pydantic.Field(alias="maxRetryNum")] = 20
|
|
438
|
+
r"""The maximum number of times a file will attempt to move to its final destination before being dead-lettered"""
|
|
439
|
+
|
|
440
|
+
@field_serializer("format_")
|
|
441
|
+
def serialize_format_(self, value):
|
|
442
|
+
if isinstance(value, str):
|
|
443
|
+
try:
|
|
444
|
+
return models.OutputDatabricksDataFormat(value)
|
|
445
|
+
except ValueError:
|
|
446
|
+
return value
|
|
447
|
+
return value
|
|
448
|
+
|
|
449
|
+
@field_serializer("on_backpressure")
|
|
450
|
+
def serialize_on_backpressure(self, value):
|
|
451
|
+
if isinstance(value, str):
|
|
452
|
+
try:
|
|
453
|
+
return models.OutputDatabricksBackpressureBehavior(value)
|
|
454
|
+
except ValueError:
|
|
455
|
+
return value
|
|
456
|
+
return value
|
|
457
|
+
|
|
458
|
+
@field_serializer("on_disk_full_backpressure")
|
|
459
|
+
def serialize_on_disk_full_backpressure(self, value):
|
|
460
|
+
if isinstance(value, str):
|
|
461
|
+
try:
|
|
462
|
+
return models.OutputDatabricksDiskSpaceProtection(value)
|
|
463
|
+
except ValueError:
|
|
464
|
+
return value
|
|
465
|
+
return value
|
|
466
|
+
|
|
467
|
+
@field_serializer("compress")
|
|
468
|
+
def serialize_compress(self, value):
|
|
469
|
+
if isinstance(value, str):
|
|
470
|
+
try:
|
|
471
|
+
return models.OutputDatabricksCompression(value)
|
|
472
|
+
except ValueError:
|
|
473
|
+
return value
|
|
474
|
+
return value
|
|
475
|
+
|
|
476
|
+
@field_serializer("compression_level")
|
|
477
|
+
def serialize_compression_level(self, value):
|
|
478
|
+
if isinstance(value, str):
|
|
479
|
+
try:
|
|
480
|
+
return models.OutputDatabricksCompressionLevel(value)
|
|
481
|
+
except ValueError:
|
|
482
|
+
return value
|
|
483
|
+
return value
|
|
484
|
+
|
|
485
|
+
@field_serializer("parquet_version")
|
|
486
|
+
def serialize_parquet_version(self, value):
|
|
487
|
+
if isinstance(value, str):
|
|
488
|
+
try:
|
|
489
|
+
return models.OutputDatabricksParquetVersion(value)
|
|
490
|
+
except ValueError:
|
|
491
|
+
return value
|
|
492
|
+
return value
|
|
493
|
+
|
|
494
|
+
@field_serializer("parquet_data_page_version")
|
|
495
|
+
def serialize_parquet_data_page_version(self, value):
|
|
496
|
+
if isinstance(value, str):
|
|
497
|
+
try:
|
|
498
|
+
return models.OutputDatabricksDataPageVersion(value)
|
|
499
|
+
except ValueError:
|
|
500
|
+
return value
|
|
501
|
+
return value
|