cribl-control-plane 0.0.39__py3-none-any.whl → 0.4.0b23__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- cribl_control_plane/_hooks/clientcredentials.py +92 -42
- cribl_control_plane/_version.py +4 -4
- cribl_control_plane/acl.py +21 -9
- cribl_control_plane/auth_sdk.py +6 -3
- cribl_control_plane/basesdk.py +17 -1
- cribl_control_plane/branches.py +28 -8
- cribl_control_plane/commits.py +119 -47
- cribl_control_plane/commits_files.py +44 -24
- cribl_control_plane/configs_versions.py +16 -10
- cribl_control_plane/cribl.py +495 -0
- cribl_control_plane/destinations.py +86 -34
- cribl_control_plane/destinations_pq.py +34 -14
- cribl_control_plane/errors/__init__.py +23 -8
- cribl_control_plane/errors/apierror.py +2 -0
- cribl_control_plane/errors/criblcontrolplaneerror.py +11 -7
- cribl_control_plane/errors/error.py +4 -2
- cribl_control_plane/errors/healthserverstatus_error.py +41 -0
- cribl_control_plane/errors/no_response_error.py +5 -1
- cribl_control_plane/errors/responsevalidationerror.py +2 -0
- cribl_control_plane/functions.py +367 -0
- cribl_control_plane/groups_configs.py +8 -3
- cribl_control_plane/groups_sdk.py +156 -94
- cribl_control_plane/health.py +34 -14
- cribl_control_plane/hectokens.py +44 -20
- cribl_control_plane/httpclient.py +0 -1
- cribl_control_plane/lakedatasets.py +156 -62
- cribl_control_plane/models/__init__.py +3298 -479
- cribl_control_plane/models/addhectokenrequest.py +7 -1
- cribl_control_plane/models/authtoken.py +5 -1
- cribl_control_plane/models/backupssettings_union.py +37 -0
- cribl_control_plane/models/{lookupversions.py → branchinfo.py} +4 -4
- cribl_control_plane/models/cacheconnection.py +30 -2
- cribl_control_plane/models/cacheconnectionbackfillstatus.py +2 -1
- cribl_control_plane/models/cloudprovider.py +2 -1
- cribl_control_plane/models/collectorazureblob.py +130 -0
- cribl_control_plane/models/collectorconf.py +56 -0
- cribl_control_plane/models/collectorcribllake.py +27 -0
- cribl_control_plane/models/collectordatabase.py +92 -0
- cribl_control_plane/models/collectorfilesystem.py +66 -0
- cribl_control_plane/models/collectorgooglecloudstorage.py +131 -0
- cribl_control_plane/models/collectorhealthcheck.py +269 -0
- cribl_control_plane/models/collectorrest.py +340 -0
- cribl_control_plane/models/collectors3.py +239 -0
- cribl_control_plane/models/collectorscript.py +59 -0
- cribl_control_plane/models/collectorsplunk.py +253 -0
- cribl_control_plane/models/configgroup.py +62 -8
- cribl_control_plane/models/configgroupcloud.py +17 -3
- cribl_control_plane/models/countedbranchinfo.py +20 -0
- cribl_control_plane/models/countedconfiggroup.py +20 -0
- cribl_control_plane/models/countedcribllakedataset.py +20 -0
- cribl_control_plane/models/counteddistributedsummary.py +20 -0
- cribl_control_plane/models/countedfunctionresponse.py +20 -0
- cribl_control_plane/models/countedgitcommitsummary.py +20 -0
- cribl_control_plane/models/countedgitcountresult.py +20 -0
- cribl_control_plane/models/{createinputop.py → countedgitdiffresult.py} +5 -9
- cribl_control_plane/models/countedgitfilesresponse.py +20 -0
- cribl_control_plane/models/{getversioninfoop.py → countedgitinfo.py} +2 -6
- cribl_control_plane/models/countedgitlogresult.py +20 -0
- cribl_control_plane/models/countedgitrevertresult.py +20 -0
- cribl_control_plane/models/countedgitshowresult.py +20 -0
- cribl_control_plane/models/countedgitstatusresult.py +20 -0
- cribl_control_plane/models/{listinputop.py → countedinput.py} +2 -6
- cribl_control_plane/models/countedinputsplunkhec.py +20 -0
- cribl_control_plane/models/countedjobinfo.py +20 -0
- cribl_control_plane/models/countedmasterworkerentry.py +20 -0
- cribl_control_plane/models/countednumber.py +19 -0
- cribl_control_plane/models/{getversionbranchop.py → countedobject.py} +2 -6
- cribl_control_plane/models/{listoutputop.py → countedoutput.py} +2 -6
- cribl_control_plane/models/{createoutputop.py → countedoutputsamplesresponse.py} +5 -9
- cribl_control_plane/models/countedoutputtestresponse.py +20 -0
- cribl_control_plane/models/countedpackinfo.py +20 -0
- cribl_control_plane/models/{createpacksop.py → countedpackinstallinfo.py} +2 -6
- cribl_control_plane/models/{listpipelineop.py → countedpipeline.py} +2 -6
- cribl_control_plane/models/{listroutesop.py → countedroutes.py} +2 -6
- cribl_control_plane/models/countedstring.py +19 -0
- cribl_control_plane/models/countedsystemsettingsconf.py +20 -0
- cribl_control_plane/models/countedteamaccesscontrollist.py +20 -0
- cribl_control_plane/models/counteduseraccesscontrollist.py +20 -0
- cribl_control_plane/models/createauthloginop.py +18 -0
- cribl_control_plane/models/createconfiggroupbyproductop.py +26 -27
- cribl_control_plane/models/createcribllakedatasetbylakeidop.py +1 -19
- cribl_control_plane/models/createinputhectokenbyidop.py +1 -19
- cribl_control_plane/models/createoutputtestbyidop.py +1 -20
- cribl_control_plane/models/createroutesappendbyidop.py +4 -22
- cribl_control_plane/models/createversioncommitop.py +1 -19
- cribl_control_plane/models/createversionrevertop.py +3 -21
- cribl_control_plane/models/createversionundoop.py +1 -18
- cribl_control_plane/models/criblevent.py +15 -0
- cribl_control_plane/models/cribllakedataset.py +23 -3
- cribl_control_plane/models/cribllakedatasetupdate.py +95 -0
- cribl_control_plane/models/datasetmetadata.py +18 -2
- cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +18 -21
- cribl_control_plane/models/deletecribllakedatasetbylakeidandidop.py +1 -20
- cribl_control_plane/models/deleteinputbyidop.py +1 -20
- cribl_control_plane/models/deleteoutputbyidop.py +1 -20
- cribl_control_plane/models/deleteoutputpqbyidop.py +1 -19
- cribl_control_plane/models/deletepacksbyidop.py +1 -20
- cribl_control_plane/models/deletepipelinebyidop.py +3 -22
- cribl_control_plane/models/difffiles.py +130 -0
- cribl_control_plane/models/diffline.py +26 -0
- cribl_control_plane/models/difflinecontext.py +28 -0
- cribl_control_plane/models/difflinedelete.py +25 -0
- cribl_control_plane/models/difflineinsert.py +25 -0
- cribl_control_plane/models/distributedsummary.py +6 -0
- cribl_control_plane/models/functionaggregatemetrics.py +206 -0
- cribl_control_plane/models/functionaggregation.py +172 -0
- cribl_control_plane/models/functionautotimestamp.py +173 -0
- cribl_control_plane/models/functioncef.py +111 -0
- cribl_control_plane/models/functionchain.py +75 -0
- cribl_control_plane/models/functionclone.py +75 -0
- cribl_control_plane/models/functioncode.py +96 -0
- cribl_control_plane/models/functioncomment.py +75 -0
- cribl_control_plane/models/functiondistinct.py +99 -0
- cribl_control_plane/models/functiondnslookup.py +250 -0
- cribl_control_plane/models/functiondrop.py +73 -0
- cribl_control_plane/models/functiondropdimensions.py +87 -0
- cribl_control_plane/models/functiondynamicsampling.py +121 -0
- cribl_control_plane/models/functioneval.py +103 -0
- cribl_control_plane/models/functioneventbreaker.py +103 -0
- cribl_control_plane/models/functioneventstats.py +92 -0
- cribl_control_plane/models/functionexternaldata.py +73 -0
- cribl_control_plane/models/functionflatten.py +90 -0
- cribl_control_plane/models/functionfoldkeys.py +89 -0
- cribl_control_plane/models/functiongenstats.py +73 -0
- cribl_control_plane/models/functiongeoip.py +120 -0
- cribl_control_plane/models/functiongrok.py +95 -0
- cribl_control_plane/models/functionhandlebar.py +112 -0
- cribl_control_plane/models/functionjoin.py +112 -0
- cribl_control_plane/models/functionjsonunroll.py +80 -0
- cribl_control_plane/models/functionlakeexport.py +102 -0
- cribl_control_plane/models/functionlimit.py +75 -0
- cribl_control_plane/models/functionlocalsearchdatatypeparser.py +76 -0
- cribl_control_plane/models/functionlocalsearchrulesetrunner.py +97 -0
- cribl_control_plane/models/functionlookup.py +148 -0
- cribl_control_plane/models/functionmask.py +121 -0
- cribl_control_plane/models/functionmvexpand.py +128 -0
- cribl_control_plane/models/functionmvpull.py +99 -0
- cribl_control_plane/models/functionnotificationpolicies.py +186 -0
- cribl_control_plane/models/functionnotifications.py +85 -0
- cribl_control_plane/models/functionnotify.py +196 -0
- cribl_control_plane/models/functionnumerify.py +119 -0
- cribl_control_plane/models/functionotlplogs.py +82 -0
- cribl_control_plane/models/functionotlpmetrics.py +118 -0
- cribl_control_plane/models/functionotlptraces.py +111 -0
- cribl_control_plane/models/functionpack.py +80 -0
- cribl_control_plane/models/functionpivot.py +85 -0
- cribl_control_plane/models/functionpublishmetrics.py +153 -0
- cribl_control_plane/models/functionredis.py +173 -0
- cribl_control_plane/models/functionregexextract.py +112 -0
- cribl_control_plane/models/functionregexfilter.py +95 -0
- cribl_control_plane/models/functionrename.py +107 -0
- cribl_control_plane/models/functionresponse.py +242 -0
- cribl_control_plane/models/functionrollupmetrics.py +114 -0
- cribl_control_plane/models/functionsampling.py +90 -0
- cribl_control_plane/models/functionsend.py +141 -0
- cribl_control_plane/models/functionsensitivedatascanner.py +128 -0
- cribl_control_plane/models/functionserde.py +161 -0
- cribl_control_plane/models/functionserialize.py +134 -0
- cribl_control_plane/models/functionsidlookup.py +93 -0
- cribl_control_plane/models/functionsnmptrapserialize.py +144 -0
- cribl_control_plane/models/functionsort.py +97 -0
- cribl_control_plane/models/functionstore.py +132 -0
- cribl_control_plane/models/functionsuppress.py +115 -0
- cribl_control_plane/models/functiontee.py +90 -0
- cribl_control_plane/models/functiontrimtimestamp.py +75 -0
- cribl_control_plane/models/functionunion.py +80 -0
- cribl_control_plane/models/functionunroll.py +80 -0
- cribl_control_plane/models/functionwindow.py +96 -0
- cribl_control_plane/models/functionxmlunroll.py +92 -0
- cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +24 -20
- cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +24 -20
- cribl_control_plane/models/getconfiggroupbyproductandidop.py +14 -19
- cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +18 -20
- cribl_control_plane/models/getcribllakedatasetbylakeidandidop.py +1 -20
- cribl_control_plane/models/getcribllakedatasetbylakeidop.py +54 -14
- cribl_control_plane/models/getfunctionsbyidop.py +18 -0
- cribl_control_plane/models/getinputbyidop.py +1 -20
- cribl_control_plane/models/getmasterworkerentryop.py +1 -18
- cribl_control_plane/models/getoutputbyidop.py +1 -20
- cribl_control_plane/models/getoutputpqbyidop.py +1 -19
- cribl_control_plane/models/getoutputsamplesbyidop.py +1 -20
- cribl_control_plane/models/getpacksbyidop.py +1 -20
- cribl_control_plane/models/getpacksop.py +1 -19
- cribl_control_plane/models/getpipelinebyidop.py +3 -22
- cribl_control_plane/models/getroutesbyidop.py +3 -22
- cribl_control_plane/models/getsummaryop.py +18 -20
- cribl_control_plane/models/getversioncountop.py +3 -21
- cribl_control_plane/models/getversiondiffop.py +1 -18
- cribl_control_plane/models/getversionfilesop.py +3 -22
- cribl_control_plane/models/getversionop.py +1 -19
- cribl_control_plane/models/getversionshowop.py +1 -18
- cribl_control_plane/models/getversionstatusop.py +1 -19
- cribl_control_plane/models/{routecloneconf.py → gitcountresult.py} +4 -4
- cribl_control_plane/models/gitdiffresult.py +16 -0
- cribl_control_plane/models/gitinfo.py +14 -3
- cribl_control_plane/models/gitshowresult.py +19 -0
- cribl_control_plane/models/groupcreaterequest.py +172 -0
- cribl_control_plane/models/hbcriblinfo.py +42 -7
- cribl_control_plane/models/healthserverstatus.py +55 -0
- cribl_control_plane/models/heartbeatmetadata.py +6 -11
- cribl_control_plane/models/input.py +83 -78
- cribl_control_plane/models/inputappscope.py +126 -30
- cribl_control_plane/models/inputazureblob.py +62 -6
- cribl_control_plane/models/inputcloudflarehec.py +518 -0
- cribl_control_plane/models/inputcollection.py +47 -4
- cribl_control_plane/models/inputconfluentcloud.py +258 -32
- cribl_control_plane/models/inputcribl.py +47 -4
- cribl_control_plane/models/inputcriblhttp.py +121 -30
- cribl_control_plane/models/inputcribllakehttp.py +136 -30
- cribl_control_plane/models/inputcriblmetrics.py +48 -4
- cribl_control_plane/models/inputcribltcp.py +122 -24
- cribl_control_plane/models/inputcrowdstrike.py +92 -10
- cribl_control_plane/models/inputdatadogagent.py +98 -24
- cribl_control_plane/models/inputdatagen.py +47 -4
- cribl_control_plane/models/inputedgeprometheus.py +210 -50
- cribl_control_plane/models/inputelastic.py +167 -36
- cribl_control_plane/models/inputeventhub.py +209 -6
- cribl_control_plane/models/inputexec.py +59 -6
- cribl_control_plane/models/inputfile.py +78 -10
- cribl_control_plane/models/inputfirehose.py +97 -24
- cribl_control_plane/models/inputgooglepubsub.py +67 -6
- cribl_control_plane/models/inputgrafana.py +251 -71
- cribl_control_plane/models/inputhttp.py +97 -24
- cribl_control_plane/models/inputhttpraw.py +97 -24
- cribl_control_plane/models/inputjournalfiles.py +48 -4
- cribl_control_plane/models/inputkafka.py +252 -28
- cribl_control_plane/models/inputkinesis.py +130 -14
- cribl_control_plane/models/inputkubeevents.py +47 -4
- cribl_control_plane/models/inputkubelogs.py +61 -8
- cribl_control_plane/models/inputkubemetrics.py +61 -8
- cribl_control_plane/models/inputloki.py +113 -34
- cribl_control_plane/models/inputmetrics.py +97 -24
- cribl_control_plane/models/inputmodeldriventelemetry.py +107 -26
- cribl_control_plane/models/inputmsk.py +145 -32
- cribl_control_plane/models/inputnetflow.py +47 -4
- cribl_control_plane/models/inputoffice365mgmt.py +112 -14
- cribl_control_plane/models/inputoffice365msgtrace.py +114 -16
- cribl_control_plane/models/inputoffice365service.py +114 -16
- cribl_control_plane/models/inputopentelemetry.py +143 -32
- cribl_control_plane/models/inputprometheus.py +193 -44
- cribl_control_plane/models/inputprometheusrw.py +114 -27
- cribl_control_plane/models/inputrawudp.py +47 -4
- cribl_control_plane/models/inputs3.py +78 -8
- cribl_control_plane/models/inputs3inventory.py +92 -10
- cribl_control_plane/models/inputsecuritylake.py +93 -10
- cribl_control_plane/models/inputsnmp.py +112 -21
- cribl_control_plane/models/inputsplunk.py +130 -28
- cribl_control_plane/models/inputsplunkhec.py +119 -29
- cribl_control_plane/models/inputsplunksearch.py +112 -15
- cribl_control_plane/models/inputsqs.py +99 -16
- cribl_control_plane/models/inputsyslog.py +189 -47
- cribl_control_plane/models/inputsystemmetrics.py +202 -32
- cribl_control_plane/models/inputsystemstate.py +61 -8
- cribl_control_plane/models/inputtcp.py +122 -26
- cribl_control_plane/models/inputtcpjson.py +112 -26
- cribl_control_plane/models/inputwef.py +144 -15
- cribl_control_plane/models/inputwindowsmetrics.py +186 -33
- cribl_control_plane/models/inputwineventlogs.py +93 -11
- cribl_control_plane/models/inputwiz.py +173 -8
- cribl_control_plane/models/inputwizwebhook.py +97 -24
- cribl_control_plane/models/inputzscalerhec.py +119 -29
- cribl_control_plane/models/jobinfo.py +34 -0
- cribl_control_plane/models/jobstatus.py +48 -0
- cribl_control_plane/models/lakedatasetmetrics.py +17 -0
- cribl_control_plane/models/lakehouseconnectiontype.py +2 -1
- cribl_control_plane/models/listconfiggroupbyproductop.py +14 -19
- cribl_control_plane/models/listmasterworkerentryop.py +1 -19
- cribl_control_plane/models/logininfo.py +3 -3
- cribl_control_plane/models/masterworkerentry.py +20 -13
- cribl_control_plane/models/nodeactiveupgradestatus.py +2 -1
- cribl_control_plane/models/nodefailedupgradestatus.py +2 -1
- cribl_control_plane/models/nodeprovidedinfo.py +13 -11
- cribl_control_plane/models/nodeskippedupgradestatus.py +2 -1
- cribl_control_plane/models/nodeupgradestate.py +2 -1
- cribl_control_plane/models/nodeupgradestatus.py +51 -5
- cribl_control_plane/models/outpostnodeinfo.py +16 -0
- cribl_control_plane/models/output.py +104 -90
- cribl_control_plane/models/outputazureblob.py +171 -18
- cribl_control_plane/models/outputazuredataexplorer.py +514 -90
- cribl_control_plane/models/outputazureeventhub.py +315 -31
- cribl_control_plane/models/outputazurelogs.py +145 -26
- cribl_control_plane/models/outputchronicle.py +532 -0
- cribl_control_plane/models/outputclickhouse.py +205 -34
- cribl_control_plane/models/outputcloudflarer2.py +632 -0
- cribl_control_plane/models/outputcloudwatch.py +129 -23
- cribl_control_plane/models/outputconfluentcloud.py +384 -57
- cribl_control_plane/models/outputcriblhttp.py +198 -31
- cribl_control_plane/models/outputcribllake.py +156 -16
- cribl_control_plane/models/outputcribltcp.py +194 -29
- cribl_control_plane/models/outputcrowdstrikenextgensiem.py +172 -28
- cribl_control_plane/models/outputdatabricks.py +501 -0
- cribl_control_plane/models/outputdatadog.py +199 -31
- cribl_control_plane/models/outputdataset.py +181 -29
- cribl_control_plane/models/outputdiskspool.py +17 -2
- cribl_control_plane/models/outputdls3.py +233 -24
- cribl_control_plane/models/outputdynatracehttp.py +208 -34
- cribl_control_plane/models/outputdynatraceotlp.py +210 -36
- cribl_control_plane/models/outputelastic.py +199 -30
- cribl_control_plane/models/outputelasticcloud.py +171 -26
- cribl_control_plane/models/outputexabeam.py +96 -10
- cribl_control_plane/models/outputfilesystem.py +139 -14
- cribl_control_plane/models/outputgooglechronicle.py +216 -35
- cribl_control_plane/models/outputgooglecloudlogging.py +174 -31
- cribl_control_plane/models/outputgooglecloudstorage.py +215 -24
- cribl_control_plane/models/outputgooglepubsub.py +131 -23
- cribl_control_plane/models/outputgrafanacloud.py +376 -74
- cribl_control_plane/models/outputgraphite.py +128 -25
- cribl_control_plane/models/outputhoneycomb.py +145 -26
- cribl_control_plane/models/outputhumiohec.py +162 -28
- cribl_control_plane/models/outputinfluxdb.py +165 -28
- cribl_control_plane/models/outputkafka.py +375 -52
- cribl_control_plane/models/outputkinesis.py +165 -27
- cribl_control_plane/models/outputloki.py +164 -34
- cribl_control_plane/models/outputmicrosoftfabric.py +540 -0
- cribl_control_plane/models/outputminio.py +225 -25
- cribl_control_plane/models/outputmsk.py +267 -54
- cribl_control_plane/models/outputnewrelic.py +171 -29
- cribl_control_plane/models/outputnewrelicevents.py +163 -28
- cribl_control_plane/models/outputopentelemetry.py +240 -40
- cribl_control_plane/models/outputprometheus.py +145 -26
- cribl_control_plane/models/outputring.py +49 -8
- cribl_control_plane/models/outputs3.py +233 -26
- cribl_control_plane/models/outputsecuritylake.py +179 -18
- cribl_control_plane/models/outputsentinel.py +172 -29
- cribl_control_plane/models/outputsentineloneaisiem.py +178 -32
- cribl_control_plane/models/outputservicenow.py +223 -38
- cribl_control_plane/models/outputsignalfx.py +145 -26
- cribl_control_plane/models/outputsns.py +143 -25
- cribl_control_plane/models/outputsplunk.py +206 -36
- cribl_control_plane/models/outputsplunkhec.py +238 -26
- cribl_control_plane/models/outputsplunklb.py +262 -42
- cribl_control_plane/models/outputsqs.py +163 -33
- cribl_control_plane/models/outputstatsd.py +127 -25
- cribl_control_plane/models/outputstatsdext.py +128 -25
- cribl_control_plane/models/outputsumologic.py +146 -25
- cribl_control_plane/models/outputsyslog.py +318 -46
- cribl_control_plane/models/outputtcpjson.py +186 -32
- cribl_control_plane/models/outputwavefront.py +145 -26
- cribl_control_plane/models/outputwebhook.py +211 -33
- cribl_control_plane/models/outputxsiam.py +143 -26
- cribl_control_plane/models/packinfo.py +8 -5
- cribl_control_plane/models/packinstallinfo.py +11 -8
- cribl_control_plane/models/piisettings_union.py +31 -0
- cribl_control_plane/models/productscore.py +2 -1
- cribl_control_plane/models/rbacresource.py +2 -1
- cribl_control_plane/models/resourcepolicy.py +15 -2
- cribl_control_plane/models/rollbacksettings_union.py +44 -0
- cribl_control_plane/models/routeconf.py +3 -4
- cribl_control_plane/models/runnablejob.py +27 -0
- cribl_control_plane/models/runnablejobcollection.py +628 -0
- cribl_control_plane/models/runnablejobexecutor.py +360 -0
- cribl_control_plane/models/runnablejobscheduledsearch.py +279 -0
- cribl_control_plane/models/snisettings_union.py +31 -0
- cribl_control_plane/models/systemsettingsconf.py +291 -0
- cribl_control_plane/models/tlssettings_union.py +43 -0
- cribl_control_plane/models/updateconfiggroupbyproductandidop.py +19 -20
- cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +19 -21
- cribl_control_plane/models/updatecribllakedatasetbylakeidandidop.py +10 -25
- cribl_control_plane/models/updatehectokenrequest.py +7 -1
- cribl_control_plane/models/updateinputbyidop.py +1 -19
- cribl_control_plane/models/updateinputhectokenbyidandtokenop.py +1 -19
- cribl_control_plane/models/updateoutputbyidop.py +1 -19
- cribl_control_plane/models/updatepacksbyidop.py +1 -20
- cribl_control_plane/models/updatepacksop.py +25 -0
- cribl_control_plane/models/updatepipelinebyidop.py +5 -23
- cribl_control_plane/models/updateroutesbyidop.py +3 -21
- cribl_control_plane/models/upgradegroupsettings_union.py +43 -0
- cribl_control_plane/models/upgradepackageurls.py +20 -0
- cribl_control_plane/models/upgradesettings.py +38 -0
- cribl_control_plane/models/uploadpackresponse.py +13 -0
- cribl_control_plane/models/workertypes.py +2 -1
- cribl_control_plane/nodes.py +37 -23
- cribl_control_plane/packs.py +292 -37
- cribl_control_plane/pipelines.py +98 -48
- cribl_control_plane/routes_sdk.py +86 -50
- cribl_control_plane/samples.py +32 -16
- cribl_control_plane/sdk.py +26 -6
- cribl_control_plane/settings.py +20 -0
- cribl_control_plane/sources.py +85 -33
- cribl_control_plane/statuses.py +16 -6
- cribl_control_plane/summaries.py +16 -6
- cribl_control_plane/system_sdk.py +20 -0
- cribl_control_plane/teams.py +16 -6
- cribl_control_plane/tokens.py +49 -21
- cribl_control_plane/utils/__init__.py +15 -3
- cribl_control_plane/utils/annotations.py +32 -8
- cribl_control_plane/utils/eventstreaming.py +10 -0
- cribl_control_plane/utils/forms.py +21 -10
- cribl_control_plane/utils/queryparams.py +14 -2
- cribl_control_plane/utils/retries.py +69 -5
- cribl_control_plane/utils/unmarshal_json_response.py +15 -1
- cribl_control_plane/versions.py +11 -6
- cribl_control_plane/versions_configs.py +16 -6
- {cribl_control_plane-0.0.39.dist-info → cribl_control_plane-0.4.0b23.dist-info}/METADATA +99 -43
- cribl_control_plane-0.4.0b23.dist-info/RECORD +450 -0
- {cribl_control_plane-0.0.39.dist-info → cribl_control_plane-0.4.0b23.dist-info}/WHEEL +1 -1
- cribl_control_plane-0.4.0b23.dist-info/licenses/LICENSE +201 -0
- cribl_control_plane/errors/healthstatus_error.py +0 -32
- cribl_control_plane/models/appmode.py +0 -13
- cribl_control_plane/models/createpipelineop.py +0 -24
- cribl_control_plane/models/createversionpushop.py +0 -23
- cribl_control_plane/models/healthstatus.py +0 -33
- cribl_control_plane-0.0.39.dist-info/RECORD +0 -315
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
|
+
from cribl_control_plane import models, utils
|
|
4
5
|
from cribl_control_plane.types import BaseModel
|
|
6
|
+
from cribl_control_plane.utils import validate_open_enum
|
|
5
7
|
from enum import Enum
|
|
6
8
|
import pydantic
|
|
9
|
+
from pydantic import field_serializer
|
|
10
|
+
from pydantic.functional_validators import PlainValidator
|
|
7
11
|
from typing import Any, List, Optional
|
|
8
12
|
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
13
|
|
|
@@ -23,20 +27,32 @@ class InputWefConnection(BaseModel):
|
|
|
23
27
|
pipeline: Optional[str] = None
|
|
24
28
|
|
|
25
29
|
|
|
26
|
-
class InputWefMode(str, Enum):
|
|
30
|
+
class InputWefMode(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 InputWefCompression(str, Enum):
|
|
39
|
+
class InputWefCompression(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 InputWefPqControlsTypedDict(TypedDict):
|
|
49
|
+
pass
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
class InputWefPqControls(BaseModel):
|
|
53
|
+
pass
|
|
54
|
+
|
|
55
|
+
|
|
40
56
|
class InputWefPqTypedDict(TypedDict):
|
|
41
57
|
mode: NotRequired[InputWefMode]
|
|
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 InputWefPqTypedDict(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[InputWefCompression]
|
|
54
70
|
r"""Codec to use to compress the persisted data"""
|
|
71
|
+
pq_controls: NotRequired[InputWefPqControlsTypedDict]
|
|
55
72
|
|
|
56
73
|
|
|
57
74
|
class InputWefPq(BaseModel):
|
|
58
|
-
mode:
|
|
75
|
+
mode: Annotated[
|
|
76
|
+
Optional[InputWefMode], PlainValidator(validate_open_enum(False))
|
|
77
|
+
] = InputWefMode.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,25 +98,51 @@ class InputWefPq(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[InputWefCompression], PlainValidator(validate_open_enum(False))
|
|
103
|
+
] = InputWefCompression.NONE
|
|
83
104
|
r"""Codec to use to compress the persisted data"""
|
|
84
105
|
|
|
106
|
+
pq_controls: Annotated[
|
|
107
|
+
Optional[InputWefPqControls], 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.InputWefMode(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.InputWefCompression(value)
|
|
124
|
+
except ValueError:
|
|
125
|
+
return value
|
|
126
|
+
return value
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
class InputWefAuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
87
130
|
r"""How to authenticate incoming client connections"""
|
|
88
131
|
|
|
132
|
+
# Client certificate
|
|
89
133
|
CLIENT_CERT = "clientCert"
|
|
134
|
+
# Kerberos
|
|
90
135
|
KERBEROS = "kerberos"
|
|
91
136
|
|
|
92
137
|
|
|
93
|
-
class InputWefMinimumTLSVersion(str, Enum):
|
|
138
|
+
class InputWefMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
94
139
|
TL_SV1 = "TLSv1"
|
|
95
140
|
TL_SV1_1 = "TLSv1.1"
|
|
96
141
|
TL_SV1_2 = "TLSv1.2"
|
|
97
142
|
TL_SV1_3 = "TLSv1.3"
|
|
98
143
|
|
|
99
144
|
|
|
100
|
-
class InputWefMaximumTLSVersion(str, Enum):
|
|
145
|
+
class InputWefMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
101
146
|
TL_SV1 = "TLSv1"
|
|
102
147
|
TL_SV1_1 = "TLSv1.1"
|
|
103
148
|
TL_SV1_2 = "TLSv1.2"
|
|
@@ -168,11 +213,19 @@ class MTLSSettings(BaseModel):
|
|
|
168
213
|
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
169
214
|
|
|
170
215
|
min_version: Annotated[
|
|
171
|
-
|
|
216
|
+
Annotated[
|
|
217
|
+
Optional[InputWefMinimumTLSVersion],
|
|
218
|
+
PlainValidator(validate_open_enum(False)),
|
|
219
|
+
],
|
|
220
|
+
pydantic.Field(alias="minVersion"),
|
|
172
221
|
] = None
|
|
173
222
|
|
|
174
223
|
max_version: Annotated[
|
|
175
|
-
|
|
224
|
+
Annotated[
|
|
225
|
+
Optional[InputWefMaximumTLSVersion],
|
|
226
|
+
PlainValidator(validate_open_enum(False)),
|
|
227
|
+
],
|
|
228
|
+
pydantic.Field(alias="maxVersion"),
|
|
176
229
|
] = None
|
|
177
230
|
|
|
178
231
|
ocsp_check: Annotated[Optional[bool], pydantic.Field(alias="ocspCheck")] = False
|
|
@@ -187,15 +240,33 @@ class MTLSSettings(BaseModel):
|
|
|
187
240
|
] = False
|
|
188
241
|
r"""If enabled, checks will fail on any OCSP error. Otherwise, checks will fail only when a certificate is revoked, ignoring other errors."""
|
|
189
242
|
|
|
190
|
-
|
|
191
|
-
|
|
243
|
+
@field_serializer("min_version")
|
|
244
|
+
def serialize_min_version(self, value):
|
|
245
|
+
if isinstance(value, str):
|
|
246
|
+
try:
|
|
247
|
+
return models.InputWefMinimumTLSVersion(value)
|
|
248
|
+
except ValueError:
|
|
249
|
+
return value
|
|
250
|
+
return value
|
|
251
|
+
|
|
252
|
+
@field_serializer("max_version")
|
|
253
|
+
def serialize_max_version(self, value):
|
|
254
|
+
if isinstance(value, str):
|
|
255
|
+
try:
|
|
256
|
+
return models.InputWefMaximumTLSVersion(value)
|
|
257
|
+
except ValueError:
|
|
258
|
+
return value
|
|
259
|
+
return value
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
class InputWefFormat(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
192
263
|
r"""Content format in which the endpoint should deliver events"""
|
|
193
264
|
|
|
194
265
|
RAW = "Raw"
|
|
195
266
|
RENDERED_TEXT = "RenderedText"
|
|
196
267
|
|
|
197
268
|
|
|
198
|
-
class QueryBuilderMode(str, Enum):
|
|
269
|
+
class QueryBuilderMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
199
270
|
SIMPLE = "simple"
|
|
200
271
|
XML = "xml"
|
|
201
272
|
|
|
@@ -213,6 +284,21 @@ class SubscriptionMetadatum(BaseModel):
|
|
|
213
284
|
r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
|
|
214
285
|
|
|
215
286
|
|
|
287
|
+
class QueryTypedDict(TypedDict):
|
|
288
|
+
path: str
|
|
289
|
+
r"""The Path attribute from the relevant XML Select element"""
|
|
290
|
+
query_expression: str
|
|
291
|
+
r"""The XPath query inside the relevant XML Select element"""
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
class Query(BaseModel):
|
|
295
|
+
path: str
|
|
296
|
+
r"""The Path attribute from the relevant XML Select element"""
|
|
297
|
+
|
|
298
|
+
query_expression: Annotated[str, pydantic.Field(alias="queryExpression")]
|
|
299
|
+
r"""The XPath query inside the relevant XML Select element"""
|
|
300
|
+
|
|
301
|
+
|
|
216
302
|
class SubscriptionTypedDict(TypedDict):
|
|
217
303
|
subscription_name: str
|
|
218
304
|
targets: List[str]
|
|
@@ -236,6 +322,9 @@ class SubscriptionTypedDict(TypedDict):
|
|
|
236
322
|
query_selector: NotRequired[QueryBuilderMode]
|
|
237
323
|
metadata: NotRequired[List[SubscriptionMetadatumTypedDict]]
|
|
238
324
|
r"""Fields to add to events ingested under this subscription"""
|
|
325
|
+
queries: NotRequired[List[QueryTypedDict]]
|
|
326
|
+
xml_query: NotRequired[str]
|
|
327
|
+
r"""The XPath query to use for selecting events"""
|
|
239
328
|
|
|
240
329
|
|
|
241
330
|
class Subscription(BaseModel):
|
|
@@ -248,7 +337,8 @@ class Subscription(BaseModel):
|
|
|
248
337
|
r"""Version UUID for this subscription. If any subscription parameters are modified, this value will change."""
|
|
249
338
|
|
|
250
339
|
content_format: Annotated[
|
|
251
|
-
Optional[InputWefFormat],
|
|
340
|
+
Annotated[Optional[InputWefFormat], PlainValidator(validate_open_enum(False))],
|
|
341
|
+
pydantic.Field(alias="contentFormat"),
|
|
252
342
|
] = InputWefFormat.RAW
|
|
253
343
|
r"""Content format in which the endpoint should deliver events"""
|
|
254
344
|
|
|
@@ -277,12 +367,38 @@ class Subscription(BaseModel):
|
|
|
277
367
|
r"""The RFC-3066 locale the Windows clients should use when sending events. Defaults to \"en-US\"."""
|
|
278
368
|
|
|
279
369
|
query_selector: Annotated[
|
|
280
|
-
|
|
370
|
+
Annotated[
|
|
371
|
+
Optional[QueryBuilderMode], PlainValidator(validate_open_enum(False))
|
|
372
|
+
],
|
|
373
|
+
pydantic.Field(alias="querySelector"),
|
|
281
374
|
] = QueryBuilderMode.SIMPLE
|
|
282
375
|
|
|
283
376
|
metadata: Optional[List[SubscriptionMetadatum]] = None
|
|
284
377
|
r"""Fields to add to events ingested under this subscription"""
|
|
285
378
|
|
|
379
|
+
queries: Optional[List[Query]] = None
|
|
380
|
+
|
|
381
|
+
xml_query: Annotated[Optional[str], pydantic.Field(alias="xmlQuery")] = None
|
|
382
|
+
r"""The XPath query to use for selecting events"""
|
|
383
|
+
|
|
384
|
+
@field_serializer("content_format")
|
|
385
|
+
def serialize_content_format(self, value):
|
|
386
|
+
if isinstance(value, str):
|
|
387
|
+
try:
|
|
388
|
+
return models.InputWefFormat(value)
|
|
389
|
+
except ValueError:
|
|
390
|
+
return value
|
|
391
|
+
return value
|
|
392
|
+
|
|
393
|
+
@field_serializer("query_selector")
|
|
394
|
+
def serialize_query_selector(self, value):
|
|
395
|
+
if isinstance(value, str):
|
|
396
|
+
try:
|
|
397
|
+
return models.QueryBuilderMode(value)
|
|
398
|
+
except ValueError:
|
|
399
|
+
return value
|
|
400
|
+
return value
|
|
401
|
+
|
|
286
402
|
|
|
287
403
|
class InputWefMetadatumTypedDict(TypedDict):
|
|
288
404
|
name: str
|
|
@@ -397,7 +513,11 @@ class InputWef(BaseModel):
|
|
|
397
513
|
r"""Port to listen on"""
|
|
398
514
|
|
|
399
515
|
auth_method: Annotated[
|
|
400
|
-
|
|
516
|
+
Annotated[
|
|
517
|
+
Optional[InputWefAuthenticationMethod],
|
|
518
|
+
PlainValidator(validate_open_enum(False)),
|
|
519
|
+
],
|
|
520
|
+
pydantic.Field(alias="authMethod"),
|
|
401
521
|
] = InputWefAuthenticationMethod.CLIENT_CERT
|
|
402
522
|
r"""How to authenticate incoming client connections"""
|
|
403
523
|
|
|
@@ -473,3 +593,12 @@ class InputWef(BaseModel):
|
|
|
473
593
|
Optional[bool], pydantic.Field(alias="logFingerprintMismatch")
|
|
474
594
|
] = False
|
|
475
595
|
r"""Log a warning if the client certificate authority (CA) fingerprint does not match the expected value. A mismatch prevents Cribl from receiving events from the Windows Event Forwarder."""
|
|
596
|
+
|
|
597
|
+
@field_serializer("auth_method")
|
|
598
|
+
def serialize_auth_method(self, value):
|
|
599
|
+
if isinstance(value, str):
|
|
600
|
+
try:
|
|
601
|
+
return models.InputWefAuthenticationMethod(value)
|
|
602
|
+
except ValueError:
|
|
603
|
+
return value
|
|
604
|
+
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 InputWindowsMetricsConnection(BaseModel):
|
|
|
23
27
|
pipeline: Optional[str] = None
|
|
24
28
|
|
|
25
29
|
|
|
26
|
-
class InputWindowsMetricsPqMode(str, Enum):
|
|
30
|
+
class InputWindowsMetricsPqMode(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 InputWindowsMetricsCompression(str, Enum):
|
|
39
|
+
class InputWindowsMetricsCompression(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 InputWindowsMetricsPqControlsTypedDict(TypedDict):
|
|
49
|
+
pass
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
class InputWindowsMetricsPqControls(BaseModel):
|
|
53
|
+
pass
|
|
54
|
+
|
|
55
|
+
|
|
40
56
|
class InputWindowsMetricsPqTypedDict(TypedDict):
|
|
41
57
|
mode: NotRequired[InputWindowsMetricsPqMode]
|
|
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 InputWindowsMetricsPqTypedDict(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[InputWindowsMetricsCompression]
|
|
54
70
|
r"""Codec to use to compress the persisted data"""
|
|
71
|
+
pq_controls: NotRequired[InputWindowsMetricsPqControlsTypedDict]
|
|
55
72
|
|
|
56
73
|
|
|
57
74
|
class InputWindowsMetricsPq(BaseModel):
|
|
58
|
-
mode:
|
|
75
|
+
mode: Annotated[
|
|
76
|
+
Optional[InputWindowsMetricsPqMode], PlainValidator(validate_open_enum(False))
|
|
77
|
+
] = InputWindowsMetricsPqMode.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,27 +98,58 @@ class InputWindowsMetricsPq(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:
|
|
83
|
-
InputWindowsMetricsCompression
|
|
84
|
-
|
|
101
|
+
compress: Annotated[
|
|
102
|
+
Optional[InputWindowsMetricsCompression],
|
|
103
|
+
PlainValidator(validate_open_enum(False)),
|
|
104
|
+
] = InputWindowsMetricsCompression.NONE
|
|
85
105
|
r"""Codec to use to compress the persisted data"""
|
|
86
106
|
|
|
87
|
-
|
|
88
|
-
|
|
107
|
+
pq_controls: Annotated[
|
|
108
|
+
Optional[InputWindowsMetricsPqControls], pydantic.Field(alias="pqControls")
|
|
109
|
+
] = None
|
|
110
|
+
|
|
111
|
+
@field_serializer("mode")
|
|
112
|
+
def serialize_mode(self, value):
|
|
113
|
+
if isinstance(value, str):
|
|
114
|
+
try:
|
|
115
|
+
return models.InputWindowsMetricsPqMode(value)
|
|
116
|
+
except ValueError:
|
|
117
|
+
return value
|
|
118
|
+
return value
|
|
119
|
+
|
|
120
|
+
@field_serializer("compress")
|
|
121
|
+
def serialize_compress(self, value):
|
|
122
|
+
if isinstance(value, str):
|
|
123
|
+
try:
|
|
124
|
+
return models.InputWindowsMetricsCompression(value)
|
|
125
|
+
except ValueError:
|
|
126
|
+
return value
|
|
127
|
+
return value
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
class InputWindowsMetricsHostMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
89
131
|
r"""Select level of detail for host metrics"""
|
|
90
132
|
|
|
133
|
+
# Basic
|
|
91
134
|
BASIC = "basic"
|
|
135
|
+
# All
|
|
92
136
|
ALL = "all"
|
|
137
|
+
# Custom
|
|
93
138
|
CUSTOM = "custom"
|
|
139
|
+
# Disabled
|
|
94
140
|
DISABLED = "disabled"
|
|
95
141
|
|
|
96
142
|
|
|
97
|
-
class InputWindowsMetricsSystemMode(str, Enum):
|
|
143
|
+
class InputWindowsMetricsSystemMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
98
144
|
r"""Select the level of details for system metrics"""
|
|
99
145
|
|
|
146
|
+
# Basic
|
|
100
147
|
BASIC = "basic"
|
|
148
|
+
# All
|
|
101
149
|
ALL = "all"
|
|
150
|
+
# Custom
|
|
102
151
|
CUSTOM = "custom"
|
|
152
|
+
# Disabled
|
|
103
153
|
DISABLED = "disabled"
|
|
104
154
|
|
|
105
155
|
|
|
@@ -111,19 +161,35 @@ class InputWindowsMetricsSystemTypedDict(TypedDict):
|
|
|
111
161
|
|
|
112
162
|
|
|
113
163
|
class InputWindowsMetricsSystem(BaseModel):
|
|
114
|
-
mode:
|
|
164
|
+
mode: Annotated[
|
|
165
|
+
Optional[InputWindowsMetricsSystemMode],
|
|
166
|
+
PlainValidator(validate_open_enum(False)),
|
|
167
|
+
] = InputWindowsMetricsSystemMode.BASIC
|
|
115
168
|
r"""Select the level of details for system metrics"""
|
|
116
169
|
|
|
117
170
|
detail: Optional[bool] = False
|
|
118
171
|
r"""Generate metrics for all system information"""
|
|
119
172
|
|
|
173
|
+
@field_serializer("mode")
|
|
174
|
+
def serialize_mode(self, value):
|
|
175
|
+
if isinstance(value, str):
|
|
176
|
+
try:
|
|
177
|
+
return models.InputWindowsMetricsSystemMode(value)
|
|
178
|
+
except ValueError:
|
|
179
|
+
return value
|
|
180
|
+
return value
|
|
181
|
+
|
|
120
182
|
|
|
121
|
-
class InputWindowsMetricsCPUMode(str, Enum):
|
|
183
|
+
class InputWindowsMetricsCPUMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
122
184
|
r"""Select the level of details for CPU metrics"""
|
|
123
185
|
|
|
186
|
+
# Basic
|
|
124
187
|
BASIC = "basic"
|
|
188
|
+
# All
|
|
125
189
|
ALL = "all"
|
|
190
|
+
# Custom
|
|
126
191
|
CUSTOM = "custom"
|
|
192
|
+
# Disabled
|
|
127
193
|
DISABLED = "disabled"
|
|
128
194
|
|
|
129
195
|
|
|
@@ -139,7 +205,9 @@ class InputWindowsMetricsCPUTypedDict(TypedDict):
|
|
|
139
205
|
|
|
140
206
|
|
|
141
207
|
class InputWindowsMetricsCPU(BaseModel):
|
|
142
|
-
mode:
|
|
208
|
+
mode: Annotated[
|
|
209
|
+
Optional[InputWindowsMetricsCPUMode], PlainValidator(validate_open_enum(False))
|
|
210
|
+
] = InputWindowsMetricsCPUMode.BASIC
|
|
143
211
|
r"""Select the level of details for CPU metrics"""
|
|
144
212
|
|
|
145
213
|
per_cpu: Annotated[Optional[bool], pydantic.Field(alias="perCpu")] = False
|
|
@@ -151,13 +219,26 @@ class InputWindowsMetricsCPU(BaseModel):
|
|
|
151
219
|
time: Optional[bool] = False
|
|
152
220
|
r"""Generate raw, monotonic CPU time counters"""
|
|
153
221
|
|
|
222
|
+
@field_serializer("mode")
|
|
223
|
+
def serialize_mode(self, value):
|
|
224
|
+
if isinstance(value, str):
|
|
225
|
+
try:
|
|
226
|
+
return models.InputWindowsMetricsCPUMode(value)
|
|
227
|
+
except ValueError:
|
|
228
|
+
return value
|
|
229
|
+
return value
|
|
154
230
|
|
|
155
|
-
|
|
231
|
+
|
|
232
|
+
class InputWindowsMetricsMemoryMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
156
233
|
r"""Select the level of details for memory metrics"""
|
|
157
234
|
|
|
235
|
+
# Basic
|
|
158
236
|
BASIC = "basic"
|
|
237
|
+
# All
|
|
159
238
|
ALL = "all"
|
|
239
|
+
# Custom
|
|
160
240
|
CUSTOM = "custom"
|
|
241
|
+
# Disabled
|
|
161
242
|
DISABLED = "disabled"
|
|
162
243
|
|
|
163
244
|
|
|
@@ -169,39 +250,64 @@ class InputWindowsMetricsMemoryTypedDict(TypedDict):
|
|
|
169
250
|
|
|
170
251
|
|
|
171
252
|
class InputWindowsMetricsMemory(BaseModel):
|
|
172
|
-
mode:
|
|
253
|
+
mode: Annotated[
|
|
254
|
+
Optional[InputWindowsMetricsMemoryMode],
|
|
255
|
+
PlainValidator(validate_open_enum(False)),
|
|
256
|
+
] = InputWindowsMetricsMemoryMode.BASIC
|
|
173
257
|
r"""Select the level of details for memory metrics"""
|
|
174
258
|
|
|
175
259
|
detail: Optional[bool] = False
|
|
176
260
|
r"""Generate metrics for all memory states"""
|
|
177
261
|
|
|
262
|
+
@field_serializer("mode")
|
|
263
|
+
def serialize_mode(self, value):
|
|
264
|
+
if isinstance(value, str):
|
|
265
|
+
try:
|
|
266
|
+
return models.InputWindowsMetricsMemoryMode(value)
|
|
267
|
+
except ValueError:
|
|
268
|
+
return value
|
|
269
|
+
return value
|
|
270
|
+
|
|
178
271
|
|
|
179
|
-
class InputWindowsMetricsNetworkMode(str, Enum):
|
|
272
|
+
class InputWindowsMetricsNetworkMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
180
273
|
r"""Select the level of details for network metrics"""
|
|
181
274
|
|
|
275
|
+
# Basic
|
|
182
276
|
BASIC = "basic"
|
|
277
|
+
# All
|
|
183
278
|
ALL = "all"
|
|
279
|
+
# Custom
|
|
184
280
|
CUSTOM = "custom"
|
|
281
|
+
# Disabled
|
|
185
282
|
DISABLED = "disabled"
|
|
186
283
|
|
|
187
284
|
|
|
188
285
|
class InputWindowsMetricsNetworkTypedDict(TypedDict):
|
|
189
286
|
mode: NotRequired[InputWindowsMetricsNetworkMode]
|
|
190
287
|
r"""Select the level of details for network metrics"""
|
|
288
|
+
detail: NotRequired[bool]
|
|
289
|
+
r"""Generate full network metrics"""
|
|
290
|
+
protocols: NotRequired[bool]
|
|
291
|
+
r"""Generate protocol metrics for ICMP, ICMPMsg, IP, TCP, UDP and UDPLite"""
|
|
191
292
|
devices: NotRequired[List[str]]
|
|
192
293
|
r"""Network interfaces to include/exclude. All interfaces are included if this list is empty."""
|
|
193
294
|
per_interface: NotRequired[bool]
|
|
194
295
|
r"""Generate separate metrics for each interface"""
|
|
195
|
-
detail: NotRequired[bool]
|
|
196
|
-
r"""Generate full network metrics"""
|
|
197
296
|
|
|
198
297
|
|
|
199
298
|
class InputWindowsMetricsNetwork(BaseModel):
|
|
200
|
-
mode:
|
|
201
|
-
InputWindowsMetricsNetworkMode
|
|
202
|
-
|
|
299
|
+
mode: Annotated[
|
|
300
|
+
Optional[InputWindowsMetricsNetworkMode],
|
|
301
|
+
PlainValidator(validate_open_enum(False)),
|
|
302
|
+
] = InputWindowsMetricsNetworkMode.BASIC
|
|
203
303
|
r"""Select the level of details for network metrics"""
|
|
204
304
|
|
|
305
|
+
detail: Optional[bool] = False
|
|
306
|
+
r"""Generate full network metrics"""
|
|
307
|
+
|
|
308
|
+
protocols: Optional[bool] = False
|
|
309
|
+
r"""Generate protocol metrics for ICMP, ICMPMsg, IP, TCP, UDP and UDPLite"""
|
|
310
|
+
|
|
205
311
|
devices: Optional[List[str]] = None
|
|
206
312
|
r"""Network interfaces to include/exclude. All interfaces are included if this list is empty."""
|
|
207
313
|
|
|
@@ -210,37 +316,63 @@ class InputWindowsMetricsNetwork(BaseModel):
|
|
|
210
316
|
)
|
|
211
317
|
r"""Generate separate metrics for each interface"""
|
|
212
318
|
|
|
213
|
-
|
|
214
|
-
|
|
319
|
+
@field_serializer("mode")
|
|
320
|
+
def serialize_mode(self, value):
|
|
321
|
+
if isinstance(value, str):
|
|
322
|
+
try:
|
|
323
|
+
return models.InputWindowsMetricsNetworkMode(value)
|
|
324
|
+
except ValueError:
|
|
325
|
+
return value
|
|
326
|
+
return value
|
|
215
327
|
|
|
216
328
|
|
|
217
|
-
class InputWindowsMetricsDiskMode(str, Enum):
|
|
329
|
+
class InputWindowsMetricsDiskMode(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
218
330
|
r"""Select the level of details for disk metrics"""
|
|
219
331
|
|
|
332
|
+
# Basic
|
|
220
333
|
BASIC = "basic"
|
|
334
|
+
# All
|
|
221
335
|
ALL = "all"
|
|
336
|
+
# Custom
|
|
222
337
|
CUSTOM = "custom"
|
|
338
|
+
# Disabled
|
|
223
339
|
DISABLED = "disabled"
|
|
224
340
|
|
|
225
341
|
|
|
226
342
|
class InputWindowsMetricsDiskTypedDict(TypedDict):
|
|
227
343
|
mode: NotRequired[InputWindowsMetricsDiskMode]
|
|
228
344
|
r"""Select the level of details for disk metrics"""
|
|
229
|
-
volumes: NotRequired[List[str]]
|
|
230
|
-
r"""Windows volumes to include/exclude. E.g.: C:, !E:, etc. Wildcards and ! (not) operators are supported. All volumes are included if this list is empty."""
|
|
231
345
|
per_volume: NotRequired[bool]
|
|
232
346
|
r"""Generate separate metrics for each volume"""
|
|
347
|
+
detail: NotRequired[bool]
|
|
348
|
+
r"""Generate full disk metrics"""
|
|
349
|
+
volumes: NotRequired[List[str]]
|
|
350
|
+
r"""Windows volumes to include/exclude. E.g.: C:, !E:, etc. Wildcards and ! (not) operators are supported. All volumes are included if this list is empty."""
|
|
233
351
|
|
|
234
352
|
|
|
235
353
|
class InputWindowsMetricsDisk(BaseModel):
|
|
236
|
-
mode:
|
|
354
|
+
mode: Annotated[
|
|
355
|
+
Optional[InputWindowsMetricsDiskMode], PlainValidator(validate_open_enum(False))
|
|
356
|
+
] = InputWindowsMetricsDiskMode.BASIC
|
|
237
357
|
r"""Select the level of details for disk metrics"""
|
|
238
358
|
|
|
359
|
+
per_volume: Annotated[Optional[bool], pydantic.Field(alias="perVolume")] = False
|
|
360
|
+
r"""Generate separate metrics for each volume"""
|
|
361
|
+
|
|
362
|
+
detail: Optional[bool] = False
|
|
363
|
+
r"""Generate full disk metrics"""
|
|
364
|
+
|
|
239
365
|
volumes: Optional[List[str]] = None
|
|
240
366
|
r"""Windows volumes to include/exclude. E.g.: C:, !E:, etc. Wildcards and ! (not) operators are supported. All volumes are included if this list is empty."""
|
|
241
367
|
|
|
242
|
-
|
|
243
|
-
|
|
368
|
+
@field_serializer("mode")
|
|
369
|
+
def serialize_mode(self, value):
|
|
370
|
+
if isinstance(value, str):
|
|
371
|
+
try:
|
|
372
|
+
return models.InputWindowsMetricsDiskMode(value)
|
|
373
|
+
except ValueError:
|
|
374
|
+
return value
|
|
375
|
+
return value
|
|
244
376
|
|
|
245
377
|
|
|
246
378
|
class InputWindowsMetricsCustomTypedDict(TypedDict):
|
|
@@ -270,11 +402,22 @@ class InputWindowsMetricsHostTypedDict(TypedDict):
|
|
|
270
402
|
|
|
271
403
|
|
|
272
404
|
class InputWindowsMetricsHost(BaseModel):
|
|
273
|
-
mode:
|
|
405
|
+
mode: Annotated[
|
|
406
|
+
Optional[InputWindowsMetricsHostMode], PlainValidator(validate_open_enum(False))
|
|
407
|
+
] = InputWindowsMetricsHostMode.BASIC
|
|
274
408
|
r"""Select level of detail for host metrics"""
|
|
275
409
|
|
|
276
410
|
custom: Optional[InputWindowsMetricsCustom] = None
|
|
277
411
|
|
|
412
|
+
@field_serializer("mode")
|
|
413
|
+
def serialize_mode(self, value):
|
|
414
|
+
if isinstance(value, str):
|
|
415
|
+
try:
|
|
416
|
+
return models.InputWindowsMetricsHostMode(value)
|
|
417
|
+
except ValueError:
|
|
418
|
+
return value
|
|
419
|
+
return value
|
|
420
|
+
|
|
278
421
|
|
|
279
422
|
class InputWindowsMetricsSetTypedDict(TypedDict):
|
|
280
423
|
name: str
|
|
@@ -315,7 +458,7 @@ class InputWindowsMetricsMetadatum(BaseModel):
|
|
|
315
458
|
r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
|
|
316
459
|
|
|
317
460
|
|
|
318
|
-
class InputWindowsMetricsDataCompressionFormat(str, Enum):
|
|
461
|
+
class InputWindowsMetricsDataCompressionFormat(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
319
462
|
NONE = "none"
|
|
320
463
|
GZIP = "gzip"
|
|
321
464
|
|
|
@@ -347,15 +490,25 @@ class InputWindowsMetricsPersistence(BaseModel):
|
|
|
347
490
|
max_data_time: Annotated[Optional[str], pydantic.Field(alias="maxDataTime")] = "24h"
|
|
348
491
|
r"""Maximum amount of time to retain data (examples: 2h, 4d). When limit is reached, older data will be deleted."""
|
|
349
492
|
|
|
350
|
-
compress:
|
|
351
|
-
InputWindowsMetricsDataCompressionFormat
|
|
352
|
-
|
|
493
|
+
compress: Annotated[
|
|
494
|
+
Optional[InputWindowsMetricsDataCompressionFormat],
|
|
495
|
+
PlainValidator(validate_open_enum(False)),
|
|
496
|
+
] = InputWindowsMetricsDataCompressionFormat.GZIP
|
|
353
497
|
|
|
354
498
|
dest_path: Annotated[Optional[str], pydantic.Field(alias="destPath")] = (
|
|
355
499
|
"$CRIBL_HOME/state/windows_metrics"
|
|
356
500
|
)
|
|
357
501
|
r"""Path to use to write metrics. Defaults to $CRIBL_HOME/state/windows_metrics"""
|
|
358
502
|
|
|
503
|
+
@field_serializer("compress")
|
|
504
|
+
def serialize_compress(self, value):
|
|
505
|
+
if isinstance(value, str):
|
|
506
|
+
try:
|
|
507
|
+
return models.InputWindowsMetricsDataCompressionFormat(value)
|
|
508
|
+
except ValueError:
|
|
509
|
+
return value
|
|
510
|
+
return value
|
|
511
|
+
|
|
359
512
|
|
|
360
513
|
class InputWindowsMetricsTypedDict(TypedDict):
|
|
361
514
|
type: InputWindowsMetricsType
|