cribl-control-plane 0.0.21__py3-none-any.whl → 0.4.0b23__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- cribl_control_plane/_hooks/clientcredentials.py +113 -48
- cribl_control_plane/_version.py +4 -4
- cribl_control_plane/acl.py +225 -0
- cribl_control_plane/auth_sdk.py +12 -176
- cribl_control_plane/basesdk.py +17 -1
- cribl_control_plane/branches.py +351 -0
- cribl_control_plane/commits.py +1403 -0
- cribl_control_plane/commits_files.py +391 -0
- cribl_control_plane/configs_versions.py +201 -0
- cribl_control_plane/cribl.py +495 -0
- cribl_control_plane/destinations.py +146 -805
- cribl_control_plane/destinations_pq.py +379 -0
- cribl_control_plane/errors/__init__.py +26 -10
- cribl_control_plane/errors/apierror.py +2 -0
- cribl_control_plane/errors/criblcontrolplaneerror.py +11 -7
- cribl_control_plane/errors/error.py +4 -2
- cribl_control_plane/errors/healthserverstatus_error.py +41 -0
- cribl_control_plane/errors/no_response_error.py +5 -1
- cribl_control_plane/errors/responsevalidationerror.py +2 -0
- cribl_control_plane/functions.py +367 -0
- cribl_control_plane/groups_configs.py +22 -0
- cribl_control_plane/groups_sdk.py +333 -578
- cribl_control_plane/health.py +38 -18
- cribl_control_plane/hectokens.py +503 -0
- cribl_control_plane/httpclient.py +0 -1
- cribl_control_plane/{lake.py → lakedatasets.py} +207 -115
- cribl_control_plane/models/__init__.py +3644 -5986
- cribl_control_plane/models/addhectokenrequest.py +7 -1
- cribl_control_plane/models/authtoken.py +5 -1
- cribl_control_plane/models/backupssettings_union.py +37 -0
- cribl_control_plane/models/{lookupversions.py → branchinfo.py} +4 -4
- cribl_control_plane/models/cacheconnection.py +30 -2
- cribl_control_plane/models/cacheconnectionbackfillstatus.py +2 -1
- cribl_control_plane/models/cloudprovider.py +2 -1
- cribl_control_plane/models/collectorazureblob.py +130 -0
- cribl_control_plane/models/collectorconf.py +56 -0
- cribl_control_plane/models/collectorcribllake.py +27 -0
- cribl_control_plane/models/collectordatabase.py +92 -0
- cribl_control_plane/models/collectorfilesystem.py +66 -0
- cribl_control_plane/models/collectorgooglecloudstorage.py +131 -0
- cribl_control_plane/models/collectorhealthcheck.py +269 -0
- cribl_control_plane/models/collectorrest.py +340 -0
- cribl_control_plane/models/collectors3.py +239 -0
- cribl_control_plane/models/collectorscript.py +59 -0
- cribl_control_plane/models/collectorsplunk.py +253 -0
- cribl_control_plane/models/configgroup.py +67 -11
- cribl_control_plane/models/configgroupcloud.py +17 -3
- cribl_control_plane/models/countedbranchinfo.py +20 -0
- cribl_control_plane/models/countedconfiggroup.py +20 -0
- cribl_control_plane/models/countedcribllakedataset.py +20 -0
- cribl_control_plane/models/counteddistributedsummary.py +20 -0
- cribl_control_plane/models/countedfunctionresponse.py +20 -0
- cribl_control_plane/models/countedgitcommitsummary.py +20 -0
- cribl_control_plane/models/countedgitcountresult.py +20 -0
- cribl_control_plane/models/countedgitdiffresult.py +20 -0
- cribl_control_plane/models/countedgitfilesresponse.py +20 -0
- cribl_control_plane/models/{getversioninfoop.py → countedgitinfo.py} +2 -6
- cribl_control_plane/models/countedgitlogresult.py +20 -0
- cribl_control_plane/models/countedgitrevertresult.py +20 -0
- cribl_control_plane/models/countedgitshowresult.py +20 -0
- cribl_control_plane/models/countedgitstatusresult.py +20 -0
- cribl_control_plane/models/{listinputop.py → countedinput.py} +2 -6
- cribl_control_plane/models/countedinputsplunkhec.py +20 -0
- cribl_control_plane/models/countedjobinfo.py +20 -0
- cribl_control_plane/models/countedmasterworkerentry.py +20 -0
- cribl_control_plane/models/countednumber.py +19 -0
- cribl_control_plane/models/{getversionbranchop.py → countedobject.py} +2 -6
- cribl_control_plane/models/{listoutputop.py → countedoutput.py} +2 -6
- cribl_control_plane/models/countedoutputsamplesresponse.py +20 -0
- cribl_control_plane/models/countedoutputtestresponse.py +20 -0
- cribl_control_plane/models/countedpackinfo.py +20 -0
- cribl_control_plane/models/{createpacksop.py → countedpackinstallinfo.py} +2 -6
- cribl_control_plane/models/{listpipelineop.py → countedpipeline.py} +2 -6
- cribl_control_plane/models/{listroutesop.py → countedroutes.py} +2 -6
- cribl_control_plane/models/countedstring.py +19 -0
- cribl_control_plane/models/countedsystemsettingsconf.py +20 -0
- cribl_control_plane/models/countedteamaccesscontrollist.py +20 -0
- cribl_control_plane/models/counteduseraccesscontrollist.py +20 -0
- cribl_control_plane/models/createauthloginop.py +18 -0
- cribl_control_plane/models/createconfiggroupbyproductop.py +46 -0
- cribl_control_plane/models/createcribllakedatasetbylakeidop.py +3 -21
- cribl_control_plane/models/createinputhectokenbyidop.py +3 -21
- cribl_control_plane/models/createoutputtestbyidop.py +3 -22
- cribl_control_plane/models/createroutesappendbyidop.py +4 -21
- cribl_control_plane/models/createversioncommitop.py +27 -20
- cribl_control_plane/models/createversionrevertop.py +7 -23
- cribl_control_plane/models/createversionundoop.py +7 -22
- cribl_control_plane/models/criblevent.py +15 -0
- cribl_control_plane/models/cribllakedataset.py +23 -3
- cribl_control_plane/models/cribllakedatasetupdate.py +95 -0
- cribl_control_plane/models/currentbranchresult.py +13 -0
- cribl_control_plane/models/datasetmetadata.py +18 -2
- cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +43 -0
- cribl_control_plane/models/deletecribllakedatasetbylakeidandidop.py +5 -24
- cribl_control_plane/models/deleteinputbyidop.py +3 -22
- cribl_control_plane/models/deleteoutputbyidop.py +3 -22
- cribl_control_plane/models/deleteoutputpqbyidop.py +3 -21
- cribl_control_plane/models/deletepacksbyidop.py +3 -22
- cribl_control_plane/models/deletepipelinebyidop.py +3 -22
- cribl_control_plane/models/difffiles.py +130 -0
- cribl_control_plane/models/diffline.py +26 -0
- cribl_control_plane/models/difflinecontext.py +28 -0
- cribl_control_plane/models/difflinedelete.py +25 -0
- cribl_control_plane/models/difflineinsert.py +25 -0
- cribl_control_plane/models/distributedsummary.py +6 -0
- cribl_control_plane/models/functionaggregatemetrics.py +206 -0
- cribl_control_plane/models/functionaggregation.py +172 -0
- cribl_control_plane/models/functionautotimestamp.py +173 -0
- cribl_control_plane/models/functioncef.py +111 -0
- cribl_control_plane/models/functionchain.py +75 -0
- cribl_control_plane/models/functionclone.py +75 -0
- cribl_control_plane/models/functioncode.py +96 -0
- cribl_control_plane/models/functioncomment.py +75 -0
- cribl_control_plane/models/functiondistinct.py +99 -0
- cribl_control_plane/models/functiondnslookup.py +250 -0
- cribl_control_plane/models/functiondrop.py +73 -0
- cribl_control_plane/models/functiondropdimensions.py +87 -0
- cribl_control_plane/models/functiondynamicsampling.py +121 -0
- cribl_control_plane/models/functioneval.py +103 -0
- cribl_control_plane/models/functioneventbreaker.py +103 -0
- cribl_control_plane/models/functioneventstats.py +92 -0
- cribl_control_plane/models/functionexternaldata.py +73 -0
- cribl_control_plane/models/functionflatten.py +90 -0
- cribl_control_plane/models/functionfoldkeys.py +89 -0
- cribl_control_plane/models/functiongenstats.py +73 -0
- cribl_control_plane/models/functiongeoip.py +120 -0
- cribl_control_plane/models/functiongrok.py +95 -0
- cribl_control_plane/models/functionhandlebar.py +112 -0
- cribl_control_plane/models/functionjoin.py +112 -0
- cribl_control_plane/models/functionjsonunroll.py +80 -0
- cribl_control_plane/models/functionlakeexport.py +102 -0
- cribl_control_plane/models/functionlimit.py +75 -0
- cribl_control_plane/models/functionlocalsearchdatatypeparser.py +76 -0
- cribl_control_plane/models/functionlocalsearchrulesetrunner.py +97 -0
- cribl_control_plane/models/functionlookup.py +148 -0
- cribl_control_plane/models/functionmask.py +121 -0
- cribl_control_plane/models/functionmvexpand.py +128 -0
- cribl_control_plane/models/functionmvpull.py +99 -0
- cribl_control_plane/models/functionnotificationpolicies.py +186 -0
- cribl_control_plane/models/functionnotifications.py +85 -0
- cribl_control_plane/models/functionnotify.py +196 -0
- cribl_control_plane/models/functionnumerify.py +119 -0
- cribl_control_plane/models/functionotlplogs.py +82 -0
- cribl_control_plane/models/functionotlpmetrics.py +118 -0
- cribl_control_plane/models/functionotlptraces.py +111 -0
- cribl_control_plane/models/functionpack.py +80 -0
- cribl_control_plane/models/functionpivot.py +85 -0
- cribl_control_plane/models/functionpublishmetrics.py +153 -0
- cribl_control_plane/models/functionredis.py +173 -0
- cribl_control_plane/models/functionregexextract.py +112 -0
- cribl_control_plane/models/functionregexfilter.py +95 -0
- cribl_control_plane/models/functionrename.py +107 -0
- cribl_control_plane/models/functionresponse.py +242 -0
- cribl_control_plane/models/functionrollupmetrics.py +114 -0
- cribl_control_plane/models/functionsampling.py +90 -0
- cribl_control_plane/models/functionsend.py +141 -0
- cribl_control_plane/models/functionsensitivedatascanner.py +128 -0
- cribl_control_plane/models/functionserde.py +161 -0
- cribl_control_plane/models/functionserialize.py +134 -0
- cribl_control_plane/models/functionsidlookup.py +93 -0
- cribl_control_plane/models/functionsnmptrapserialize.py +144 -0
- cribl_control_plane/models/functionsort.py +97 -0
- cribl_control_plane/models/functionstore.py +132 -0
- cribl_control_plane/models/functionsuppress.py +115 -0
- cribl_control_plane/models/functiontee.py +90 -0
- cribl_control_plane/models/functiontrimtimestamp.py +75 -0
- cribl_control_plane/models/functionunion.py +80 -0
- cribl_control_plane/models/functionunroll.py +80 -0
- cribl_control_plane/models/functionwindow.py +96 -0
- cribl_control_plane/models/functionxmlunroll.py +92 -0
- cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +63 -0
- cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +63 -0
- cribl_control_plane/models/getconfiggroupbyproductandidop.py +53 -0
- cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +43 -0
- cribl_control_plane/models/getcribllakedatasetbylakeidandidop.py +5 -24
- cribl_control_plane/models/getcribllakedatasetbylakeidop.py +56 -16
- cribl_control_plane/models/getfunctionsbyidop.py +18 -0
- cribl_control_plane/models/getinputbyidop.py +3 -22
- cribl_control_plane/models/getmasterworkerentryop.py +22 -0
- cribl_control_plane/models/getoutputbyidop.py +3 -22
- cribl_control_plane/models/getoutputpqbyidop.py +3 -21
- cribl_control_plane/models/getoutputsamplesbyidop.py +3 -22
- cribl_control_plane/models/getpacksbyidop.py +18 -0
- cribl_control_plane/models/getpacksop.py +3 -21
- cribl_control_plane/models/getpipelinebyidop.py +3 -22
- cribl_control_plane/models/getroutesbyidop.py +3 -22
- cribl_control_plane/models/getsummaryop.py +23 -32
- cribl_control_plane/models/getversioncountop.py +10 -27
- cribl_control_plane/models/getversiondiffop.py +12 -28
- cribl_control_plane/models/getversionfilesop.py +10 -28
- cribl_control_plane/models/getversionop.py +30 -0
- cribl_control_plane/models/getversionshowop.py +12 -28
- cribl_control_plane/models/getversionstatusop.py +7 -23
- cribl_control_plane/models/gitcommitsummary.py +3 -3
- cribl_control_plane/models/{routecloneconf.py → gitcountresult.py} +4 -4
- cribl_control_plane/models/gitdiffresult.py +16 -0
- cribl_control_plane/models/gitfilesresponse.py +7 -5
- cribl_control_plane/models/gitinfo.py +14 -3
- cribl_control_plane/models/gitlogresult.py +33 -0
- cribl_control_plane/models/gitrevertparams.py +3 -3
- cribl_control_plane/models/gitrevertresult.py +5 -5
- cribl_control_plane/models/gitshowresult.py +19 -0
- cribl_control_plane/models/gitstatusresult.py +0 -3
- cribl_control_plane/models/groupcreaterequest.py +172 -0
- cribl_control_plane/models/hbcriblinfo.py +42 -7
- cribl_control_plane/models/healthserverstatus.py +55 -0
- cribl_control_plane/models/heartbeatmetadata.py +6 -11
- cribl_control_plane/models/input.py +89 -81
- cribl_control_plane/models/inputappscope.py +131 -35
- cribl_control_plane/models/inputazureblob.py +62 -6
- cribl_control_plane/models/inputcloudflarehec.py +518 -0
- cribl_control_plane/models/inputcollection.py +49 -6
- cribl_control_plane/models/inputconfluentcloud.py +262 -22
- cribl_control_plane/models/inputcribl.py +52 -9
- cribl_control_plane/models/inputcriblhttp.py +124 -33
- cribl_control_plane/models/inputcribllakehttp.py +199 -29
- cribl_control_plane/models/inputcriblmetrics.py +53 -9
- cribl_control_plane/models/inputcribltcp.py +125 -27
- cribl_control_plane/models/inputcrowdstrike.py +99 -10
- cribl_control_plane/models/inputdatadogagent.py +101 -27
- cribl_control_plane/models/inputdatagen.py +47 -4
- cribl_control_plane/models/inputedgeprometheus.py +215 -58
- cribl_control_plane/models/inputelastic.py +170 -39
- cribl_control_plane/models/inputeventhub.py +212 -9
- cribl_control_plane/models/inputexec.py +59 -6
- cribl_control_plane/models/inputfile.py +83 -15
- cribl_control_plane/models/inputfirehose.py +100 -27
- cribl_control_plane/models/inputgooglepubsub.py +83 -15
- cribl_control_plane/models/{inputgrafana_union.py → inputgrafana.py} +261 -67
- cribl_control_plane/models/inputhttp.py +100 -27
- cribl_control_plane/models/inputhttpraw.py +100 -27
- cribl_control_plane/models/inputjournalfiles.py +51 -7
- cribl_control_plane/models/inputkafka.py +257 -19
- cribl_control_plane/models/inputkinesis.py +133 -17
- cribl_control_plane/models/inputkubeevents.py +52 -9
- cribl_control_plane/models/inputkubelogs.py +66 -13
- cribl_control_plane/models/inputkubemetrics.py +66 -13
- cribl_control_plane/models/inputloki.py +116 -30
- cribl_control_plane/models/inputmetrics.py +97 -24
- cribl_control_plane/models/inputmodeldriventelemetry.py +110 -29
- cribl_control_plane/models/inputmsk.py +148 -21
- cribl_control_plane/models/inputnetflow.py +50 -7
- cribl_control_plane/models/inputoffice365mgmt.py +115 -17
- cribl_control_plane/models/inputoffice365msgtrace.py +117 -19
- cribl_control_plane/models/inputoffice365service.py +117 -19
- cribl_control_plane/models/inputopentelemetry.py +146 -35
- cribl_control_plane/models/inputprometheus.py +196 -47
- cribl_control_plane/models/inputprometheusrw.py +117 -30
- cribl_control_plane/models/inputrawudp.py +50 -7
- cribl_control_plane/models/inputs3.py +85 -8
- cribl_control_plane/models/inputs3inventory.py +99 -10
- cribl_control_plane/models/inputsecuritylake.py +100 -10
- cribl_control_plane/models/inputsnmp.py +115 -24
- cribl_control_plane/models/inputsplunk.py +133 -31
- cribl_control_plane/models/inputsplunkhec.py +122 -32
- cribl_control_plane/models/inputsplunksearch.py +115 -18
- cribl_control_plane/models/inputsqs.py +102 -19
- cribl_control_plane/models/{inputsyslog_union.py → inputsyslog.py} +193 -51
- cribl_control_plane/models/inputsystemmetrics.py +207 -37
- cribl_control_plane/models/inputsystemstate.py +66 -13
- cribl_control_plane/models/inputtcp.py +125 -29
- cribl_control_plane/models/inputtcpjson.py +115 -29
- cribl_control_plane/models/inputwef.py +151 -22
- cribl_control_plane/models/inputwindowsmetrics.py +191 -38
- cribl_control_plane/models/inputwineventlogs.py +93 -11
- cribl_control_plane/models/inputwiz.py +176 -11
- cribl_control_plane/models/inputwizwebhook.py +466 -0
- cribl_control_plane/models/inputzscalerhec.py +122 -32
- cribl_control_plane/models/jobinfo.py +34 -0
- cribl_control_plane/models/jobstatus.py +48 -0
- cribl_control_plane/models/lakedatasetmetrics.py +17 -0
- cribl_control_plane/models/lakehouseconnectiontype.py +2 -1
- cribl_control_plane/models/listconfiggroupbyproductop.py +46 -0
- cribl_control_plane/models/listmasterworkerentryop.py +64 -0
- cribl_control_plane/models/logininfo.py +3 -3
- cribl_control_plane/models/masterworkerentry.py +20 -13
- cribl_control_plane/models/nodeactiveupgradestatus.py +2 -1
- cribl_control_plane/models/nodefailedupgradestatus.py +2 -1
- cribl_control_plane/models/nodeprovidedinfo.py +13 -11
- cribl_control_plane/models/nodeskippedupgradestatus.py +2 -1
- cribl_control_plane/models/nodeupgradestate.py +2 -1
- cribl_control_plane/models/nodeupgradestatus.py +51 -5
- cribl_control_plane/models/outpostnodeinfo.py +16 -0
- cribl_control_plane/models/output.py +103 -89
- cribl_control_plane/models/outputazureblob.py +174 -21
- cribl_control_plane/models/outputazuredataexplorer.py +517 -93
- cribl_control_plane/models/outputazureeventhub.py +318 -34
- cribl_control_plane/models/outputazurelogs.py +145 -26
- cribl_control_plane/models/outputchronicle.py +532 -0
- cribl_control_plane/models/outputclickhouse.py +208 -37
- cribl_control_plane/models/outputcloudflarer2.py +632 -0
- cribl_control_plane/models/outputcloudwatch.py +132 -26
- cribl_control_plane/models/outputconfluentcloud.py +387 -46
- cribl_control_plane/models/outputcriblhttp.py +203 -36
- cribl_control_plane/models/outputcribllake.py +161 -21
- cribl_control_plane/models/outputcribltcp.py +199 -34
- cribl_control_plane/models/outputcrowdstrikenextgensiem.py +176 -32
- cribl_control_plane/models/outputdatabricks.py +501 -0
- cribl_control_plane/models/outputdatadog.py +204 -36
- cribl_control_plane/models/outputdataset.py +186 -34
- cribl_control_plane/models/outputdevnull.py +5 -5
- cribl_control_plane/models/outputdiskspool.py +22 -7
- cribl_control_plane/models/outputdls3.py +238 -29
- cribl_control_plane/models/outputdynatracehttp.py +211 -37
- cribl_control_plane/models/outputdynatraceotlp.py +213 -39
- cribl_control_plane/models/outputelastic.py +199 -30
- cribl_control_plane/models/outputelasticcloud.py +174 -29
- cribl_control_plane/models/outputexabeam.py +99 -13
- cribl_control_plane/models/outputfilesystem.py +139 -14
- cribl_control_plane/models/outputgooglechronicle.py +216 -35
- cribl_control_plane/models/outputgooglecloudlogging.py +177 -34
- cribl_control_plane/models/outputgooglecloudstorage.py +220 -29
- cribl_control_plane/models/outputgooglepubsub.py +138 -51
- cribl_control_plane/models/outputgrafanacloud.py +386 -70
- cribl_control_plane/models/outputgraphite.py +131 -28
- cribl_control_plane/models/outputhoneycomb.py +145 -26
- cribl_control_plane/models/outputhumiohec.py +165 -31
- cribl_control_plane/models/outputinfluxdb.py +165 -28
- cribl_control_plane/models/outputkafka.py +378 -41
- cribl_control_plane/models/outputkinesis.py +168 -30
- cribl_control_plane/models/outputloki.py +171 -27
- cribl_control_plane/models/outputmicrosoftfabric.py +540 -0
- cribl_control_plane/models/outputminio.py +228 -28
- cribl_control_plane/models/outputmsk.py +270 -43
- cribl_control_plane/models/outputnewrelic.py +176 -34
- cribl_control_plane/models/outputnewrelicevents.py +166 -31
- cribl_control_plane/models/outputopentelemetry.py +240 -40
- cribl_control_plane/models/outputprometheus.py +145 -26
- cribl_control_plane/models/outputring.py +54 -13
- cribl_control_plane/models/outputs3.py +238 -31
- cribl_control_plane/models/outputsecuritylake.py +182 -21
- cribl_control_plane/models/outputsentinel.py +175 -32
- cribl_control_plane/models/outputsentineloneaisiem.py +184 -38
- cribl_control_plane/models/outputservicenow.py +226 -41
- cribl_control_plane/models/outputsignalfx.py +145 -26
- cribl_control_plane/models/outputsns.py +146 -28
- cribl_control_plane/models/outputsplunk.py +209 -39
- cribl_control_plane/models/outputsplunkhec.py +243 -31
- cribl_control_plane/models/outputsplunklb.py +266 -46
- cribl_control_plane/models/outputsqs.py +166 -36
- cribl_control_plane/models/outputstatsd.py +130 -28
- cribl_control_plane/models/outputstatsdext.py +131 -28
- cribl_control_plane/models/outputsumologic.py +146 -25
- cribl_control_plane/models/outputsyslog.py +323 -51
- cribl_control_plane/models/outputtcpjson.py +191 -37
- cribl_control_plane/models/outputwavefront.py +145 -26
- cribl_control_plane/models/outputwebhook.py +216 -38
- cribl_control_plane/models/outputxsiam.py +148 -31
- cribl_control_plane/models/packinfo.py +11 -8
- cribl_control_plane/models/packinstallinfo.py +14 -11
- cribl_control_plane/models/packrequestbody_union.py +140 -0
- cribl_control_plane/models/packupgraderequest.py +26 -0
- cribl_control_plane/models/piisettings_union.py +31 -0
- cribl_control_plane/models/productscore.py +10 -0
- cribl_control_plane/models/rbacresource.py +2 -1
- cribl_control_plane/models/resourcepolicy.py +15 -2
- cribl_control_plane/models/rollbacksettings_union.py +44 -0
- cribl_control_plane/models/routeconf.py +3 -4
- cribl_control_plane/models/routes.py +0 -24
- cribl_control_plane/models/runnablejob.py +27 -0
- cribl_control_plane/models/runnablejobcollection.py +628 -0
- cribl_control_plane/models/runnablejobexecutor.py +360 -0
- cribl_control_plane/models/runnablejobscheduledsearch.py +279 -0
- cribl_control_plane/models/schemeclientoauth.py +5 -0
- cribl_control_plane/models/snisettings_union.py +31 -0
- cribl_control_plane/models/systemsettingsconf.py +291 -0
- cribl_control_plane/models/tlssettings_union.py +43 -0
- cribl_control_plane/models/updateconfiggroupbyproductandidop.py +56 -0
- cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +53 -0
- cribl_control_plane/models/updatecribllakedatasetbylakeidandidop.py +14 -29
- cribl_control_plane/models/updatehectokenrequest.py +7 -1
- cribl_control_plane/models/updateinputbyidop.py +5 -23
- cribl_control_plane/models/updateinputhectokenbyidandtokenop.py +5 -23
- cribl_control_plane/models/updateoutputbyidop.py +5 -23
- cribl_control_plane/models/updatepacksbyidop.py +12 -50
- cribl_control_plane/models/updatepacksop.py +12 -24
- cribl_control_plane/models/updatepipelinebyidop.py +5 -23
- cribl_control_plane/models/updateroutesbyidop.py +8 -27
- cribl_control_plane/models/upgradegroupsettings_union.py +43 -0
- cribl_control_plane/models/upgradepackageurls.py +20 -0
- cribl_control_plane/models/upgradesettings.py +38 -0
- cribl_control_plane/models/uploadpackresponse.py +13 -0
- cribl_control_plane/models/{appmode.py → workertypes.py} +2 -5
- cribl_control_plane/{workers_sdk.py → nodes.py} +102 -234
- cribl_control_plane/packs.py +385 -184
- cribl_control_plane/pipelines.py +116 -66
- cribl_control_plane/routes_sdk.py +102 -70
- cribl_control_plane/samples.py +407 -0
- cribl_control_plane/sdk.py +35 -25
- cribl_control_plane/settings.py +20 -0
- cribl_control_plane/sources.py +143 -545
- cribl_control_plane/statuses.py +195 -0
- cribl_control_plane/summaries.py +195 -0
- cribl_control_plane/system_sdk.py +20 -0
- cribl_control_plane/teams.py +36 -28
- cribl_control_plane/tokens.py +210 -0
- cribl_control_plane/utils/__init__.py +18 -5
- cribl_control_plane/utils/annotations.py +32 -8
- cribl_control_plane/utils/eventstreaming.py +10 -0
- cribl_control_plane/utils/forms.py +21 -10
- cribl_control_plane/utils/queryparams.py +14 -2
- cribl_control_plane/utils/retries.py +69 -5
- cribl_control_plane/utils/security.py +5 -0
- cribl_control_plane/utils/unmarshal_json_response.py +15 -1
- cribl_control_plane/versions.py +31 -0
- cribl_control_plane/{distributed.py → versions_configs.py} +29 -35
- cribl_control_plane-0.4.0b23.dist-info/METADATA +855 -0
- cribl_control_plane-0.4.0b23.dist-info/RECORD +450 -0
- {cribl_control_plane-0.0.21.dist-info → cribl_control_plane-0.4.0b23.dist-info}/WHEEL +1 -1
- cribl_control_plane-0.4.0b23.dist-info/licenses/LICENSE +201 -0
- cribl_control_plane/errors/healthstatus_error.py +0 -32
- cribl_control_plane/models/createinputop.py +0 -18238
- cribl_control_plane/models/createoutputop.py +0 -18437
- cribl_control_plane/models/createpipelineop.py +0 -24
- cribl_control_plane/models/createproductsgroupsbyproductop.py +0 -54
- cribl_control_plane/models/createversionpushop.py +0 -23
- cribl_control_plane/models/createversionsyncop.py +0 -23
- cribl_control_plane/models/deletegroupsbyidop.py +0 -37
- cribl_control_plane/models/getgroupsaclbyidop.py +0 -63
- cribl_control_plane/models/getgroupsbyidop.py +0 -49
- cribl_control_plane/models/getgroupsconfigversionbyidop.py +0 -36
- cribl_control_plane/models/getproductsgroupsaclteamsbyproductandidop.py +0 -78
- cribl_control_plane/models/getproductsgroupsbyproductop.py +0 -58
- cribl_control_plane/models/getsummaryworkersop.py +0 -39
- cribl_control_plane/models/getversioncurrentbranchop.py +0 -23
- cribl_control_plane/models/getworkersop.py +0 -82
- cribl_control_plane/models/healthstatus.py +0 -33
- cribl_control_plane/models/packrequestbody.py +0 -75
- cribl_control_plane/models/restartresponse.py +0 -26
- cribl_control_plane/models/routesroute_input.py +0 -67
- cribl_control_plane/models/updategroupsbyidop.py +0 -48
- cribl_control_plane/models/updategroupsdeploybyidop.py +0 -46
- cribl_control_plane/models/updateworkersrestartop.py +0 -24
- cribl_control_plane/versioning.py +0 -2309
- cribl_control_plane-0.0.21.dist-info/METADATA +0 -561
- cribl_control_plane-0.0.21.dist-info/RECORD +0 -301
|
@@ -1,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 InputPrometheusConnection(BaseModel):
|
|
|
23
27
|
pipeline: Optional[str] = None
|
|
24
28
|
|
|
25
29
|
|
|
26
|
-
class InputPrometheusMode(str, Enum):
|
|
30
|
+
class InputPrometheusMode(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 InputPrometheusCompression(str, Enum):
|
|
39
|
+
class InputPrometheusCompression(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 InputPrometheusPqControlsTypedDict(TypedDict):
|
|
49
|
+
pass
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
class InputPrometheusPqControls(BaseModel):
|
|
53
|
+
pass
|
|
54
|
+
|
|
55
|
+
|
|
40
56
|
class InputPrometheusPqTypedDict(TypedDict):
|
|
41
57
|
mode: NotRequired[InputPrometheusMode]
|
|
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 InputPrometheusPqTypedDict(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[InputPrometheusCompression]
|
|
54
70
|
r"""Codec to use to compress the persisted data"""
|
|
71
|
+
pq_controls: NotRequired[InputPrometheusPqControlsTypedDict]
|
|
55
72
|
|
|
56
73
|
|
|
57
74
|
class InputPrometheusPq(BaseModel):
|
|
58
|
-
mode:
|
|
75
|
+
mode: Annotated[
|
|
76
|
+
Optional[InputPrometheusMode], PlainValidator(validate_open_enum(False))
|
|
77
|
+
] = InputPrometheusMode.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,19 +98,46 @@ class InputPrometheusPq(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[InputPrometheusCompression], PlainValidator(validate_open_enum(False))
|
|
103
|
+
] = InputPrometheusCompression.NONE
|
|
83
104
|
r"""Codec to use to compress the persisted data"""
|
|
84
105
|
|
|
106
|
+
pq_controls: Annotated[
|
|
107
|
+
Optional[InputPrometheusPqControls], 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.InputPrometheusMode(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.InputPrometheusCompression(value)
|
|
124
|
+
except ValueError:
|
|
125
|
+
return value
|
|
126
|
+
return value
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
class InputPrometheusDiscoveryType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
87
130
|
r"""Target discovery mechanism. Use static to manually enter a list of targets."""
|
|
88
131
|
|
|
132
|
+
# Static
|
|
89
133
|
STATIC = "static"
|
|
134
|
+
# DNS
|
|
90
135
|
DNS = "dns"
|
|
136
|
+
# AWS EC2
|
|
91
137
|
EC2 = "ec2"
|
|
92
138
|
|
|
93
139
|
|
|
94
|
-
class InputPrometheusLogLevel(str, Enum):
|
|
140
|
+
class InputPrometheusLogLevel(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
95
141
|
r"""Collector runtime Log Level"""
|
|
96
142
|
|
|
97
143
|
ERROR = "error"
|
|
@@ -113,14 +159,16 @@ class InputPrometheusMetadatum(BaseModel):
|
|
|
113
159
|
r"""JavaScript expression to compute field's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
|
|
114
160
|
|
|
115
161
|
|
|
116
|
-
class InputPrometheusAuthTypeAuthenticationMethod(
|
|
162
|
+
class InputPrometheusAuthTypeAuthenticationMethod(
|
|
163
|
+
str, Enum, metaclass=utils.OpenEnumMeta
|
|
164
|
+
):
|
|
117
165
|
r"""Enter credentials directly, or select a stored secret"""
|
|
118
166
|
|
|
119
167
|
MANUAL = "manual"
|
|
120
168
|
SECRET = "secret"
|
|
121
169
|
|
|
122
170
|
|
|
123
|
-
class InputPrometheusRecordType(str, Enum):
|
|
171
|
+
class InputPrometheusRecordType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
124
172
|
r"""DNS Record type to resolve"""
|
|
125
173
|
|
|
126
174
|
SRV = "SRV"
|
|
@@ -128,13 +176,26 @@ class InputPrometheusRecordType(str, Enum):
|
|
|
128
176
|
AAAA = "AAAA"
|
|
129
177
|
|
|
130
178
|
|
|
131
|
-
class MetricsProtocol(str, Enum):
|
|
179
|
+
class MetricsProtocol(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
132
180
|
r"""Protocol to use when collecting metrics"""
|
|
133
181
|
|
|
134
182
|
HTTP = "http"
|
|
135
183
|
HTTPS = "https"
|
|
136
184
|
|
|
137
185
|
|
|
186
|
+
class InputPrometheusAwsAuthenticationMethodAuthenticationMethod(
|
|
187
|
+
str, Enum, metaclass=utils.OpenEnumMeta
|
|
188
|
+
):
|
|
189
|
+
r"""AWS authentication method. Choose Auto to use IAM roles."""
|
|
190
|
+
|
|
191
|
+
# Auto
|
|
192
|
+
AUTO = "auto"
|
|
193
|
+
# Manual
|
|
194
|
+
MANUAL = "manual"
|
|
195
|
+
# Secret Key pair
|
|
196
|
+
SECRET = "secret"
|
|
197
|
+
|
|
198
|
+
|
|
138
199
|
class InputPrometheusSearchFilterTypedDict(TypedDict):
|
|
139
200
|
name: str
|
|
140
201
|
r"""Search filter attribute name, see: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html for more information. Attributes can be manually entered if not present in the drop down list"""
|
|
@@ -150,15 +211,7 @@ class InputPrometheusSearchFilter(BaseModel):
|
|
|
150
211
|
r"""Search Filter Values, if empty only \"running\" EC2 instances will be returned"""
|
|
151
212
|
|
|
152
213
|
|
|
153
|
-
class
|
|
154
|
-
r"""AWS authentication method. Choose Auto to use IAM roles."""
|
|
155
|
-
|
|
156
|
-
AUTO = "auto"
|
|
157
|
-
MANUAL = "manual"
|
|
158
|
-
SECRET = "secret"
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
class InputPrometheusSignatureVersion(str, Enum):
|
|
214
|
+
class InputPrometheusSignatureVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
162
215
|
r"""Signature version to use for signing EC2 requests"""
|
|
163
216
|
|
|
164
217
|
V2 = "v2"
|
|
@@ -166,9 +219,9 @@ class InputPrometheusSignatureVersion(str, Enum):
|
|
|
166
219
|
|
|
167
220
|
|
|
168
221
|
class InputPrometheusTypedDict(TypedDict):
|
|
222
|
+
type: InputPrometheusType
|
|
169
223
|
id: NotRequired[str]
|
|
170
224
|
r"""Unique ID for this input"""
|
|
171
|
-
type: NotRequired[InputPrometheusType]
|
|
172
225
|
disabled: NotRequired[bool]
|
|
173
226
|
pipeline: NotRequired[str]
|
|
174
227
|
r"""Pipeline to process data from this Source before sending it through the Routes"""
|
|
@@ -210,24 +263,27 @@ class InputPrometheusTypedDict(TypedDict):
|
|
|
210
263
|
description: NotRequired[str]
|
|
211
264
|
target_list: NotRequired[List[str]]
|
|
212
265
|
r"""List of Prometheus targets to pull metrics from. Values can be in URL or host[:port] format. For example: http://localhost:9090/metrics, localhost:9090, or localhost. In cases where just host[:port] is specified, the endpoint will resolve to 'http://host[:port]/metrics'."""
|
|
213
|
-
name_list: NotRequired[List[str]]
|
|
214
|
-
r"""List of DNS names to resolve"""
|
|
215
266
|
record_type: NotRequired[InputPrometheusRecordType]
|
|
216
267
|
r"""DNS Record type to resolve"""
|
|
268
|
+
scrape_port: NotRequired[float]
|
|
269
|
+
r"""The port number in the metrics URL for discovered targets."""
|
|
270
|
+
name_list: NotRequired[List[str]]
|
|
271
|
+
r"""List of DNS names to resolve"""
|
|
217
272
|
scrape_protocol: NotRequired[MetricsProtocol]
|
|
218
273
|
r"""Protocol to use when collecting metrics"""
|
|
219
274
|
scrape_path: NotRequired[str]
|
|
220
275
|
r"""Path to use when collecting metrics from discovered targets"""
|
|
221
|
-
use_public_ip: NotRequired[bool]
|
|
222
|
-
r"""Use public IP address for discovered targets. Set to false if the private IP address should be used."""
|
|
223
|
-
scrape_port: NotRequired[float]
|
|
224
|
-
r"""The port number in the metrics URL for discovered targets."""
|
|
225
|
-
search_filter: NotRequired[List[InputPrometheusSearchFilterTypedDict]]
|
|
226
|
-
r"""EC2 Instance Search Filter"""
|
|
227
276
|
aws_authentication_method: NotRequired[
|
|
228
277
|
InputPrometheusAwsAuthenticationMethodAuthenticationMethod
|
|
229
278
|
]
|
|
230
279
|
r"""AWS authentication method. Choose Auto to use IAM roles."""
|
|
280
|
+
aws_api_key: NotRequired[str]
|
|
281
|
+
aws_secret: NotRequired[str]
|
|
282
|
+
r"""Select or create a stored secret that references your access key and secret key"""
|
|
283
|
+
use_public_ip: NotRequired[bool]
|
|
284
|
+
r"""Use public IP address for discovered targets. Set to false if the private IP address should be used."""
|
|
285
|
+
search_filter: NotRequired[List[InputPrometheusSearchFilterTypedDict]]
|
|
286
|
+
r"""EC2 Instance Search Filter"""
|
|
231
287
|
aws_secret_key: NotRequired[str]
|
|
232
288
|
region: NotRequired[str]
|
|
233
289
|
r"""Region where the EC2 is located"""
|
|
@@ -254,11 +310,11 @@ class InputPrometheusTypedDict(TypedDict):
|
|
|
254
310
|
|
|
255
311
|
|
|
256
312
|
class InputPrometheus(BaseModel):
|
|
313
|
+
type: InputPrometheusType
|
|
314
|
+
|
|
257
315
|
id: Optional[str] = None
|
|
258
316
|
r"""Unique ID for this input"""
|
|
259
317
|
|
|
260
|
-
type: Optional[InputPrometheusType] = None
|
|
261
|
-
|
|
262
318
|
disabled: Optional[bool] = False
|
|
263
319
|
|
|
264
320
|
pipeline: Optional[str] = None
|
|
@@ -289,7 +345,11 @@ class InputPrometheus(BaseModel):
|
|
|
289
345
|
r"""Other dimensions to include in events"""
|
|
290
346
|
|
|
291
347
|
discovery_type: Annotated[
|
|
292
|
-
|
|
348
|
+
Annotated[
|
|
349
|
+
Optional[InputPrometheusDiscoveryType],
|
|
350
|
+
PlainValidator(validate_open_enum(False)),
|
|
351
|
+
],
|
|
352
|
+
pydantic.Field(alias="discoveryType"),
|
|
293
353
|
] = InputPrometheusDiscoveryType.STATIC
|
|
294
354
|
r"""Target discovery mechanism. Use static to manually enter a list of targets."""
|
|
295
355
|
|
|
@@ -297,7 +357,10 @@ class InputPrometheus(BaseModel):
|
|
|
297
357
|
r"""How often in minutes to scrape targets for metrics, 60 must be evenly divisible by the value or save will fail."""
|
|
298
358
|
|
|
299
359
|
log_level: Annotated[
|
|
300
|
-
|
|
360
|
+
Annotated[
|
|
361
|
+
Optional[InputPrometheusLogLevel], PlainValidator(validate_open_enum(False))
|
|
362
|
+
],
|
|
363
|
+
pydantic.Field(alias="logLevel"),
|
|
301
364
|
] = InputPrometheusLogLevel.INFO
|
|
302
365
|
r"""Collector runtime Log Level"""
|
|
303
366
|
|
|
@@ -331,7 +394,10 @@ class InputPrometheus(BaseModel):
|
|
|
331
394
|
r"""Fields to add to events from this input"""
|
|
332
395
|
|
|
333
396
|
auth_type: Annotated[
|
|
334
|
-
|
|
397
|
+
Annotated[
|
|
398
|
+
Optional[InputPrometheusAuthTypeAuthenticationMethod],
|
|
399
|
+
PlainValidator(validate_open_enum(False)),
|
|
400
|
+
],
|
|
335
401
|
pydantic.Field(alias="authType"),
|
|
336
402
|
] = InputPrometheusAuthTypeAuthenticationMethod.MANUAL
|
|
337
403
|
r"""Enter credentials directly, or select a stored secret"""
|
|
@@ -343,16 +409,24 @@ class InputPrometheus(BaseModel):
|
|
|
343
409
|
)
|
|
344
410
|
r"""List of Prometheus targets to pull metrics from. Values can be in URL or host[:port] format. For example: http://localhost:9090/metrics, localhost:9090, or localhost. In cases where just host[:port] is specified, the endpoint will resolve to 'http://host[:port]/metrics'."""
|
|
345
411
|
|
|
346
|
-
name_list: Annotated[Optional[List[str]], pydantic.Field(alias="nameList")] = None
|
|
347
|
-
r"""List of DNS names to resolve"""
|
|
348
|
-
|
|
349
412
|
record_type: Annotated[
|
|
350
|
-
|
|
413
|
+
Annotated[
|
|
414
|
+
Optional[InputPrometheusRecordType],
|
|
415
|
+
PlainValidator(validate_open_enum(False)),
|
|
416
|
+
],
|
|
417
|
+
pydantic.Field(alias="recordType"),
|
|
351
418
|
] = InputPrometheusRecordType.SRV
|
|
352
419
|
r"""DNS Record type to resolve"""
|
|
353
420
|
|
|
421
|
+
scrape_port: Annotated[Optional[float], pydantic.Field(alias="scrapePort")] = 9090
|
|
422
|
+
r"""The port number in the metrics URL for discovered targets."""
|
|
423
|
+
|
|
424
|
+
name_list: Annotated[Optional[List[str]], pydantic.Field(alias="nameList")] = None
|
|
425
|
+
r"""List of DNS names to resolve"""
|
|
426
|
+
|
|
354
427
|
scrape_protocol: Annotated[
|
|
355
|
-
Optional[MetricsProtocol],
|
|
428
|
+
Annotated[Optional[MetricsProtocol], PlainValidator(validate_open_enum(False))],
|
|
429
|
+
pydantic.Field(alias="scrapeProtocol"),
|
|
356
430
|
] = MetricsProtocol.HTTP
|
|
357
431
|
r"""Protocol to use when collecting metrics"""
|
|
358
432
|
|
|
@@ -361,24 +435,29 @@ class InputPrometheus(BaseModel):
|
|
|
361
435
|
)
|
|
362
436
|
r"""Path to use when collecting metrics from discovered targets"""
|
|
363
437
|
|
|
438
|
+
aws_authentication_method: Annotated[
|
|
439
|
+
Annotated[
|
|
440
|
+
Optional[InputPrometheusAwsAuthenticationMethodAuthenticationMethod],
|
|
441
|
+
PlainValidator(validate_open_enum(False)),
|
|
442
|
+
],
|
|
443
|
+
pydantic.Field(alias="awsAuthenticationMethod"),
|
|
444
|
+
] = InputPrometheusAwsAuthenticationMethodAuthenticationMethod.AUTO
|
|
445
|
+
r"""AWS authentication method. Choose Auto to use IAM roles."""
|
|
446
|
+
|
|
447
|
+
aws_api_key: Annotated[Optional[str], pydantic.Field(alias="awsApiKey")] = None
|
|
448
|
+
|
|
449
|
+
aws_secret: Annotated[Optional[str], pydantic.Field(alias="awsSecret")] = None
|
|
450
|
+
r"""Select or create a stored secret that references your access key and secret key"""
|
|
451
|
+
|
|
364
452
|
use_public_ip: Annotated[Optional[bool], pydantic.Field(alias="usePublicIp")] = True
|
|
365
453
|
r"""Use public IP address for discovered targets. Set to false if the private IP address should be used."""
|
|
366
454
|
|
|
367
|
-
scrape_port: Annotated[Optional[float], pydantic.Field(alias="scrapePort")] = 9090
|
|
368
|
-
r"""The port number in the metrics URL for discovered targets."""
|
|
369
|
-
|
|
370
455
|
search_filter: Annotated[
|
|
371
456
|
Optional[List[InputPrometheusSearchFilter]],
|
|
372
457
|
pydantic.Field(alias="searchFilter"),
|
|
373
458
|
] = None
|
|
374
459
|
r"""EC2 Instance Search Filter"""
|
|
375
460
|
|
|
376
|
-
aws_authentication_method: Annotated[
|
|
377
|
-
Optional[InputPrometheusAwsAuthenticationMethodAuthenticationMethod],
|
|
378
|
-
pydantic.Field(alias="awsAuthenticationMethod"),
|
|
379
|
-
] = InputPrometheusAwsAuthenticationMethodAuthenticationMethod.AUTO
|
|
380
|
-
r"""AWS authentication method. Choose Auto to use IAM roles."""
|
|
381
|
-
|
|
382
461
|
aws_secret_key: Annotated[Optional[str], pydantic.Field(alias="awsSecretKey")] = (
|
|
383
462
|
None
|
|
384
463
|
)
|
|
@@ -390,7 +469,10 @@ class InputPrometheus(BaseModel):
|
|
|
390
469
|
r"""EC2 service endpoint. If empty, defaults to the AWS Region-specific endpoint. Otherwise, it must point to EC2-compatible endpoint."""
|
|
391
470
|
|
|
392
471
|
signature_version: Annotated[
|
|
393
|
-
|
|
472
|
+
Annotated[
|
|
473
|
+
Optional[InputPrometheusSignatureVersion],
|
|
474
|
+
PlainValidator(validate_open_enum(False)),
|
|
475
|
+
],
|
|
394
476
|
pydantic.Field(alias="signatureVersion"),
|
|
395
477
|
] = InputPrometheusSignatureVersion.V4
|
|
396
478
|
r"""Signature version to use for signing EC2 requests"""
|
|
@@ -430,3 +512,70 @@ class InputPrometheus(BaseModel):
|
|
|
430
512
|
Optional[str], pydantic.Field(alias="credentialsSecret")
|
|
431
513
|
] = None
|
|
432
514
|
r"""Select or create a secret that references your credentials"""
|
|
515
|
+
|
|
516
|
+
@field_serializer("discovery_type")
|
|
517
|
+
def serialize_discovery_type(self, value):
|
|
518
|
+
if isinstance(value, str):
|
|
519
|
+
try:
|
|
520
|
+
return models.InputPrometheusDiscoveryType(value)
|
|
521
|
+
except ValueError:
|
|
522
|
+
return value
|
|
523
|
+
return value
|
|
524
|
+
|
|
525
|
+
@field_serializer("log_level")
|
|
526
|
+
def serialize_log_level(self, value):
|
|
527
|
+
if isinstance(value, str):
|
|
528
|
+
try:
|
|
529
|
+
return models.InputPrometheusLogLevel(value)
|
|
530
|
+
except ValueError:
|
|
531
|
+
return value
|
|
532
|
+
return value
|
|
533
|
+
|
|
534
|
+
@field_serializer("auth_type")
|
|
535
|
+
def serialize_auth_type(self, value):
|
|
536
|
+
if isinstance(value, str):
|
|
537
|
+
try:
|
|
538
|
+
return models.InputPrometheusAuthTypeAuthenticationMethod(value)
|
|
539
|
+
except ValueError:
|
|
540
|
+
return value
|
|
541
|
+
return value
|
|
542
|
+
|
|
543
|
+
@field_serializer("record_type")
|
|
544
|
+
def serialize_record_type(self, value):
|
|
545
|
+
if isinstance(value, str):
|
|
546
|
+
try:
|
|
547
|
+
return models.InputPrometheusRecordType(value)
|
|
548
|
+
except ValueError:
|
|
549
|
+
return value
|
|
550
|
+
return value
|
|
551
|
+
|
|
552
|
+
@field_serializer("scrape_protocol")
|
|
553
|
+
def serialize_scrape_protocol(self, value):
|
|
554
|
+
if isinstance(value, str):
|
|
555
|
+
try:
|
|
556
|
+
return models.MetricsProtocol(value)
|
|
557
|
+
except ValueError:
|
|
558
|
+
return value
|
|
559
|
+
return value
|
|
560
|
+
|
|
561
|
+
@field_serializer("aws_authentication_method")
|
|
562
|
+
def serialize_aws_authentication_method(self, value):
|
|
563
|
+
if isinstance(value, str):
|
|
564
|
+
try:
|
|
565
|
+
return (
|
|
566
|
+
models.InputPrometheusAwsAuthenticationMethodAuthenticationMethod(
|
|
567
|
+
value
|
|
568
|
+
)
|
|
569
|
+
)
|
|
570
|
+
except ValueError:
|
|
571
|
+
return value
|
|
572
|
+
return value
|
|
573
|
+
|
|
574
|
+
@field_serializer("signature_version")
|
|
575
|
+
def serialize_signature_version(self, value):
|
|
576
|
+
if isinstance(value, str):
|
|
577
|
+
try:
|
|
578
|
+
return models.InputPrometheusSignatureVersion(value)
|
|
579
|
+
except ValueError:
|
|
580
|
+
return value
|
|
581
|
+
return value
|
|
@@ -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 InputPrometheusRwConnection(BaseModel):
|
|
|
23
27
|
pipeline: Optional[str] = None
|
|
24
28
|
|
|
25
29
|
|
|
26
|
-
class InputPrometheusRwMode(str, Enum):
|
|
30
|
+
class InputPrometheusRwMode(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 InputPrometheusRwCompression(str, Enum):
|
|
39
|
+
class InputPrometheusRwCompression(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 InputPrometheusRwPqControlsTypedDict(TypedDict):
|
|
49
|
+
pass
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
class InputPrometheusRwPqControls(BaseModel):
|
|
53
|
+
pass
|
|
54
|
+
|
|
55
|
+
|
|
40
56
|
class InputPrometheusRwPqTypedDict(TypedDict):
|
|
41
57
|
mode: NotRequired[InputPrometheusRwMode]
|
|
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 InputPrometheusRwPqTypedDict(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[InputPrometheusRwCompression]
|
|
54
70
|
r"""Codec to use to compress the persisted data"""
|
|
71
|
+
pq_controls: NotRequired[InputPrometheusRwPqControlsTypedDict]
|
|
55
72
|
|
|
56
73
|
|
|
57
74
|
class InputPrometheusRwPq(BaseModel):
|
|
58
|
-
mode:
|
|
75
|
+
mode: Annotated[
|
|
76
|
+
Optional[InputPrometheusRwMode], PlainValidator(validate_open_enum(False))
|
|
77
|
+
] = InputPrometheusRwMode.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,43 @@ class InputPrometheusRwPq(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[InputPrometheusRwCompression],
|
|
103
|
+
PlainValidator(validate_open_enum(False)),
|
|
104
|
+
] = InputPrometheusRwCompression.NONE
|
|
83
105
|
r"""Codec to use to compress the persisted data"""
|
|
84
106
|
|
|
107
|
+
pq_controls: Annotated[
|
|
108
|
+
Optional[InputPrometheusRwPqControls], pydantic.Field(alias="pqControls")
|
|
109
|
+
] = None
|
|
85
110
|
|
|
86
|
-
|
|
111
|
+
@field_serializer("mode")
|
|
112
|
+
def serialize_mode(self, value):
|
|
113
|
+
if isinstance(value, str):
|
|
114
|
+
try:
|
|
115
|
+
return models.InputPrometheusRwMode(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.InputPrometheusRwCompression(value)
|
|
125
|
+
except ValueError:
|
|
126
|
+
return value
|
|
127
|
+
return value
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
class InputPrometheusRwMinimumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
87
131
|
TL_SV1 = "TLSv1"
|
|
88
132
|
TL_SV1_1 = "TLSv1.1"
|
|
89
133
|
TL_SV1_2 = "TLSv1.2"
|
|
90
134
|
TL_SV1_3 = "TLSv1.3"
|
|
91
135
|
|
|
92
136
|
|
|
93
|
-
class InputPrometheusRwMaximumTLSVersion(str, Enum):
|
|
137
|
+
class InputPrometheusRwMaximumTLSVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
94
138
|
TL_SV1 = "TLSv1"
|
|
95
139
|
TL_SV1_1 = "TLSv1.1"
|
|
96
140
|
TL_SV1_2 = "TLSv1.2"
|
|
@@ -99,6 +143,12 @@ class InputPrometheusRwMaximumTLSVersion(str, Enum):
|
|
|
99
143
|
|
|
100
144
|
class InputPrometheusRwTLSSettingsServerSideTypedDict(TypedDict):
|
|
101
145
|
disabled: NotRequired[bool]
|
|
146
|
+
request_cert: NotRequired[bool]
|
|
147
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
148
|
+
reject_unauthorized: NotRequired[bool]
|
|
149
|
+
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
150
|
+
common_name_regex: NotRequired[str]
|
|
151
|
+
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
102
152
|
certificate_name: NotRequired[str]
|
|
103
153
|
r"""The name of the predefined certificate"""
|
|
104
154
|
priv_key_path: NotRequired[str]
|
|
@@ -109,10 +159,6 @@ class InputPrometheusRwTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
109
159
|
r"""Path on server containing certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
110
160
|
ca_path: NotRequired[str]
|
|
111
161
|
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
162
|
min_version: NotRequired[InputPrometheusRwMinimumTLSVersion]
|
|
117
163
|
max_version: NotRequired[InputPrometheusRwMaximumTLSVersion]
|
|
118
164
|
|
|
@@ -120,6 +166,19 @@ class InputPrometheusRwTLSSettingsServerSideTypedDict(TypedDict):
|
|
|
120
166
|
class InputPrometheusRwTLSSettingsServerSide(BaseModel):
|
|
121
167
|
disabled: Optional[bool] = True
|
|
122
168
|
|
|
169
|
+
request_cert: Annotated[Optional[bool], pydantic.Field(alias="requestCert")] = False
|
|
170
|
+
r"""Require clients to present their certificates. Used to perform client authentication using SSL certs."""
|
|
171
|
+
|
|
172
|
+
reject_unauthorized: Annotated[
|
|
173
|
+
Optional[bool], pydantic.Field(alias="rejectUnauthorized")
|
|
174
|
+
] = True
|
|
175
|
+
r"""Reject certificates not authorized by a CA in the CA certificate path or by another trusted CA (such as the system's)"""
|
|
176
|
+
|
|
177
|
+
common_name_regex: Annotated[
|
|
178
|
+
Optional[str], pydantic.Field(alias="commonNameRegex")
|
|
179
|
+
] = "/.*/"
|
|
180
|
+
r"""Regex matching allowable common names in peer certificates' subject attribute"""
|
|
181
|
+
|
|
123
182
|
certificate_name: Annotated[
|
|
124
183
|
Optional[str], pydantic.Field(alias="certificateName")
|
|
125
184
|
] = None
|
|
@@ -137,27 +196,42 @@ class InputPrometheusRwTLSSettingsServerSide(BaseModel):
|
|
|
137
196
|
ca_path: Annotated[Optional[str], pydantic.Field(alias="caPath")] = None
|
|
138
197
|
r"""Path on server containing CA certificates to use. PEM format. Can reference $ENV_VARS."""
|
|
139
198
|
|
|
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
199
|
min_version: Annotated[
|
|
152
|
-
|
|
200
|
+
Annotated[
|
|
201
|
+
Optional[InputPrometheusRwMinimumTLSVersion],
|
|
202
|
+
PlainValidator(validate_open_enum(False)),
|
|
203
|
+
],
|
|
204
|
+
pydantic.Field(alias="minVersion"),
|
|
153
205
|
] = None
|
|
154
206
|
|
|
155
207
|
max_version: Annotated[
|
|
156
|
-
|
|
208
|
+
Annotated[
|
|
209
|
+
Optional[InputPrometheusRwMaximumTLSVersion],
|
|
210
|
+
PlainValidator(validate_open_enum(False)),
|
|
211
|
+
],
|
|
212
|
+
pydantic.Field(alias="maxVersion"),
|
|
157
213
|
] = None
|
|
158
214
|
|
|
159
|
-
|
|
160
|
-
|
|
215
|
+
@field_serializer("min_version")
|
|
216
|
+
def serialize_min_version(self, value):
|
|
217
|
+
if isinstance(value, str):
|
|
218
|
+
try:
|
|
219
|
+
return models.InputPrometheusRwMinimumTLSVersion(value)
|
|
220
|
+
except ValueError:
|
|
221
|
+
return value
|
|
222
|
+
return value
|
|
223
|
+
|
|
224
|
+
@field_serializer("max_version")
|
|
225
|
+
def serialize_max_version(self, value):
|
|
226
|
+
if isinstance(value, str):
|
|
227
|
+
try:
|
|
228
|
+
return models.InputPrometheusRwMaximumTLSVersion(value)
|
|
229
|
+
except ValueError:
|
|
230
|
+
return value
|
|
231
|
+
return value
|
|
232
|
+
|
|
233
|
+
|
|
234
|
+
class InputPrometheusRwAuthenticationType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
161
235
|
r"""Remote Write authentication type"""
|
|
162
236
|
|
|
163
237
|
NONE = "none"
|
|
@@ -212,11 +286,11 @@ class InputPrometheusRwOauthHeader(BaseModel):
|
|
|
212
286
|
|
|
213
287
|
|
|
214
288
|
class InputPrometheusRwTypedDict(TypedDict):
|
|
289
|
+
type: InputPrometheusRwType
|
|
215
290
|
port: float
|
|
216
291
|
r"""Port to listen on"""
|
|
217
292
|
id: NotRequired[str]
|
|
218
293
|
r"""Unique ID for this input"""
|
|
219
|
-
type: NotRequired[InputPrometheusRwType]
|
|
220
294
|
disabled: NotRequired[bool]
|
|
221
295
|
pipeline: NotRequired[str]
|
|
222
296
|
r"""Pipeline to process data from this Source before sending it through the Routes"""
|
|
@@ -290,14 +364,14 @@ class InputPrometheusRwTypedDict(TypedDict):
|
|
|
290
364
|
|
|
291
365
|
|
|
292
366
|
class InputPrometheusRw(BaseModel):
|
|
367
|
+
type: InputPrometheusRwType
|
|
368
|
+
|
|
293
369
|
port: float
|
|
294
370
|
r"""Port to listen on"""
|
|
295
371
|
|
|
296
372
|
id: Optional[str] = None
|
|
297
373
|
r"""Unique ID for this input"""
|
|
298
374
|
|
|
299
|
-
type: Optional[InputPrometheusRwType] = None
|
|
300
|
-
|
|
301
375
|
disabled: Optional[bool] = False
|
|
302
376
|
|
|
303
377
|
pipeline: Optional[str] = None
|
|
@@ -388,7 +462,11 @@ class InputPrometheusRw(BaseModel):
|
|
|
388
462
|
r"""Absolute path on which to listen for Prometheus requests. Defaults to /write, which will expand as: http://<your‑upstream‑URL>:<your‑port>/write."""
|
|
389
463
|
|
|
390
464
|
auth_type: Annotated[
|
|
391
|
-
|
|
465
|
+
Annotated[
|
|
466
|
+
Optional[InputPrometheusRwAuthenticationType],
|
|
467
|
+
PlainValidator(validate_open_enum(False)),
|
|
468
|
+
],
|
|
469
|
+
pydantic.Field(alias="authType"),
|
|
392
470
|
] = InputPrometheusRwAuthenticationType.NONE
|
|
393
471
|
r"""Remote Write authentication type"""
|
|
394
472
|
|
|
@@ -448,3 +526,12 @@ class InputPrometheusRw(BaseModel):
|
|
|
448
526
|
pydantic.Field(alias="oauthHeaders"),
|
|
449
527
|
] = None
|
|
450
528
|
r"""Additional headers to send in the OAuth login request. @{product} will automatically add the content-type header 'application/x-www-form-urlencoded' when sending this request."""
|
|
529
|
+
|
|
530
|
+
@field_serializer("auth_type")
|
|
531
|
+
def serialize_auth_type(self, value):
|
|
532
|
+
if isinstance(value, str):
|
|
533
|
+
try:
|
|
534
|
+
return models.InputPrometheusRwAuthenticationType(value)
|
|
535
|
+
except ValueError:
|
|
536
|
+
return value
|
|
537
|
+
return value
|