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,10 +1,14 @@
|
|
|
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
|
|
7
|
-
from
|
|
9
|
+
from pydantic import field_serializer
|
|
10
|
+
from pydantic.functional_validators import PlainValidator
|
|
11
|
+
from typing import List, Optional
|
|
8
12
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
13
|
|
|
10
14
|
|
|
@@ -23,20 +27,32 @@ class InputElasticConnection(BaseModel):
|
|
|
23
27
|
pipeline: Optional[str] = None
|
|
24
28
|
|
|
25
29
|
|
|
26
|
-
class InputElasticMode(str, Enum):
|
|
30
|
+
class InputElasticMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
27
31
|
r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
|
|
28
32
|
|
|
33
|
+
# Smart
|
|
29
34
|
SMART = "smart"
|
|
35
|
+
# Always On
|
|
30
36
|
ALWAYS = "always"
|
|
31
37
|
|
|
32
38
|
|
|
33
|
-
class InputElasticCompression(str, Enum):
|
|
39
|
+
class InputElasticCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
34
40
|
r"""Codec to use to compress the persisted data"""
|
|
35
41
|
|
|
42
|
+
# None
|
|
36
43
|
NONE = "none"
|
|
44
|
+
# Gzip
|
|
37
45
|
GZIP = "gzip"
|
|
38
46
|
|
|
39
47
|
|
|
48
|
+
class InputElasticPqControlsTypedDict(TypedDict):
|
|
49
|
+
pass
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
class InputElasticPqControls(BaseModel):
|
|
53
|
+
pass
|
|
54
|
+
|
|
55
|
+
|
|
40
56
|
class InputElasticPqTypedDict(TypedDict):
|
|
41
57
|
mode: NotRequired[InputElasticMode]
|
|
42
58
|
r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
|
|
@@ -52,10 +68,13 @@ class InputElasticPqTypedDict(TypedDict):
|
|
|
52
68
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
|
|
53
69
|
compress: NotRequired[InputElasticCompression]
|
|
54
70
|
r"""Codec to use to compress the persisted data"""
|
|
71
|
+
pq_controls: NotRequired[InputElasticPqControlsTypedDict]
|
|
55
72
|
|
|
56
73
|
|
|
57
74
|
class InputElasticPq(BaseModel):
|
|
58
|
-
mode:
|
|
75
|
+
mode: Annotated[
|
|
76
|
+
Optional[InputElasticMode], PlainValidator(validate_open_enum(False))
|
|
77
|
+
] = InputElasticMode.ALWAYS
|
|
59
78
|
r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
|
|
60
79
|
|
|
61
80
|
max_buffer_size: Annotated[
|
|
@@ -79,18 +98,42 @@ class InputElasticPq(BaseModel):
|
|
|
79
98
|
path: Optional[str] = "$CRIBL_HOME/state/queues"
|
|
80
99
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
|
|
81
100
|
|
|
82
|
-
compress:
|
|
101
|
+
compress: Annotated[
|
|
102
|
+
Optional[InputElasticCompression], PlainValidator(validate_open_enum(False))
|
|
103
|
+
] = InputElasticCompression.NONE
|
|
83
104
|
r"""Codec to use to compress the persisted data"""
|
|
84
105
|
|
|
106
|
+
pq_controls: Annotated[
|
|
107
|
+
Optional[InputElasticPqControls], pydantic.Field(alias="pqControls")
|
|
108
|
+
] = None
|
|
85
109
|
|
|
86
|
-
|
|
110
|
+
@field_serializer("mode")
|
|
111
|
+
def serialize_mode(self, value):
|
|
112
|
+
if isinstance(value, str):
|
|
113
|
+
try:
|
|
114
|
+
return models.InputElasticMode(value)
|
|
115
|
+
except ValueError:
|
|
116
|
+
return value
|
|
117
|
+
return value
|
|
118
|
+
|
|
119
|
+
@field_serializer("compress")
|
|
120
|
+
def serialize_compress(self, value):
|
|
121
|
+
if isinstance(value, str):
|
|
122
|
+
try:
|
|
123
|
+
return models.InputElasticCompression(value)
|
|
124
|
+
except ValueError:
|
|
125
|
+
return value
|
|
126
|
+
return value
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
class InputElasticMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
87
130
|
TL_SV1 = "TLSv1"
|
|
88
131
|
TL_SV1_1 = "TLSv1.1"
|
|
89
132
|
TL_SV1_2 = "TLSv1.2"
|
|
90
133
|
TL_SV1_3 = "TLSv1.3"
|
|
91
134
|
|
|
92
135
|
|
|
93
|
-
class InputElasticMaximumTLSVersion(str, Enum):
|
|
136
|
+
class InputElasticMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
94
137
|
TL_SV1 = "TLSv1"
|
|
95
138
|
TL_SV1_1 = "TLSv1.1"
|
|
96
139
|
TL_SV1_2 = "TLSv1.2"
|
|
@@ -99,6 +142,12 @@ class InputElasticMaximumTLSVersion(str, Enum):
|
|
|
99
142
|
|
|
100
143
|
class InputElasticTLSSettingsServerSideTypedDict(TypedDict):
|
|
101
144
|
disabled: NotRequired[bool]
|
|
145
|
+
request_cert: NotRequired[bool]
|
|
146
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
147
|
+
reject_unauthorized: NotRequired[bool]
|
|
148
|
+
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
149
|
+
common_name_regex: NotRequired[str]
|
|
150
|
+
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
102
151
|
certificate_name: NotRequired[str]
|
|
103
152
|
r"""The name of the predefined certificate"""
|
|
104
153
|
priv_key_path: NotRequired[str]
|
|
@@ -109,10 +158,6 @@ class InputElasticTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
109
158
|
r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
110
159
|
ca_path: NotRequired[str]
|
|
111
160
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
112
|
-
request_cert: NotRequired[bool]
|
|
113
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
114
|
-
reject_unauthorized: NotRequired[Any]
|
|
115
|
-
common_name_regex: NotRequired[Any]
|
|
116
161
|
min_version: NotRequired[InputElasticMinimumTLSVersion]
|
|
117
162
|
max_version: NotRequired[InputElasticMaximumTLSVersion]
|
|
118
163
|
|
|
@@ -120,6 +165,19 @@ class InputElasticTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
120
165
|
class InputElasticTLSSettingsServerSide(BaseModel):
|
|
121
166
|
disabled: Optional[bool] = True
|
|
122
167
|
|
|
168
|
+
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
169
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
170
|
+
|
|
171
|
+
reject_unauthorized: Annotated[
|
|
172
|
+
Optional[bool], pydantic.Field(alias="rejectUnauthorized")
|
|
173
|
+
] = True
|
|
174
|
+
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
175
|
+
|
|
176
|
+
common_name_regex: Annotated[
|
|
177
|
+
Optional[str], pydantic.Field(alias="commonNameRegex")
|
|
178
|
+
] = "/.*/"
|
|
179
|
+
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
180
|
+
|
|
123
181
|
certificate_name: Annotated[
|
|
124
182
|
Optional[str], pydantic.Field(alias="certificateName")
|
|
125
183
|
] = None
|
|
@@ -137,38 +195,60 @@ class InputElasticTLSSettingsServerSide(BaseModel):
|
|
|
137
195
|
ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
|
|
138
196
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
139
197
|
|
|
140
|
-
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
141
|
-
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
142
|
-
|
|
143
|
-
reject_unauthorized: Annotated[
|
|
144
|
-
Optional[Any], pydantic.Field(alias="rejectUnauthorized")
|
|
145
|
-
] = None
|
|
146
|
-
|
|
147
|
-
common_name_regex: Annotated[
|
|
148
|
-
Optional[Any], pydantic.Field(alias="commonNameRegex")
|
|
149
|
-
] = None
|
|
150
|
-
|
|
151
198
|
min_version: Annotated[
|
|
152
|
-
|
|
199
|
+
Annotated[
|
|
200
|
+
Optional[InputElasticMinimumTLSVersion],
|
|
201
|
+
PlainValidator(validate_open_enum(False)),
|
|
202
|
+
],
|
|
203
|
+
pydantic.Field(alias="minVersion"),
|
|
153
204
|
] = None
|
|
154
205
|
|
|
155
206
|
max_version: Annotated[
|
|
156
|
-
|
|
207
|
+
Annotated[
|
|
208
|
+
Optional[InputElasticMaximumTLSVersion],
|
|
209
|
+
PlainValidator(validate_open_enum(False)),
|
|
210
|
+
],
|
|
211
|
+
pydantic.Field(alias="maxVersion"),
|
|
157
212
|
] = None
|
|
158
213
|
|
|
159
|
-
|
|
160
|
-
|
|
214
|
+
@field_serializer("min_version")
|
|
215
|
+
def serialize_min_version(self, value):
|
|
216
|
+
if isinstance(value, str):
|
|
217
|
+
try:
|
|
218
|
+
return models.InputElasticMinimumTLSVersion(value)
|
|
219
|
+
except ValueError:
|
|
220
|
+
return value
|
|
221
|
+
return value
|
|
222
|
+
|
|
223
|
+
@field_serializer("max_version")
|
|
224
|
+
def serialize_max_version(self, value):
|
|
225
|
+
if isinstance(value, str):
|
|
226
|
+
try:
|
|
227
|
+
return models.InputElasticMaximumTLSVersion(value)
|
|
228
|
+
except ValueError:
|
|
229
|
+
return value
|
|
230
|
+
return value
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
class InputElasticAuthenticationType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
234
|
+
# None
|
|
161
235
|
NONE = "none"
|
|
236
|
+
# Basic
|
|
162
237
|
BASIC = "basic"
|
|
238
|
+
# Basic (credentials secret)
|
|
163
239
|
CREDENTIALS_SECRET = "credentialsSecret"
|
|
240
|
+
# Auth Tokens
|
|
164
241
|
AUTH_TOKENS = "authTokens"
|
|
165
242
|
|
|
166
243
|
|
|
167
|
-
class InputElasticAPIVersion(str, Enum):
|
|
244
|
+
class InputElasticAPIVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
168
245
|
r"""The API version to use for communicating with the server"""
|
|
169
246
|
|
|
247
|
+
# 6.8.4
|
|
170
248
|
SIX_DOT_8_DOT_4 = "6.8.4"
|
|
249
|
+
# 8.3.2
|
|
171
250
|
EIGHT_DOT_3_DOT_2 = "8.3.2"
|
|
251
|
+
# Custom
|
|
172
252
|
CUSTOM = "custom"
|
|
173
253
|
|
|
174
254
|
|
|
@@ -196,7 +276,7 @@ class InputElasticMetadatum(BaseModel):
|
|
|
196
276
|
r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
|
|
197
277
|
|
|
198
278
|
|
|
199
|
-
class InputElasticAuthenticationMethod(str, Enum):
|
|
279
|
+
class InputElasticAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
200
280
|
r"""Enter credentials directly, or select a stored secret"""
|
|
201
281
|
|
|
202
282
|
NONE = "none"
|
|
@@ -207,6 +287,12 @@ class InputElasticAuthenticationMethod(str, Enum):
|
|
|
207
287
|
class InputElasticProxyModeTypedDict(TypedDict):
|
|
208
288
|
enabled: NotRequired[bool]
|
|
209
289
|
r"""Enable proxying of non-bulk API requests to an external Elastic server. Enable this only if you understand the implications. See [Cribl Docs](https://docs.cribl.io/stream/sources-elastic/#proxy-mode) for more details."""
|
|
290
|
+
auth_type: NotRequired[InputElasticAuthenticationMethod]
|
|
291
|
+
r"""Enter credentials directly, or select a stored secret"""
|
|
292
|
+
username: NotRequired[str]
|
|
293
|
+
password: NotRequired[str]
|
|
294
|
+
credentials_secret: NotRequired[str]
|
|
295
|
+
r"""Select or create a secret that references your credentials"""
|
|
210
296
|
url: NotRequired[str]
|
|
211
297
|
r"""URL of the Elastic server to proxy non-bulk requests to, such as http://elastic:9200"""
|
|
212
298
|
reject_unauthorized: NotRequired[bool]
|
|
@@ -215,14 +301,30 @@ class InputElasticProxyModeTypedDict(TypedDict):
|
|
|
215
301
|
r"""List of headers to remove from the request to proxy"""
|
|
216
302
|
timeout_sec: NotRequired[float]
|
|
217
303
|
r"""Amount of time, in seconds, to wait for a proxy request to complete before canceling it"""
|
|
218
|
-
auth_type: NotRequired[InputElasticAuthenticationMethod]
|
|
219
|
-
r"""Enter credentials directly, or select a stored secret"""
|
|
220
304
|
|
|
221
305
|
|
|
222
306
|
class InputElasticProxyMode(BaseModel):
|
|
223
307
|
enabled: Optional[bool] = False
|
|
224
308
|
r"""Enable proxying of non-bulk API requests to an external Elastic server. Enable this only if you understand the implications. See [Cribl Docs](https://docs.cribl.io/stream/sources-elastic/#proxy-mode) for more details."""
|
|
225
309
|
|
|
310
|
+
auth_type: Annotated[
|
|
311
|
+
Annotated[
|
|
312
|
+
Optional[InputElasticAuthenticationMethod],
|
|
313
|
+
PlainValidator(validate_open_enum(False)),
|
|
314
|
+
],
|
|
315
|
+
pydantic.Field(alias="authType"),
|
|
316
|
+
] = InputElasticAuthenticationMethod.NONE
|
|
317
|
+
r"""Enter credentials directly, or select a stored secret"""
|
|
318
|
+
|
|
319
|
+
username: Optional[str] = None
|
|
320
|
+
|
|
321
|
+
password: Optional[str] = None
|
|
322
|
+
|
|
323
|
+
credentials_secret: Annotated[
|
|
324
|
+
Optional[str], pydantic.Field(alias="credentialsSecret")
|
|
325
|
+
] = None
|
|
326
|
+
r"""Select or create a secret that references your credentials"""
|
|
327
|
+
|
|
226
328
|
url: Optional[str] = None
|
|
227
329
|
r"""URL of the Elastic server to proxy non-bulk requests to, such as http://elastic:9200"""
|
|
228
330
|
|
|
@@ -239,10 +341,14 @@ class InputElasticProxyMode(BaseModel):
|
|
|
239
341
|
timeout_sec: Annotated[Optional[float], pydantic.Field(alias="timeoutSec")] = 60
|
|
240
342
|
r"""Amount of time, in seconds, to wait for a proxy request to complete before canceling it"""
|
|
241
343
|
|
|
242
|
-
auth_type
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
344
|
+
@field_serializer("auth_type")
|
|
345
|
+
def serialize_auth_type(self, value):
|
|
346
|
+
if isinstance(value, str):
|
|
347
|
+
try:
|
|
348
|
+
return models.InputElasticAuthenticationMethod(value)
|
|
349
|
+
except ValueError:
|
|
350
|
+
return value
|
|
351
|
+
return value
|
|
246
352
|
|
|
247
353
|
|
|
248
354
|
class InputElasticTypedDict(TypedDict):
|
|
@@ -408,11 +514,18 @@ class InputElastic(BaseModel):
|
|
|
408
514
|
r"""Absolute path on which to listen for Elasticsearch API requests. Defaults to /. _bulk will be appended automatically. For example, /myPath becomes /myPath/_bulk. Requests can then be made to either /myPath/_bulk or /myPath/<myIndexName>/_bulk. Other entries are faked as success."""
|
|
409
515
|
|
|
410
516
|
auth_type: Annotated[
|
|
411
|
-
|
|
517
|
+
Annotated[
|
|
518
|
+
Optional[InputElasticAuthenticationType],
|
|
519
|
+
PlainValidator(validate_open_enum(False)),
|
|
520
|
+
],
|
|
521
|
+
pydantic.Field(alias="authType"),
|
|
412
522
|
] = InputElasticAuthenticationType.NONE
|
|
413
523
|
|
|
414
524
|
api_version: Annotated[
|
|
415
|
-
|
|
525
|
+
Annotated[
|
|
526
|
+
Optional[InputElasticAPIVersion], PlainValidator(validate_open_enum(False))
|
|
527
|
+
],
|
|
528
|
+
pydantic.Field(alias="apiVersion"),
|
|
416
529
|
] = InputElasticAPIVersion.EIGHT_DOT_3_DOT_2
|
|
417
530
|
r"""The API version to use for communicating with the server"""
|
|
418
531
|
|
|
@@ -466,3 +579,21 @@ class InputElastic(BaseModel):
|
|
|
466
579
|
"}"
|
|
467
580
|
)
|
|
468
581
|
r"""Custom version information to respond to requests"""
|
|
582
|
+
|
|
583
|
+
@field_serializer("auth_type")
|
|
584
|
+
def serialize_auth_type(self, value):
|
|
585
|
+
if isinstance(value, str):
|
|
586
|
+
try:
|
|
587
|
+
return models.InputElasticAuthenticationType(value)
|
|
588
|
+
except ValueError:
|
|
589
|
+
return value
|
|
590
|
+
return value
|
|
591
|
+
|
|
592
|
+
@field_serializer("api_version")
|
|
593
|
+
def serialize_api_version(self, value):
|
|
594
|
+
if isinstance(value, str):
|
|
595
|
+
try:
|
|
596
|
+
return models.InputElasticAPIVersion(value)
|
|
597
|
+
except ValueError:
|
|
598
|
+
return value
|
|
599
|
+
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
|
|
|
@@ -23,20 +27,32 @@ class InputEventhubConnection(BaseModel):
|
|
|
23
27
|
pipeline: Optional[str] = None
|
|
24
28
|
|
|
25
29
|
|
|
26
|
-
class InputEventhubMode(str, Enum):
|
|
30
|
+
class InputEventhubMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
27
31
|
r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
|
|
28
32
|
|
|
33
|
+
# Smart
|
|
29
34
|
SMART = "smart"
|
|
35
|
+
# Always On
|
|
30
36
|
ALWAYS = "always"
|
|
31
37
|
|
|
32
38
|
|
|
33
|
-
class InputEventhubCompression(str, Enum):
|
|
39
|
+
class InputEventhubCompression(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
34
40
|
r"""Codec to use to compress the persisted data"""
|
|
35
41
|
|
|
42
|
+
# None
|
|
36
43
|
NONE = "none"
|
|
44
|
+
# Gzip
|
|
37
45
|
GZIP = "gzip"
|
|
38
46
|
|
|
39
47
|
|
|
48
|
+
class InputEventhubPqControlsTypedDict(TypedDict):
|
|
49
|
+
pass
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
class InputEventhubPqControls(BaseModel):
|
|
53
|
+
pass
|
|
54
|
+
|
|
55
|
+
|
|
40
56
|
class InputEventhubPqTypedDict(TypedDict):
|
|
41
57
|
mode: NotRequired[InputEventhubMode]
|
|
42
58
|
r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
|
|
@@ -52,10 +68,13 @@ class InputEventhubPqTypedDict(TypedDict):
|
|
|
52
68
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
|
|
53
69
|
compress: NotRequired[InputEventhubCompression]
|
|
54
70
|
r"""Codec to use to compress the persisted data"""
|
|
71
|
+
pq_controls: NotRequired[InputEventhubPqControlsTypedDict]
|
|
55
72
|
|
|
56
73
|
|
|
57
74
|
class InputEventhubPq(BaseModel):
|
|
58
|
-
mode:
|
|
75
|
+
mode: Annotated[
|
|
76
|
+
Optional[InputEventhubMode], PlainValidator(validate_open_enum(False))
|
|
77
|
+
] = InputEventhubMode.ALWAYS
|
|
59
78
|
r"""With Smart mode, PQ will write events to the filesystem only when it detects backpressure from the processing engine. With Always On mode, PQ will always write events directly to the queue before forwarding them to the processing engine."""
|
|
60
79
|
|
|
61
80
|
max_buffer_size: Annotated[
|
|
@@ -79,20 +98,101 @@ class InputEventhubPq(BaseModel):
|
|
|
79
98
|
path: Optional[str] = "$CRIBL_HOME/state/queues"
|
|
80
99
|
r"""The location for the persistent queue files. To this field's value, the system will append: /<worker-id>/inputs/<input-id>"""
|
|
81
100
|
|
|
82
|
-
compress:
|
|
101
|
+
compress: Annotated[
|
|
102
|
+
Optional[InputEventhubCompression], PlainValidator(validate_open_enum(False))
|
|
103
|
+
] = InputEventhubCompression.NONE
|
|
83
104
|
r"""Codec to use to compress the persisted data"""
|
|
84
105
|
|
|
106
|
+
pq_controls: Annotated[
|
|
107
|
+
Optional[InputEventhubPqControls], pydantic.Field(alias="pqControls")
|
|
108
|
+
] = None
|
|
109
|
+
|
|
110
|
+
@field_serializer("mode")
|
|
111
|
+
def serialize_mode(self, value):
|
|
112
|
+
if isinstance(value, str):
|
|
113
|
+
try:
|
|
114
|
+
return models.InputEventhubMode(value)
|
|
115
|
+
except ValueError:
|
|
116
|
+
return value
|
|
117
|
+
return value
|
|
118
|
+
|
|
119
|
+
@field_serializer("compress")
|
|
120
|
+
def serialize_compress(self, value):
|
|
121
|
+
if isinstance(value, str):
|
|
122
|
+
try:
|
|
123
|
+
return models.InputEventhubCompression(value)
|
|
124
|
+
except ValueError:
|
|
125
|
+
return value
|
|
126
|
+
return value
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
class InputEventhubAuthTypeAuthenticationMethod(
|
|
130
|
+
str, Enum, metaclass=utils.OpenEnumMeta
|
|
131
|
+
):
|
|
132
|
+
r"""Enter password directly, or select a stored secret"""
|
|
133
|
+
|
|
134
|
+
MANUAL = "manual"
|
|
135
|
+
SECRET = "secret"
|
|
85
136
|
|
|
86
|
-
|
|
137
|
+
|
|
138
|
+
class InputEventhubSASLMechanism(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
139
|
+
# PLAIN
|
|
87
140
|
PLAIN = "plain"
|
|
141
|
+
# OAUTHBEARER
|
|
88
142
|
OAUTHBEARER = "oauthbearer"
|
|
89
143
|
|
|
90
144
|
|
|
145
|
+
class InputEventhubClientSecretAuthTypeAuthenticationMethod(
|
|
146
|
+
str, Enum, metaclass=utils.OpenEnumMeta
|
|
147
|
+
):
|
|
148
|
+
MANUAL = "manual"
|
|
149
|
+
SECRET = "secret"
|
|
150
|
+
CERTIFICATE = "certificate"
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
class InputEventhubMicrosoftEntraIDAuthenticationEndpoint(
|
|
154
|
+
str, Enum, metaclass=utils.OpenEnumMeta
|
|
155
|
+
):
|
|
156
|
+
r"""Endpoint used to acquire authentication tokens from Azure"""
|
|
157
|
+
|
|
158
|
+
HTTPS_LOGIN_MICROSOFTONLINE_COM = "https://login.microsoftonline.com"
|
|
159
|
+
HTTPS_LOGIN_MICROSOFTONLINE_US = "https://login.microsoftonline.us"
|
|
160
|
+
HTTPS_LOGIN_PARTNER_MICROSOFTONLINE_CN = "https://login.partner.microsoftonline.cn"
|
|
161
|
+
|
|
162
|
+
|
|
91
163
|
class InputEventhubAuthenticationTypedDict(TypedDict):
|
|
92
164
|
r"""Authentication parameters to use when connecting to brokers. Using TLS is highly recommended."""
|
|
93
165
|
|
|
94
166
|
disabled: NotRequired[bool]
|
|
167
|
+
auth_type: NotRequired[InputEventhubAuthTypeAuthenticationMethod]
|
|
168
|
+
r"""Enter password directly, or select a stored secret"""
|
|
169
|
+
password: NotRequired[str]
|
|
170
|
+
r"""Connection-string primary key, or connection-string secondary key, from the Event Hubs workspace"""
|
|
171
|
+
text_secret: NotRequired[str]
|
|
172
|
+
r"""Select or create a stored text secret"""
|
|
95
173
|
mechanism: NotRequired[InputEventhubSASLMechanism]
|
|
174
|
+
username: NotRequired[str]
|
|
175
|
+
r"""The username for authentication. For Event Hubs, this should always be $ConnectionString."""
|
|
176
|
+
client_secret_auth_type: NotRequired[
|
|
177
|
+
InputEventhubClientSecretAuthTypeAuthenticationMethod
|
|
178
|
+
]
|
|
179
|
+
client_secret: NotRequired[str]
|
|
180
|
+
r"""client_secret to pass in the OAuth request parameter"""
|
|
181
|
+
client_text_secret: NotRequired[str]
|
|
182
|
+
r"""Select or create a stored text secret"""
|
|
183
|
+
certificate_name: NotRequired[str]
|
|
184
|
+
r"""Select or create a stored certificate"""
|
|
185
|
+
cert_path: NotRequired[str]
|
|
186
|
+
priv_key_path: NotRequired[str]
|
|
187
|
+
passphrase: NotRequired[str]
|
|
188
|
+
oauth_endpoint: NotRequired[InputEventhubMicrosoftEntraIDAuthenticationEndpoint]
|
|
189
|
+
r"""Endpoint used to acquire authentication tokens from Azure"""
|
|
190
|
+
client_id: NotRequired[str]
|
|
191
|
+
r"""client_id to pass in the OAuth request parameter"""
|
|
192
|
+
tenant_id: NotRequired[str]
|
|
193
|
+
r"""Directory ID (tenant identifier) in Azure Active Directory"""
|
|
194
|
+
scope: NotRequired[str]
|
|
195
|
+
r"""Scope to pass in the OAuth request parameter"""
|
|
96
196
|
|
|
97
197
|
|
|
98
198
|
class InputEventhubAuthentication(BaseModel):
|
|
@@ -100,7 +200,110 @@ class InputEventhubAuthentication(BaseModel):
|
|
|
100
200
|
|
|
101
201
|
disabled: Optional[bool] = False
|
|
102
202
|
|
|
103
|
-
|
|
203
|
+
auth_type: Annotated[
|
|
204
|
+
Annotated[
|
|
205
|
+
Optional[InputEventhubAuthTypeAuthenticationMethod],
|
|
206
|
+
PlainValidator(validate_open_enum(False)),
|
|
207
|
+
],
|
|
208
|
+
pydantic.Field(alias="authType"),
|
|
209
|
+
] = InputEventhubAuthTypeAuthenticationMethod.MANUAL
|
|
210
|
+
r"""Enter password directly, or select a stored secret"""
|
|
211
|
+
|
|
212
|
+
password: Optional[str] = None
|
|
213
|
+
r"""Connection-string primary key, or connection-string secondary key, from the Event Hubs workspace"""
|
|
214
|
+
|
|
215
|
+
text_secret: Annotated[Optional[str], pydantic.Field(alias="textSecret")] = None
|
|
216
|
+
r"""Select or create a stored text secret"""
|
|
217
|
+
|
|
218
|
+
mechanism: Annotated[
|
|
219
|
+
Optional[InputEventhubSASLMechanism], PlainValidator(validate_open_enum(False))
|
|
220
|
+
] = InputEventhubSASLMechanism.PLAIN
|
|
221
|
+
|
|
222
|
+
username: Optional[str] = "$ConnectionString"
|
|
223
|
+
r"""The username for authentication. For Event Hubs, this should always be $ConnectionString."""
|
|
224
|
+
|
|
225
|
+
client_secret_auth_type: Annotated[
|
|
226
|
+
Annotated[
|
|
227
|
+
Optional[InputEventhubClientSecretAuthTypeAuthenticationMethod],
|
|
228
|
+
PlainValidator(validate_open_enum(False)),
|
|
229
|
+
],
|
|
230
|
+
pydantic.Field(alias="clientSecretAuthType"),
|
|
231
|
+
] = InputEventhubClientSecretAuthTypeAuthenticationMethod.MANUAL
|
|
232
|
+
|
|
233
|
+
client_secret: Annotated[Optional[str], pydantic.Field(alias="clientSecret")] = None
|
|
234
|
+
r"""client_secret to pass in the OAuth request parameter"""
|
|
235
|
+
|
|
236
|
+
client_text_secret: Annotated[
|
|
237
|
+
Optional[str], pydantic.Field(alias="clientTextSecret")
|
|
238
|
+
] = None
|
|
239
|
+
r"""Select or create a stored text secret"""
|
|
240
|
+
|
|
241
|
+
certificate_name: Annotated[
|
|
242
|
+
Optional[str], pydantic.Field(alias="certificateName")
|
|
243
|
+
] = None
|
|
244
|
+
r"""Select or create a stored certificate"""
|
|
245
|
+
|
|
246
|
+
cert_path: Annotated[Optional[str], pydantic.Field(alias="certPath")] = None
|
|
247
|
+
|
|
248
|
+
priv_key_path: Annotated[Optional[str], pydantic.Field(alias="privKeyPath")] = None
|
|
249
|
+
|
|
250
|
+
passphrase: Optional[str] = None
|
|
251
|
+
|
|
252
|
+
oauth_endpoint: Annotated[
|
|
253
|
+
Annotated[
|
|
254
|
+
Optional[InputEventhubMicrosoftEntraIDAuthenticationEndpoint],
|
|
255
|
+
PlainValidator(validate_open_enum(False)),
|
|
256
|
+
],
|
|
257
|
+
pydantic.Field(alias="oauthEndpoint"),
|
|
258
|
+
] = InputEventhubMicrosoftEntraIDAuthenticationEndpoint.HTTPS_LOGIN_MICROSOFTONLINE_COM
|
|
259
|
+
r"""Endpoint used to acquire authentication tokens from Azure"""
|
|
260
|
+
|
|
261
|
+
client_id: Annotated[Optional[str], pydantic.Field(alias="clientId")] = None
|
|
262
|
+
r"""client_id to pass in the OAuth request parameter"""
|
|
263
|
+
|
|
264
|
+
tenant_id: Annotated[Optional[str], pydantic.Field(alias="tenantId")] = None
|
|
265
|
+
r"""Directory ID (tenant identifier) in Azure Active Directory"""
|
|
266
|
+
|
|
267
|
+
scope: Optional[str] = None
|
|
268
|
+
r"""Scope to pass in the OAuth request parameter"""
|
|
269
|
+
|
|
270
|
+
@field_serializer("auth_type")
|
|
271
|
+
def serialize_auth_type(self, value):
|
|
272
|
+
if isinstance(value, str):
|
|
273
|
+
try:
|
|
274
|
+
return models.InputEventhubAuthTypeAuthenticationMethod(value)
|
|
275
|
+
except ValueError:
|
|
276
|
+
return value
|
|
277
|
+
return value
|
|
278
|
+
|
|
279
|
+
@field_serializer("mechanism")
|
|
280
|
+
def serialize_mechanism(self, value):
|
|
281
|
+
if isinstance(value, str):
|
|
282
|
+
try:
|
|
283
|
+
return models.InputEventhubSASLMechanism(value)
|
|
284
|
+
except ValueError:
|
|
285
|
+
return value
|
|
286
|
+
return value
|
|
287
|
+
|
|
288
|
+
@field_serializer("client_secret_auth_type")
|
|
289
|
+
def serialize_client_secret_auth_type(self, value):
|
|
290
|
+
if isinstance(value, str):
|
|
291
|
+
try:
|
|
292
|
+
return models.InputEventhubClientSecretAuthTypeAuthenticationMethod(
|
|
293
|
+
value
|
|
294
|
+
)
|
|
295
|
+
except ValueError:
|
|
296
|
+
return value
|
|
297
|
+
return value
|
|
298
|
+
|
|
299
|
+
@field_serializer("oauth_endpoint")
|
|
300
|
+
def serialize_oauth_endpoint(self, value):
|
|
301
|
+
if isinstance(value, str):
|
|
302
|
+
try:
|
|
303
|
+
return models.InputEventhubMicrosoftEntraIDAuthenticationEndpoint(value)
|
|
304
|
+
except ValueError:
|
|
305
|
+
return value
|
|
306
|
+
return value
|
|
104
307
|
|
|
105
308
|
|
|
106
309
|
class InputEventhubTLSSettingsClientSideTypedDict(TypedDict):
|