cribl-control-plane 0.0.21__py3-none-any.whl → 0.4.0b23__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- cribl_control_plane/_hooks/clientcredentials.py +113 -48
- cribl_control_plane/_version.py +4 -4
- cribl_control_plane/acl.py +225 -0
- cribl_control_plane/auth_sdk.py +12 -176
- cribl_control_plane/basesdk.py +17 -1
- cribl_control_plane/branches.py +351 -0
- cribl_control_plane/commits.py +1403 -0
- cribl_control_plane/commits_files.py +391 -0
- cribl_control_plane/configs_versions.py +201 -0
- cribl_control_plane/cribl.py +495 -0
- cribl_control_plane/destinations.py +146 -805
- cribl_control_plane/destinations_pq.py +379 -0
- cribl_control_plane/errors/__init__.py +26 -10
- cribl_control_plane/errors/apierror.py +2 -0
- cribl_control_plane/errors/criblcontrolplaneerror.py +11 -7
- cribl_control_plane/errors/error.py +4 -2
- cribl_control_plane/errors/healthserverstatus_error.py +41 -0
- cribl_control_plane/errors/no_response_error.py +5 -1
- cribl_control_plane/errors/responsevalidationerror.py +2 -0
- cribl_control_plane/functions.py +367 -0
- cribl_control_plane/groups_configs.py +22 -0
- cribl_control_plane/groups_sdk.py +333 -578
- cribl_control_plane/health.py +38 -18
- cribl_control_plane/hectokens.py +503 -0
- cribl_control_plane/httpclient.py +0 -1
- cribl_control_plane/{lake.py → lakedatasets.py} +207 -115
- cribl_control_plane/models/__init__.py +3644 -5986
- cribl_control_plane/models/addhectokenrequest.py +7 -1
- cribl_control_plane/models/authtoken.py +5 -1
- cribl_control_plane/models/backupssettings_union.py +37 -0
- cribl_control_plane/models/{lookupversions.py → branchinfo.py} +4 -4
- cribl_control_plane/models/cacheconnection.py +30 -2
- cribl_control_plane/models/cacheconnectionbackfillstatus.py +2 -1
- cribl_control_plane/models/cloudprovider.py +2 -1
- cribl_control_plane/models/collectorazureblob.py +130 -0
- cribl_control_plane/models/collectorconf.py +56 -0
- cribl_control_plane/models/collectorcribllake.py +27 -0
- cribl_control_plane/models/collectordatabase.py +92 -0
- cribl_control_plane/models/collectorfilesystem.py +66 -0
- cribl_control_plane/models/collectorgooglecloudstorage.py +131 -0
- cribl_control_plane/models/collectorhealthcheck.py +269 -0
- cribl_control_plane/models/collectorrest.py +340 -0
- cribl_control_plane/models/collectors3.py +239 -0
- cribl_control_plane/models/collectorscript.py +59 -0
- cribl_control_plane/models/collectorsplunk.py +253 -0
- cribl_control_plane/models/configgroup.py +67 -11
- cribl_control_plane/models/configgroupcloud.py +17 -3
- cribl_control_plane/models/countedbranchinfo.py +20 -0
- cribl_control_plane/models/countedconfiggroup.py +20 -0
- cribl_control_plane/models/countedcribllakedataset.py +20 -0
- cribl_control_plane/models/counteddistributedsummary.py +20 -0
- cribl_control_plane/models/countedfunctionresponse.py +20 -0
- cribl_control_plane/models/countedgitcommitsummary.py +20 -0
- cribl_control_plane/models/countedgitcountresult.py +20 -0
- cribl_control_plane/models/countedgitdiffresult.py +20 -0
- cribl_control_plane/models/countedgitfilesresponse.py +20 -0
- cribl_control_plane/models/{getversioninfoop.py → countedgitinfo.py} +2 -6
- cribl_control_plane/models/countedgitlogresult.py +20 -0
- cribl_control_plane/models/countedgitrevertresult.py +20 -0
- cribl_control_plane/models/countedgitshowresult.py +20 -0
- cribl_control_plane/models/countedgitstatusresult.py +20 -0
- cribl_control_plane/models/{listinputop.py → countedinput.py} +2 -6
- cribl_control_plane/models/countedinputsplunkhec.py +20 -0
- cribl_control_plane/models/countedjobinfo.py +20 -0
- cribl_control_plane/models/countedmasterworkerentry.py +20 -0
- cribl_control_plane/models/countednumber.py +19 -0
- cribl_control_plane/models/{getversionbranchop.py → countedobject.py} +2 -6
- cribl_control_plane/models/{listoutputop.py → countedoutput.py} +2 -6
- cribl_control_plane/models/countedoutputsamplesresponse.py +20 -0
- cribl_control_plane/models/countedoutputtestresponse.py +20 -0
- cribl_control_plane/models/countedpackinfo.py +20 -0
- cribl_control_plane/models/{createpacksop.py → countedpackinstallinfo.py} +2 -6
- cribl_control_plane/models/{listpipelineop.py → countedpipeline.py} +2 -6
- cribl_control_plane/models/{listroutesop.py → countedroutes.py} +2 -6
- cribl_control_plane/models/countedstring.py +19 -0
- cribl_control_plane/models/countedsystemsettingsconf.py +20 -0
- cribl_control_plane/models/countedteamaccesscontrollist.py +20 -0
- cribl_control_plane/models/counteduseraccesscontrollist.py +20 -0
- cribl_control_plane/models/createauthloginop.py +18 -0
- cribl_control_plane/models/createconfiggroupbyproductop.py +46 -0
- cribl_control_plane/models/createcribllakedatasetbylakeidop.py +3 -21
- cribl_control_plane/models/createinputhectokenbyidop.py +3 -21
- cribl_control_plane/models/createoutputtestbyidop.py +3 -22
- cribl_control_plane/models/createroutesappendbyidop.py +4 -21
- cribl_control_plane/models/createversioncommitop.py +27 -20
- cribl_control_plane/models/createversionrevertop.py +7 -23
- cribl_control_plane/models/createversionundoop.py +7 -22
- cribl_control_plane/models/criblevent.py +15 -0
- cribl_control_plane/models/cribllakedataset.py +23 -3
- cribl_control_plane/models/cribllakedatasetupdate.py +95 -0
- cribl_control_plane/models/currentbranchresult.py +13 -0
- cribl_control_plane/models/datasetmetadata.py +18 -2
- cribl_control_plane/models/deleteconfiggroupbyproductandidop.py +43 -0
- cribl_control_plane/models/deletecribllakedatasetbylakeidandidop.py +5 -24
- cribl_control_plane/models/deleteinputbyidop.py +3 -22
- cribl_control_plane/models/deleteoutputbyidop.py +3 -22
- cribl_control_plane/models/deleteoutputpqbyidop.py +3 -21
- cribl_control_plane/models/deletepacksbyidop.py +3 -22
- cribl_control_plane/models/deletepipelinebyidop.py +3 -22
- cribl_control_plane/models/difffiles.py +130 -0
- cribl_control_plane/models/diffline.py +26 -0
- cribl_control_plane/models/difflinecontext.py +28 -0
- cribl_control_plane/models/difflinedelete.py +25 -0
- cribl_control_plane/models/difflineinsert.py +25 -0
- cribl_control_plane/models/distributedsummary.py +6 -0
- cribl_control_plane/models/functionaggregatemetrics.py +206 -0
- cribl_control_plane/models/functionaggregation.py +172 -0
- cribl_control_plane/models/functionautotimestamp.py +173 -0
- cribl_control_plane/models/functioncef.py +111 -0
- cribl_control_plane/models/functionchain.py +75 -0
- cribl_control_plane/models/functionclone.py +75 -0
- cribl_control_plane/models/functioncode.py +96 -0
- cribl_control_plane/models/functioncomment.py +75 -0
- cribl_control_plane/models/functiondistinct.py +99 -0
- cribl_control_plane/models/functiondnslookup.py +250 -0
- cribl_control_plane/models/functiondrop.py +73 -0
- cribl_control_plane/models/functiondropdimensions.py +87 -0
- cribl_control_plane/models/functiondynamicsampling.py +121 -0
- cribl_control_plane/models/functioneval.py +103 -0
- cribl_control_plane/models/functioneventbreaker.py +103 -0
- cribl_control_plane/models/functioneventstats.py +92 -0
- cribl_control_plane/models/functionexternaldata.py +73 -0
- cribl_control_plane/models/functionflatten.py +90 -0
- cribl_control_plane/models/functionfoldkeys.py +89 -0
- cribl_control_plane/models/functiongenstats.py +73 -0
- cribl_control_plane/models/functiongeoip.py +120 -0
- cribl_control_plane/models/functiongrok.py +95 -0
- cribl_control_plane/models/functionhandlebar.py +112 -0
- cribl_control_plane/models/functionjoin.py +112 -0
- cribl_control_plane/models/functionjsonunroll.py +80 -0
- cribl_control_plane/models/functionlakeexport.py +102 -0
- cribl_control_plane/models/functionlimit.py +75 -0
- cribl_control_plane/models/functionlocalsearchdatatypeparser.py +76 -0
- cribl_control_plane/models/functionlocalsearchrulesetrunner.py +97 -0
- cribl_control_plane/models/functionlookup.py +148 -0
- cribl_control_plane/models/functionmask.py +121 -0
- cribl_control_plane/models/functionmvexpand.py +128 -0
- cribl_control_plane/models/functionmvpull.py +99 -0
- cribl_control_plane/models/functionnotificationpolicies.py +186 -0
- cribl_control_plane/models/functionnotifications.py +85 -0
- cribl_control_plane/models/functionnotify.py +196 -0
- cribl_control_plane/models/functionnumerify.py +119 -0
- cribl_control_plane/models/functionotlplogs.py +82 -0
- cribl_control_plane/models/functionotlpmetrics.py +118 -0
- cribl_control_plane/models/functionotlptraces.py +111 -0
- cribl_control_plane/models/functionpack.py +80 -0
- cribl_control_plane/models/functionpivot.py +85 -0
- cribl_control_plane/models/functionpublishmetrics.py +153 -0
- cribl_control_plane/models/functionredis.py +173 -0
- cribl_control_plane/models/functionregexextract.py +112 -0
- cribl_control_plane/models/functionregexfilter.py +95 -0
- cribl_control_plane/models/functionrename.py +107 -0
- cribl_control_plane/models/functionresponse.py +242 -0
- cribl_control_plane/models/functionrollupmetrics.py +114 -0
- cribl_control_plane/models/functionsampling.py +90 -0
- cribl_control_plane/models/functionsend.py +141 -0
- cribl_control_plane/models/functionsensitivedatascanner.py +128 -0
- cribl_control_plane/models/functionserde.py +161 -0
- cribl_control_plane/models/functionserialize.py +134 -0
- cribl_control_plane/models/functionsidlookup.py +93 -0
- cribl_control_plane/models/functionsnmptrapserialize.py +144 -0
- cribl_control_plane/models/functionsort.py +97 -0
- cribl_control_plane/models/functionstore.py +132 -0
- cribl_control_plane/models/functionsuppress.py +115 -0
- cribl_control_plane/models/functiontee.py +90 -0
- cribl_control_plane/models/functiontrimtimestamp.py +75 -0
- cribl_control_plane/models/functionunion.py +80 -0
- cribl_control_plane/models/functionunroll.py +80 -0
- cribl_control_plane/models/functionwindow.py +96 -0
- cribl_control_plane/models/functionxmlunroll.py +92 -0
- cribl_control_plane/models/getconfiggroupaclbyproductandidop.py +63 -0
- cribl_control_plane/models/getconfiggroupaclteamsbyproductandidop.py +63 -0
- cribl_control_plane/models/getconfiggroupbyproductandidop.py +53 -0
- cribl_control_plane/models/getconfiggroupconfigversionbyproductandidop.py +43 -0
- cribl_control_plane/models/getcribllakedatasetbylakeidandidop.py +5 -24
- cribl_control_plane/models/getcribllakedatasetbylakeidop.py +56 -16
- cribl_control_plane/models/getfunctionsbyidop.py +18 -0
- cribl_control_plane/models/getinputbyidop.py +3 -22
- cribl_control_plane/models/getmasterworkerentryop.py +22 -0
- cribl_control_plane/models/getoutputbyidop.py +3 -22
- cribl_control_plane/models/getoutputpqbyidop.py +3 -21
- cribl_control_plane/models/getoutputsamplesbyidop.py +3 -22
- cribl_control_plane/models/getpacksbyidop.py +18 -0
- cribl_control_plane/models/getpacksop.py +3 -21
- cribl_control_plane/models/getpipelinebyidop.py +3 -22
- cribl_control_plane/models/getroutesbyidop.py +3 -22
- cribl_control_plane/models/getsummaryop.py +23 -32
- cribl_control_plane/models/getversioncountop.py +10 -27
- cribl_control_plane/models/getversiondiffop.py +12 -28
- cribl_control_plane/models/getversionfilesop.py +10 -28
- cribl_control_plane/models/getversionop.py +30 -0
- cribl_control_plane/models/getversionshowop.py +12 -28
- cribl_control_plane/models/getversionstatusop.py +7 -23
- cribl_control_plane/models/gitcommitsummary.py +3 -3
- cribl_control_plane/models/{routecloneconf.py → gitcountresult.py} +4 -4
- cribl_control_plane/models/gitdiffresult.py +16 -0
- cribl_control_plane/models/gitfilesresponse.py +7 -5
- cribl_control_plane/models/gitinfo.py +14 -3
- cribl_control_plane/models/gitlogresult.py +33 -0
- cribl_control_plane/models/gitrevertparams.py +3 -3
- cribl_control_plane/models/gitrevertresult.py +5 -5
- cribl_control_plane/models/gitshowresult.py +19 -0
- cribl_control_plane/models/gitstatusresult.py +0 -3
- cribl_control_plane/models/groupcreaterequest.py +172 -0
- cribl_control_plane/models/hbcriblinfo.py +42 -7
- cribl_control_plane/models/healthserverstatus.py +55 -0
- cribl_control_plane/models/heartbeatmetadata.py +6 -11
- cribl_control_plane/models/input.py +89 -81
- cribl_control_plane/models/inputappscope.py +131 -35
- cribl_control_plane/models/inputazureblob.py +62 -6
- cribl_control_plane/models/inputcloudflarehec.py +518 -0
- cribl_control_plane/models/inputcollection.py +49 -6
- cribl_control_plane/models/inputconfluentcloud.py +262 -22
- cribl_control_plane/models/inputcribl.py +52 -9
- cribl_control_plane/models/inputcriblhttp.py +124 -33
- cribl_control_plane/models/inputcribllakehttp.py +199 -29
- cribl_control_plane/models/inputcriblmetrics.py +53 -9
- cribl_control_plane/models/inputcribltcp.py +125 -27
- cribl_control_plane/models/inputcrowdstrike.py +99 -10
- cribl_control_plane/models/inputdatadogagent.py +101 -27
- cribl_control_plane/models/inputdatagen.py +47 -4
- cribl_control_plane/models/inputedgeprometheus.py +215 -58
- cribl_control_plane/models/inputelastic.py +170 -39
- cribl_control_plane/models/inputeventhub.py +212 -9
- cribl_control_plane/models/inputexec.py +59 -6
- cribl_control_plane/models/inputfile.py +83 -15
- cribl_control_plane/models/inputfirehose.py +100 -27
- cribl_control_plane/models/inputgooglepubsub.py +83 -15
- cribl_control_plane/models/{inputgrafana_union.py → inputgrafana.py} +261 -67
- cribl_control_plane/models/inputhttp.py +100 -27
- cribl_control_plane/models/inputhttpraw.py +100 -27
- cribl_control_plane/models/inputjournalfiles.py +51 -7
- cribl_control_plane/models/inputkafka.py +257 -19
- cribl_control_plane/models/inputkinesis.py +133 -17
- cribl_control_plane/models/inputkubeevents.py +52 -9
- cribl_control_plane/models/inputkubelogs.py +66 -13
- cribl_control_plane/models/inputkubemetrics.py +66 -13
- cribl_control_plane/models/inputloki.py +116 -30
- cribl_control_plane/models/inputmetrics.py +97 -24
- cribl_control_plane/models/inputmodeldriventelemetry.py +110 -29
- cribl_control_plane/models/inputmsk.py +148 -21
- cribl_control_plane/models/inputnetflow.py +50 -7
- cribl_control_plane/models/inputoffice365mgmt.py +115 -17
- cribl_control_plane/models/inputoffice365msgtrace.py +117 -19
- cribl_control_plane/models/inputoffice365service.py +117 -19
- cribl_control_plane/models/inputopentelemetry.py +146 -35
- cribl_control_plane/models/inputprometheus.py +196 -47
- cribl_control_plane/models/inputprometheusrw.py +117 -30
- cribl_control_plane/models/inputrawudp.py +50 -7
- cribl_control_plane/models/inputs3.py +85 -8
- cribl_control_plane/models/inputs3inventory.py +99 -10
- cribl_control_plane/models/inputsecuritylake.py +100 -10
- cribl_control_plane/models/inputsnmp.py +115 -24
- cribl_control_plane/models/inputsplunk.py +133 -31
- cribl_control_plane/models/inputsplunkhec.py +122 -32
- cribl_control_plane/models/inputsplunksearch.py +115 -18
- cribl_control_plane/models/inputsqs.py +102 -19
- cribl_control_plane/models/{inputsyslog_union.py → inputsyslog.py} +193 -51
- cribl_control_plane/models/inputsystemmetrics.py +207 -37
- cribl_control_plane/models/inputsystemstate.py +66 -13
- cribl_control_plane/models/inputtcp.py +125 -29
- cribl_control_plane/models/inputtcpjson.py +115 -29
- cribl_control_plane/models/inputwef.py +151 -22
- cribl_control_plane/models/inputwindowsmetrics.py +191 -38
- cribl_control_plane/models/inputwineventlogs.py +93 -11
- cribl_control_plane/models/inputwiz.py +176 -11
- cribl_control_plane/models/inputwizwebhook.py +466 -0
- cribl_control_plane/models/inputzscalerhec.py +122 -32
- cribl_control_plane/models/jobinfo.py +34 -0
- cribl_control_plane/models/jobstatus.py +48 -0
- cribl_control_plane/models/lakedatasetmetrics.py +17 -0
- cribl_control_plane/models/lakehouseconnectiontype.py +2 -1
- cribl_control_plane/models/listconfiggroupbyproductop.py +46 -0
- cribl_control_plane/models/listmasterworkerentryop.py +64 -0
- cribl_control_plane/models/logininfo.py +3 -3
- cribl_control_plane/models/masterworkerentry.py +20 -13
- cribl_control_plane/models/nodeactiveupgradestatus.py +2 -1
- cribl_control_plane/models/nodefailedupgradestatus.py +2 -1
- cribl_control_plane/models/nodeprovidedinfo.py +13 -11
- cribl_control_plane/models/nodeskippedupgradestatus.py +2 -1
- cribl_control_plane/models/nodeupgradestate.py +2 -1
- cribl_control_plane/models/nodeupgradestatus.py +51 -5
- cribl_control_plane/models/outpostnodeinfo.py +16 -0
- cribl_control_plane/models/output.py +103 -89
- cribl_control_plane/models/outputazureblob.py +174 -21
- cribl_control_plane/models/outputazuredataexplorer.py +517 -93
- cribl_control_plane/models/outputazureeventhub.py +318 -34
- cribl_control_plane/models/outputazurelogs.py +145 -26
- cribl_control_plane/models/outputchronicle.py +532 -0
- cribl_control_plane/models/outputclickhouse.py +208 -37
- cribl_control_plane/models/outputcloudflarer2.py +632 -0
- cribl_control_plane/models/outputcloudwatch.py +132 -26
- cribl_control_plane/models/outputconfluentcloud.py +387 -46
- cribl_control_plane/models/outputcriblhttp.py +203 -36
- cribl_control_plane/models/outputcribllake.py +161 -21
- cribl_control_plane/models/outputcribltcp.py +199 -34
- cribl_control_plane/models/outputcrowdstrikenextgensiem.py +176 -32
- cribl_control_plane/models/outputdatabricks.py +501 -0
- cribl_control_plane/models/outputdatadog.py +204 -36
- cribl_control_plane/models/outputdataset.py +186 -34
- cribl_control_plane/models/outputdevnull.py +5 -5
- cribl_control_plane/models/outputdiskspool.py +22 -7
- cribl_control_plane/models/outputdls3.py +238 -29
- cribl_control_plane/models/outputdynatracehttp.py +211 -37
- cribl_control_plane/models/outputdynatraceotlp.py +213 -39
- cribl_control_plane/models/outputelastic.py +199 -30
- cribl_control_plane/models/outputelasticcloud.py +174 -29
- cribl_control_plane/models/outputexabeam.py +99 -13
- cribl_control_plane/models/outputfilesystem.py +139 -14
- cribl_control_plane/models/outputgooglechronicle.py +216 -35
- cribl_control_plane/models/outputgooglecloudlogging.py +177 -34
- cribl_control_plane/models/outputgooglecloudstorage.py +220 -29
- cribl_control_plane/models/outputgooglepubsub.py +138 -51
- cribl_control_plane/models/outputgrafanacloud.py +386 -70
- cribl_control_plane/models/outputgraphite.py +131 -28
- cribl_control_plane/models/outputhoneycomb.py +145 -26
- cribl_control_plane/models/outputhumiohec.py +165 -31
- cribl_control_plane/models/outputinfluxdb.py +165 -28
- cribl_control_plane/models/outputkafka.py +378 -41
- cribl_control_plane/models/outputkinesis.py +168 -30
- cribl_control_plane/models/outputloki.py +171 -27
- cribl_control_plane/models/outputmicrosoftfabric.py +540 -0
- cribl_control_plane/models/outputminio.py +228 -28
- cribl_control_plane/models/outputmsk.py +270 -43
- cribl_control_plane/models/outputnewrelic.py +176 -34
- cribl_control_plane/models/outputnewrelicevents.py +166 -31
- cribl_control_plane/models/outputopentelemetry.py +240 -40
- cribl_control_plane/models/outputprometheus.py +145 -26
- cribl_control_plane/models/outputring.py +54 -13
- cribl_control_plane/models/outputs3.py +238 -31
- cribl_control_plane/models/outputsecuritylake.py +182 -21
- cribl_control_plane/models/outputsentinel.py +175 -32
- cribl_control_plane/models/outputsentineloneaisiem.py +184 -38
- cribl_control_plane/models/outputservicenow.py +226 -41
- cribl_control_plane/models/outputsignalfx.py +145 -26
- cribl_control_plane/models/outputsns.py +146 -28
- cribl_control_plane/models/outputsplunk.py +209 -39
- cribl_control_plane/models/outputsplunkhec.py +243 -31
- cribl_control_plane/models/outputsplunklb.py +266 -46
- cribl_control_plane/models/outputsqs.py +166 -36
- cribl_control_plane/models/outputstatsd.py +130 -28
- cribl_control_plane/models/outputstatsdext.py +131 -28
- cribl_control_plane/models/outputsumologic.py +146 -25
- cribl_control_plane/models/outputsyslog.py +323 -51
- cribl_control_plane/models/outputtcpjson.py +191 -37
- cribl_control_plane/models/outputwavefront.py +145 -26
- cribl_control_plane/models/outputwebhook.py +216 -38
- cribl_control_plane/models/outputxsiam.py +148 -31
- cribl_control_plane/models/packinfo.py +11 -8
- cribl_control_plane/models/packinstallinfo.py +14 -11
- cribl_control_plane/models/packrequestbody_union.py +140 -0
- cribl_control_plane/models/packupgraderequest.py +26 -0
- cribl_control_plane/models/piisettings_union.py +31 -0
- cribl_control_plane/models/productscore.py +10 -0
- cribl_control_plane/models/rbacresource.py +2 -1
- cribl_control_plane/models/resourcepolicy.py +15 -2
- cribl_control_plane/models/rollbacksettings_union.py +44 -0
- cribl_control_plane/models/routeconf.py +3 -4
- cribl_control_plane/models/routes.py +0 -24
- cribl_control_plane/models/runnablejob.py +27 -0
- cribl_control_plane/models/runnablejobcollection.py +628 -0
- cribl_control_plane/models/runnablejobexecutor.py +360 -0
- cribl_control_plane/models/runnablejobscheduledsearch.py +279 -0
- cribl_control_plane/models/schemeclientoauth.py +5 -0
- cribl_control_plane/models/snisettings_union.py +31 -0
- cribl_control_plane/models/systemsettingsconf.py +291 -0
- cribl_control_plane/models/tlssettings_union.py +43 -0
- cribl_control_plane/models/updateconfiggroupbyproductandidop.py +56 -0
- cribl_control_plane/models/updateconfiggroupdeploybyproductandidop.py +53 -0
- cribl_control_plane/models/updatecribllakedatasetbylakeidandidop.py +14 -29
- cribl_control_plane/models/updatehectokenrequest.py +7 -1
- cribl_control_plane/models/updateinputbyidop.py +5 -23
- cribl_control_plane/models/updateinputhectokenbyidandtokenop.py +5 -23
- cribl_control_plane/models/updateoutputbyidop.py +5 -23
- cribl_control_plane/models/updatepacksbyidop.py +12 -50
- cribl_control_plane/models/updatepacksop.py +12 -24
- cribl_control_plane/models/updatepipelinebyidop.py +5 -23
- cribl_control_plane/models/updateroutesbyidop.py +8 -27
- cribl_control_plane/models/upgradegroupsettings_union.py +43 -0
- cribl_control_plane/models/upgradepackageurls.py +20 -0
- cribl_control_plane/models/upgradesettings.py +38 -0
- cribl_control_plane/models/uploadpackresponse.py +13 -0
- cribl_control_plane/models/{appmode.py → workertypes.py} +2 -5
- cribl_control_plane/{workers_sdk.py → nodes.py} +102 -234
- cribl_control_plane/packs.py +385 -184
- cribl_control_plane/pipelines.py +116 -66
- cribl_control_plane/routes_sdk.py +102 -70
- cribl_control_plane/samples.py +407 -0
- cribl_control_plane/sdk.py +35 -25
- cribl_control_plane/settings.py +20 -0
- cribl_control_plane/sources.py +143 -545
- cribl_control_plane/statuses.py +195 -0
- cribl_control_plane/summaries.py +195 -0
- cribl_control_plane/system_sdk.py +20 -0
- cribl_control_plane/teams.py +36 -28
- cribl_control_plane/tokens.py +210 -0
- cribl_control_plane/utils/__init__.py +18 -5
- cribl_control_plane/utils/annotations.py +32 -8
- cribl_control_plane/utils/eventstreaming.py +10 -0
- cribl_control_plane/utils/forms.py +21 -10
- cribl_control_plane/utils/queryparams.py +14 -2
- cribl_control_plane/utils/retries.py +69 -5
- cribl_control_plane/utils/security.py +5 -0
- cribl_control_plane/utils/unmarshal_json_response.py +15 -1
- cribl_control_plane/versions.py +31 -0
- cribl_control_plane/{distributed.py → versions_configs.py} +29 -35
- cribl_control_plane-0.4.0b23.dist-info/METADATA +855 -0
- cribl_control_plane-0.4.0b23.dist-info/RECORD +450 -0
- {cribl_control_plane-0.0.21.dist-info → cribl_control_plane-0.4.0b23.dist-info}/WHEEL +1 -1
- cribl_control_plane-0.4.0b23.dist-info/licenses/LICENSE +201 -0
- cribl_control_plane/errors/healthstatus_error.py +0 -32
- cribl_control_plane/models/createinputop.py +0 -18238
- cribl_control_plane/models/createoutputop.py +0 -18437
- cribl_control_plane/models/createpipelineop.py +0 -24
- cribl_control_plane/models/createproductsgroupsbyproductop.py +0 -54
- cribl_control_plane/models/createversionpushop.py +0 -23
- cribl_control_plane/models/createversionsyncop.py +0 -23
- cribl_control_plane/models/deletegroupsbyidop.py +0 -37
- cribl_control_plane/models/getgroupsaclbyidop.py +0 -63
- cribl_control_plane/models/getgroupsbyidop.py +0 -49
- cribl_control_plane/models/getgroupsconfigversionbyidop.py +0 -36
- cribl_control_plane/models/getproductsgroupsaclteamsbyproductandidop.py +0 -78
- cribl_control_plane/models/getproductsgroupsbyproductop.py +0 -58
- cribl_control_plane/models/getsummaryworkersop.py +0 -39
- cribl_control_plane/models/getversioncurrentbranchop.py +0 -23
- cribl_control_plane/models/getworkersop.py +0 -82
- cribl_control_plane/models/healthstatus.py +0 -33
- cribl_control_plane/models/packrequestbody.py +0 -75
- cribl_control_plane/models/restartresponse.py +0 -26
- cribl_control_plane/models/routesroute_input.py +0 -67
- cribl_control_plane/models/updategroupsbyidop.py +0 -48
- cribl_control_plane/models/updategroupsdeploybyidop.py +0 -46
- cribl_control_plane/models/updateworkersrestartop.py +0 -24
- cribl_control_plane/versioning.py +0 -2309
- cribl_control_plane-0.0.21.dist-info/METADATA +0 -561
- cribl_control_plane-0.0.21.dist-info/RECORD +0 -301
|
@@ -0,0 +1,340 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from cribl_control_plane import models, utils
|
|
5
|
+
from cribl_control_plane.types import BaseModel
|
|
6
|
+
from cribl_control_plane.utils import validate_open_enum
|
|
7
|
+
from enum import Enum
|
|
8
|
+
import pydantic
|
|
9
|
+
from pydantic import field_serializer
|
|
10
|
+
from pydantic.functional_validators import PlainValidator
|
|
11
|
+
from typing import Any, List, Optional
|
|
12
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class CollectorRestType(str, Enum):
|
|
16
|
+
r"""Collector type: rest"""
|
|
17
|
+
|
|
18
|
+
REST = "rest"
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class CollectorRestDiscoverType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
22
|
+
r"""Defines how task discovery will be performed. Each entry returned by the Discover operation will result in a Collect task."""
|
|
23
|
+
|
|
24
|
+
HTTP = "http"
|
|
25
|
+
JSON = "json"
|
|
26
|
+
LIST = "list"
|
|
27
|
+
NONE = "none"
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
class CollectorRestDiscoveryTypedDict(TypedDict):
|
|
31
|
+
discover_type: NotRequired[CollectorRestDiscoverType]
|
|
32
|
+
r"""Defines how task discovery will be performed. Each entry returned by the Discover operation will result in a Collect task."""
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class CollectorRestDiscovery(BaseModel):
|
|
36
|
+
discover_type: Annotated[
|
|
37
|
+
Annotated[
|
|
38
|
+
Optional[CollectorRestDiscoverType],
|
|
39
|
+
PlainValidator(validate_open_enum(False)),
|
|
40
|
+
],
|
|
41
|
+
pydantic.Field(alias="discoverType"),
|
|
42
|
+
] = CollectorRestDiscoverType.NONE
|
|
43
|
+
r"""Defines how task discovery will be performed. Each entry returned by the Discover operation will result in a Collect task."""
|
|
44
|
+
|
|
45
|
+
@field_serializer("discover_type")
|
|
46
|
+
def serialize_discover_type(self, value):
|
|
47
|
+
if isinstance(value, str):
|
|
48
|
+
try:
|
|
49
|
+
return models.CollectorRestDiscoverType(value)
|
|
50
|
+
except ValueError:
|
|
51
|
+
return value
|
|
52
|
+
return value
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
class CollectMethod(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
56
|
+
# GET
|
|
57
|
+
GET = "get"
|
|
58
|
+
# POST
|
|
59
|
+
POST = "post"
|
|
60
|
+
# POST with Body
|
|
61
|
+
POST_WITH_BODY = "post_with_body"
|
|
62
|
+
# Other
|
|
63
|
+
OTHER = "other"
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
class CollectorRestCollectRequestHeaderTypedDict(TypedDict):
|
|
67
|
+
name: str
|
|
68
|
+
value: str
|
|
69
|
+
r"""JavaScript expression to compute parameter value, usually enclosed in backticks (`${earliest}`). If a constant, use single quotes ('earliest'). Values that aren't successfully evaluated as JavaScript expressions will be treated as string constants."""
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
class CollectorRestCollectRequestHeader(BaseModel):
|
|
73
|
+
name: str
|
|
74
|
+
|
|
75
|
+
value: str
|
|
76
|
+
r"""JavaScript expression to compute parameter value, usually enclosed in backticks (`${earliest}`). If a constant, use single quotes ('earliest'). Values that aren't successfully evaluated as JavaScript expressions will be treated as string constants."""
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
class PaginationEnum(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
80
|
+
# None
|
|
81
|
+
NONE = "none"
|
|
82
|
+
# Response Body Attribute
|
|
83
|
+
RESPONSE_BODY = "response_body"
|
|
84
|
+
# Response Header Attribute
|
|
85
|
+
RESPONSE_HEADER = "response_header"
|
|
86
|
+
# RFC 5988 - Web Linking
|
|
87
|
+
RESPONSE_HEADER_LINK = "response_header_link"
|
|
88
|
+
# Offset/Limit
|
|
89
|
+
REQUEST_OFFSET = "request_offset"
|
|
90
|
+
# Page/Size
|
|
91
|
+
REQUEST_PAGE = "request_page"
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
class PaginationTypedDict(TypedDict):
|
|
95
|
+
type: NotRequired[PaginationEnum]
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
class Pagination(BaseModel):
|
|
99
|
+
type: Annotated[
|
|
100
|
+
Optional[PaginationEnum], PlainValidator(validate_open_enum(False))
|
|
101
|
+
] = PaginationEnum.NONE
|
|
102
|
+
|
|
103
|
+
@field_serializer("type")
|
|
104
|
+
def serialize_type(self, value):
|
|
105
|
+
if isinstance(value, str):
|
|
106
|
+
try:
|
|
107
|
+
return models.PaginationEnum(value)
|
|
108
|
+
except ValueError:
|
|
109
|
+
return value
|
|
110
|
+
return value
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
class CollectorRestAuthentication(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
114
|
+
r"""Authentication method for Discover and Collect REST calls. You can specify API key–based authentication by adding the appropriate Collect headers."""
|
|
115
|
+
|
|
116
|
+
NONE = "none"
|
|
117
|
+
BASIC = "basic"
|
|
118
|
+
BASIC_SECRET = "basicSecret"
|
|
119
|
+
LOGIN = "login"
|
|
120
|
+
LOGIN_SECRET = "loginSecret"
|
|
121
|
+
OAUTH = "oauth"
|
|
122
|
+
OAUTH_SECRET = "oauthSecret"
|
|
123
|
+
GOOGLE_OAUTH = "google_oauth"
|
|
124
|
+
GOOGLE_OAUTH_SECRET = "google_oauthSecret"
|
|
125
|
+
HMAC = "hmac"
|
|
126
|
+
|
|
127
|
+
|
|
128
|
+
class CollectorRestRetryType(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
129
|
+
r"""Algorithm to use when performing HTTP retries"""
|
|
130
|
+
|
|
131
|
+
# Disabled
|
|
132
|
+
NONE = "none"
|
|
133
|
+
# Backoff
|
|
134
|
+
BACKOFF = "backoff"
|
|
135
|
+
# Static
|
|
136
|
+
STATIC = "static"
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
class CollectorRestRetryRulesTypedDict(TypedDict):
|
|
140
|
+
type: NotRequired[CollectorRestRetryType]
|
|
141
|
+
r"""Algorithm to use when performing HTTP retries"""
|
|
142
|
+
interval: NotRequired[Any]
|
|
143
|
+
limit: NotRequired[Any]
|
|
144
|
+
multiplier: NotRequired[Any]
|
|
145
|
+
max_interval_ms: NotRequired[Any]
|
|
146
|
+
codes: NotRequired[Any]
|
|
147
|
+
enable_header: NotRequired[Any]
|
|
148
|
+
retry_connect_timeout: NotRequired[Any]
|
|
149
|
+
retry_connect_reset: NotRequired[Any]
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
class CollectorRestRetryRules(BaseModel):
|
|
153
|
+
type: Annotated[
|
|
154
|
+
Optional[CollectorRestRetryType], PlainValidator(validate_open_enum(False))
|
|
155
|
+
] = CollectorRestRetryType.BACKOFF
|
|
156
|
+
r"""Algorithm to use when performing HTTP retries"""
|
|
157
|
+
|
|
158
|
+
interval: Optional[Any] = None
|
|
159
|
+
|
|
160
|
+
limit: Optional[Any] = None
|
|
161
|
+
|
|
162
|
+
multiplier: Optional[Any] = None
|
|
163
|
+
|
|
164
|
+
max_interval_ms: Annotated[Optional[Any], pydantic.Field(alias="maxIntervalMs")] = (
|
|
165
|
+
None
|
|
166
|
+
)
|
|
167
|
+
|
|
168
|
+
codes: Optional[Any] = None
|
|
169
|
+
|
|
170
|
+
enable_header: Annotated[Optional[Any], pydantic.Field(alias="enableHeader")] = None
|
|
171
|
+
|
|
172
|
+
retry_connect_timeout: Annotated[
|
|
173
|
+
Optional[Any], pydantic.Field(alias="retryConnectTimeout")
|
|
174
|
+
] = None
|
|
175
|
+
|
|
176
|
+
retry_connect_reset: Annotated[
|
|
177
|
+
Optional[Any], pydantic.Field(alias="retryConnectReset")
|
|
178
|
+
] = None
|
|
179
|
+
|
|
180
|
+
@field_serializer("type")
|
|
181
|
+
def serialize_type(self, value):
|
|
182
|
+
if isinstance(value, str):
|
|
183
|
+
try:
|
|
184
|
+
return models.CollectorRestRetryType(value)
|
|
185
|
+
except ValueError:
|
|
186
|
+
return value
|
|
187
|
+
return value
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
class CollectorRestStateTrackingTypedDict(TypedDict):
|
|
191
|
+
enabled: NotRequired[bool]
|
|
192
|
+
r"""Track collection progress between consecutive scheduled executions"""
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
class CollectorRestStateTracking(BaseModel):
|
|
196
|
+
enabled: Optional[bool] = None
|
|
197
|
+
r"""Track collection progress between consecutive scheduled executions"""
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
class CollectorRestSchedulingTypedDict(TypedDict):
|
|
201
|
+
state_tracking: NotRequired[CollectorRestStateTrackingTypedDict]
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
class CollectorRestScheduling(BaseModel):
|
|
205
|
+
state_tracking: Annotated[
|
|
206
|
+
Optional[CollectorRestStateTracking], pydantic.Field(alias="stateTracking")
|
|
207
|
+
] = None
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
class CollectorRestTypedDict(TypedDict):
|
|
211
|
+
type: CollectorRestType
|
|
212
|
+
r"""Collector type: rest"""
|
|
213
|
+
collect_url: str
|
|
214
|
+
r"""URL (constant or JavaScript expression) to use for the Collect operation"""
|
|
215
|
+
discovery: NotRequired[CollectorRestDiscoveryTypedDict]
|
|
216
|
+
collect_method: NotRequired[CollectMethod]
|
|
217
|
+
collect_verb: NotRequired[Any]
|
|
218
|
+
collect_request_params: NotRequired[Any]
|
|
219
|
+
collect_body: NotRequired[Any]
|
|
220
|
+
collect_request_headers: NotRequired[
|
|
221
|
+
List[CollectorRestCollectRequestHeaderTypedDict]
|
|
222
|
+
]
|
|
223
|
+
pagination: NotRequired[PaginationTypedDict]
|
|
224
|
+
authentication: NotRequired[CollectorRestAuthentication]
|
|
225
|
+
r"""Authentication method for Discover and Collect REST calls. You can specify API key–based authentication by adding the appropriate Collect headers."""
|
|
226
|
+
timeout: NotRequired[float]
|
|
227
|
+
r"""HTTP request inactivity timeout. Use 0 to disable."""
|
|
228
|
+
use_round_robin_dns: NotRequired[bool]
|
|
229
|
+
r"""Use round-robin DNS lookup. Suitable when DNS server returns multiple addresses in sort order."""
|
|
230
|
+
disable_time_filter: NotRequired[bool]
|
|
231
|
+
r"""Disable Collector event time filtering when a date range is specified"""
|
|
232
|
+
decode_url: NotRequired[bool]
|
|
233
|
+
r"""Decode the URL before sending requests (including pagination requests)"""
|
|
234
|
+
reject_unauthorized: NotRequired[bool]
|
|
235
|
+
r"""Reject certificates that cannot be verified against a valid CA (such as self-signed certificates)"""
|
|
236
|
+
capture_headers: NotRequired[bool]
|
|
237
|
+
r"""Enable to add response headers to the resHeaders field under the __collectible object"""
|
|
238
|
+
stop_on_empty_results: NotRequired[bool]
|
|
239
|
+
r"""Stop pagination when the Event Breaker produces no events"""
|
|
240
|
+
safe_headers: NotRequired[List[str]]
|
|
241
|
+
r"""List of headers that are safe to log in plain text"""
|
|
242
|
+
retry_rules: NotRequired[CollectorRestRetryRulesTypedDict]
|
|
243
|
+
scheduling: NotRequired[CollectorRestSchedulingTypedDict]
|
|
244
|
+
|
|
245
|
+
|
|
246
|
+
class CollectorRest(BaseModel):
|
|
247
|
+
type: CollectorRestType
|
|
248
|
+
r"""Collector type: rest"""
|
|
249
|
+
|
|
250
|
+
collect_url: Annotated[str, pydantic.Field(alias="collectUrl")]
|
|
251
|
+
r"""URL (constant or JavaScript expression) to use for the Collect operation"""
|
|
252
|
+
|
|
253
|
+
discovery: Optional[CollectorRestDiscovery] = None
|
|
254
|
+
|
|
255
|
+
collect_method: Annotated[
|
|
256
|
+
Annotated[Optional[CollectMethod], PlainValidator(validate_open_enum(False))],
|
|
257
|
+
pydantic.Field(alias="collectMethod"),
|
|
258
|
+
] = CollectMethod.GET
|
|
259
|
+
|
|
260
|
+
collect_verb: Annotated[Optional[Any], pydantic.Field(alias="collectVerb")] = None
|
|
261
|
+
|
|
262
|
+
collect_request_params: Annotated[
|
|
263
|
+
Optional[Any], pydantic.Field(alias="collectRequestParams")
|
|
264
|
+
] = None
|
|
265
|
+
|
|
266
|
+
collect_body: Annotated[Optional[Any], pydantic.Field(alias="collectBody")] = None
|
|
267
|
+
|
|
268
|
+
collect_request_headers: Annotated[
|
|
269
|
+
Optional[List[CollectorRestCollectRequestHeader]],
|
|
270
|
+
pydantic.Field(alias="collectRequestHeaders"),
|
|
271
|
+
] = None
|
|
272
|
+
|
|
273
|
+
pagination: Optional[Pagination] = None
|
|
274
|
+
|
|
275
|
+
authentication: Annotated[
|
|
276
|
+
Optional[CollectorRestAuthentication], PlainValidator(validate_open_enum(False))
|
|
277
|
+
] = CollectorRestAuthentication.NONE
|
|
278
|
+
r"""Authentication method for Discover and Collect REST calls. You can specify API key–based authentication by adding the appropriate Collect headers."""
|
|
279
|
+
|
|
280
|
+
timeout: Optional[float] = 0
|
|
281
|
+
r"""HTTP request inactivity timeout. Use 0 to disable."""
|
|
282
|
+
|
|
283
|
+
use_round_robin_dns: Annotated[
|
|
284
|
+
Optional[bool], pydantic.Field(alias="useRoundRobinDns")
|
|
285
|
+
] = False
|
|
286
|
+
r"""Use round-robin DNS lookup. Suitable when DNS server returns multiple addresses in sort order."""
|
|
287
|
+
|
|
288
|
+
disable_time_filter: Annotated[
|
|
289
|
+
Optional[bool], pydantic.Field(alias="disableTimeFilter")
|
|
290
|
+
] = False
|
|
291
|
+
r"""Disable Collector event time filtering when a date range is specified"""
|
|
292
|
+
|
|
293
|
+
decode_url: Annotated[Optional[bool], pydantic.Field(alias="decodeUrl")] = True
|
|
294
|
+
r"""Decode the URL before sending requests (including pagination requests)"""
|
|
295
|
+
|
|
296
|
+
reject_unauthorized: Annotated[
|
|
297
|
+
Optional[bool], pydantic.Field(alias="rejectUnauthorized")
|
|
298
|
+
] = False
|
|
299
|
+
r"""Reject certificates that cannot be verified against a valid CA (such as self-signed certificates)"""
|
|
300
|
+
|
|
301
|
+
capture_headers: Annotated[
|
|
302
|
+
Optional[bool], pydantic.Field(alias="captureHeaders")
|
|
303
|
+
] = False
|
|
304
|
+
r"""Enable to add response headers to the resHeaders field under the __collectible object"""
|
|
305
|
+
|
|
306
|
+
stop_on_empty_results: Annotated[
|
|
307
|
+
Optional[bool], pydantic.Field(alias="stopOnEmptyResults")
|
|
308
|
+
] = False
|
|
309
|
+
r"""Stop pagination when the Event Breaker produces no events"""
|
|
310
|
+
|
|
311
|
+
safe_headers: Annotated[
|
|
312
|
+
Optional[List[str]], pydantic.Field(alias="safeHeaders")
|
|
313
|
+
] = None
|
|
314
|
+
r"""List of headers that are safe to log in plain text"""
|
|
315
|
+
|
|
316
|
+
retry_rules: Annotated[
|
|
317
|
+
Optional[CollectorRestRetryRules], pydantic.Field(alias="retryRules")
|
|
318
|
+
] = None
|
|
319
|
+
|
|
320
|
+
scheduling: Annotated[
|
|
321
|
+
Optional[CollectorRestScheduling], pydantic.Field(alias="__scheduling")
|
|
322
|
+
] = None
|
|
323
|
+
|
|
324
|
+
@field_serializer("collect_method")
|
|
325
|
+
def serialize_collect_method(self, value):
|
|
326
|
+
if isinstance(value, str):
|
|
327
|
+
try:
|
|
328
|
+
return models.CollectMethod(value)
|
|
329
|
+
except ValueError:
|
|
330
|
+
return value
|
|
331
|
+
return value
|
|
332
|
+
|
|
333
|
+
@field_serializer("authentication")
|
|
334
|
+
def serialize_authentication(self, value):
|
|
335
|
+
if isinstance(value, str):
|
|
336
|
+
try:
|
|
337
|
+
return models.CollectorRestAuthentication(value)
|
|
338
|
+
except ValueError:
|
|
339
|
+
return value
|
|
340
|
+
return value
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from cribl_control_plane import models, utils
|
|
5
|
+
from cribl_control_plane.types import BaseModel
|
|
6
|
+
from cribl_control_plane.utils import validate_open_enum
|
|
7
|
+
from enum import Enum
|
|
8
|
+
import pydantic
|
|
9
|
+
from pydantic import field_serializer
|
|
10
|
+
from pydantic.functional_validators import PlainValidator
|
|
11
|
+
from typing import Any, List, Optional
|
|
12
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class CollectorS3Type(str, Enum):
|
|
16
|
+
r"""Collector type: s3"""
|
|
17
|
+
|
|
18
|
+
S3 = "s3"
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class PartitioningScheme(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
22
|
+
r"""Partitioning scheme used for this dataset. Using a known scheme like DDSS enables more efficient data reading and retrieval."""
|
|
23
|
+
|
|
24
|
+
# Defined in Path
|
|
25
|
+
NONE = "none"
|
|
26
|
+
# DDSS
|
|
27
|
+
DDSS = "ddss"
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
class CollectorS3ExtractorTypedDict(TypedDict):
|
|
31
|
+
key: str
|
|
32
|
+
r"""A token from the template path, such as epoch"""
|
|
33
|
+
expression: str
|
|
34
|
+
r"""JavaScript expression that receives token under \"value\" variable, and evaluates to populate event fields. Example: {date: new Date(+value*1000)}"""
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
class CollectorS3Extractor(BaseModel):
|
|
38
|
+
key: str
|
|
39
|
+
r"""A token from the template path, such as epoch"""
|
|
40
|
+
|
|
41
|
+
expression: str
|
|
42
|
+
r"""JavaScript expression that receives token under \"value\" variable, and evaluates to populate event fields. Example: {date: new Date(+value*1000)}"""
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
class CollectorS3AuthenticationMethod(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
46
|
+
r"""AWS authentication method. Choose Auto to use IAM roles."""
|
|
47
|
+
|
|
48
|
+
# Auto
|
|
49
|
+
AUTO = "auto"
|
|
50
|
+
# Manual
|
|
51
|
+
MANUAL = "manual"
|
|
52
|
+
# Secret Key pair
|
|
53
|
+
SECRET = "secret"
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
class CollectorS3SignatureVersion(str, Enum, metaclass=utils.OpenEnumMeta):
|
|
57
|
+
r"""Signature version to use for signing S3 requests"""
|
|
58
|
+
|
|
59
|
+
V2 = "v2"
|
|
60
|
+
V4 = "v4"
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
class CollectorS3TypedDict(TypedDict):
|
|
64
|
+
type: CollectorS3Type
|
|
65
|
+
r"""Collector type: s3"""
|
|
66
|
+
bucket: str
|
|
67
|
+
r"""S3 Bucket from which to collect data"""
|
|
68
|
+
output_name: NotRequired[str]
|
|
69
|
+
r"""Name of the predefined Destination that will be used to auto-populate Collector settings"""
|
|
70
|
+
parquet_chunk_size_mb: NotRequired[float]
|
|
71
|
+
r"""Maximum file size for each Parquet chunk"""
|
|
72
|
+
parquet_chunk_download_timeout: NotRequired[float]
|
|
73
|
+
r"""Maximum time allowed for downloading a Parquet chunk. Processing will stop if a chunk cannot be downloaded within the time specified."""
|
|
74
|
+
region: NotRequired[str]
|
|
75
|
+
r"""Region from which to retrieve data"""
|
|
76
|
+
path: NotRequired[str]
|
|
77
|
+
r"""Directory where data will be collected. Templating (such as 'myDir/${datacenter}/${host}/${app}/') and time-based tokens (such as 'myOtherDir/${_time:%Y}/${_time:%m}/${_time:%d}/') are supported. Can be a constant (enclosed in quotes) or a JavaScript expression."""
|
|
78
|
+
partitioning_scheme: NotRequired[PartitioningScheme]
|
|
79
|
+
r"""Partitioning scheme used for this dataset. Using a known scheme like DDSS enables more efficient data reading and retrieval."""
|
|
80
|
+
extractors: NotRequired[List[CollectorS3ExtractorTypedDict]]
|
|
81
|
+
r"""Allows using template tokens as context for expressions that enrich discovery results. For example, given a template /path/${epoch}, an extractor under key \"epoch\" with an expression {date: new Date(+value*1000)}, will enrich discovery results with a human readable \"date\" field."""
|
|
82
|
+
aws_authentication_method: NotRequired[CollectorS3AuthenticationMethod]
|
|
83
|
+
r"""AWS authentication method. Choose Auto to use IAM roles."""
|
|
84
|
+
endpoint: NotRequired[str]
|
|
85
|
+
r"""Must point to an S3-compatible endpoint. If empty, defaults to an AWS region-specific endpoint."""
|
|
86
|
+
signature_version: NotRequired[CollectorS3SignatureVersion]
|
|
87
|
+
r"""Signature version to use for signing S3 requests"""
|
|
88
|
+
enable_assume_role: NotRequired[bool]
|
|
89
|
+
r"""Use AssumeRole credentials"""
|
|
90
|
+
assume_role_arn: NotRequired[str]
|
|
91
|
+
r"""Amazon Resource Name (ARN) of the role to assume"""
|
|
92
|
+
assume_role_external_id: NotRequired[str]
|
|
93
|
+
r"""External ID to use when assuming role"""
|
|
94
|
+
duration_seconds: NotRequired[float]
|
|
95
|
+
r"""Duration of the Assumed Role's session, in seconds. Minimum is 900 (15 minutes), default is 3600 (1 hour), and maximum is 43200 (12 hours)."""
|
|
96
|
+
max_batch_size: NotRequired[float]
|
|
97
|
+
r"""Maximum number of metadata objects to batch before recording as results"""
|
|
98
|
+
recurse: NotRequired[Any]
|
|
99
|
+
reuse_connections: NotRequired[bool]
|
|
100
|
+
r"""Reuse connections between requests to improve performance"""
|
|
101
|
+
reject_unauthorized: NotRequired[bool]
|
|
102
|
+
r"""Reject certificates that cannot be verified against a valid CA (such as a self-signed certificate)"""
|
|
103
|
+
verify_permissions: NotRequired[bool]
|
|
104
|
+
r"""Disable if you can access files within the bucket but not the bucket itself. Resolves errors of the form \"discover task initialization failed...error: Forbidden\"."""
|
|
105
|
+
disable_time_filter: NotRequired[bool]
|
|
106
|
+
r"""Disable Collector event time filtering when a date range is specified"""
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
class CollectorS3(BaseModel):
|
|
110
|
+
type: CollectorS3Type
|
|
111
|
+
r"""Collector type: s3"""
|
|
112
|
+
|
|
113
|
+
bucket: str
|
|
114
|
+
r"""S3 Bucket from which to collect data"""
|
|
115
|
+
|
|
116
|
+
output_name: Annotated[Optional[str], pydantic.Field(alias="outputName")] = None
|
|
117
|
+
r"""Name of the predefined Destination that will be used to auto-populate Collector settings"""
|
|
118
|
+
|
|
119
|
+
parquet_chunk_size_mb: Annotated[
|
|
120
|
+
Optional[float], pydantic.Field(alias="parquetChunkSizeMB")
|
|
121
|
+
] = 5
|
|
122
|
+
r"""Maximum file size for each Parquet chunk"""
|
|
123
|
+
|
|
124
|
+
parquet_chunk_download_timeout: Annotated[
|
|
125
|
+
Optional[float], pydantic.Field(alias="parquetChunkDownloadTimeout")
|
|
126
|
+
] = 600
|
|
127
|
+
r"""Maximum time allowed for downloading a Parquet chunk. Processing will stop if a chunk cannot be downloaded within the time specified."""
|
|
128
|
+
|
|
129
|
+
region: Optional[str] = None
|
|
130
|
+
r"""Region from which to retrieve data"""
|
|
131
|
+
|
|
132
|
+
path: Optional[str] = None
|
|
133
|
+
r"""Directory where data will be collected. Templating (such as 'myDir/${datacenter}/${host}/${app}/') and time-based tokens (such as 'myOtherDir/${_time:%Y}/${_time:%m}/${_time:%d}/') are supported. Can be a constant (enclosed in quotes) or a JavaScript expression."""
|
|
134
|
+
|
|
135
|
+
partitioning_scheme: Annotated[
|
|
136
|
+
Annotated[
|
|
137
|
+
Optional[PartitioningScheme], PlainValidator(validate_open_enum(False))
|
|
138
|
+
],
|
|
139
|
+
pydantic.Field(alias="partitioningScheme"),
|
|
140
|
+
] = PartitioningScheme.NONE
|
|
141
|
+
r"""Partitioning scheme used for this dataset. Using a known scheme like DDSS enables more efficient data reading and retrieval."""
|
|
142
|
+
|
|
143
|
+
extractors: Optional[List[CollectorS3Extractor]] = None
|
|
144
|
+
r"""Allows using template tokens as context for expressions that enrich discovery results. For example, given a template /path/${epoch}, an extractor under key \"epoch\" with an expression {date: new Date(+value*1000)}, will enrich discovery results with a human readable \"date\" field."""
|
|
145
|
+
|
|
146
|
+
aws_authentication_method: Annotated[
|
|
147
|
+
Annotated[
|
|
148
|
+
Optional[CollectorS3AuthenticationMethod],
|
|
149
|
+
PlainValidator(validate_open_enum(False)),
|
|
150
|
+
],
|
|
151
|
+
pydantic.Field(alias="awsAuthenticationMethod"),
|
|
152
|
+
] = CollectorS3AuthenticationMethod.AUTO
|
|
153
|
+
r"""AWS authentication method. Choose Auto to use IAM roles."""
|
|
154
|
+
|
|
155
|
+
endpoint: Optional[str] = None
|
|
156
|
+
r"""Must point to an S3-compatible endpoint. If empty, defaults to an AWS region-specific endpoint."""
|
|
157
|
+
|
|
158
|
+
signature_version: Annotated[
|
|
159
|
+
Annotated[
|
|
160
|
+
Optional[CollectorS3SignatureVersion],
|
|
161
|
+
PlainValidator(validate_open_enum(False)),
|
|
162
|
+
],
|
|
163
|
+
pydantic.Field(alias="signatureVersion"),
|
|
164
|
+
] = CollectorS3SignatureVersion.V4
|
|
165
|
+
r"""Signature version to use for signing S3 requests"""
|
|
166
|
+
|
|
167
|
+
enable_assume_role: Annotated[
|
|
168
|
+
Optional[bool], pydantic.Field(alias="enableAssumeRole")
|
|
169
|
+
] = False
|
|
170
|
+
r"""Use AssumeRole credentials"""
|
|
171
|
+
|
|
172
|
+
assume_role_arn: Annotated[Optional[str], pydantic.Field(alias="assumeRoleArn")] = (
|
|
173
|
+
None
|
|
174
|
+
)
|
|
175
|
+
r"""Amazon Resource Name (ARN) of the role to assume"""
|
|
176
|
+
|
|
177
|
+
assume_role_external_id: Annotated[
|
|
178
|
+
Optional[str], pydantic.Field(alias="assumeRoleExternalId")
|
|
179
|
+
] = None
|
|
180
|
+
r"""External ID to use when assuming role"""
|
|
181
|
+
|
|
182
|
+
duration_seconds: Annotated[
|
|
183
|
+
Optional[float], pydantic.Field(alias="durationSeconds")
|
|
184
|
+
] = 3600
|
|
185
|
+
r"""Duration of the Assumed Role's session, in seconds. Minimum is 900 (15 minutes), default is 3600 (1 hour), and maximum is 43200 (12 hours)."""
|
|
186
|
+
|
|
187
|
+
max_batch_size: Annotated[Optional[float], pydantic.Field(alias="maxBatchSize")] = (
|
|
188
|
+
10
|
|
189
|
+
)
|
|
190
|
+
r"""Maximum number of metadata objects to batch before recording as results"""
|
|
191
|
+
|
|
192
|
+
recurse: Optional[Any] = None
|
|
193
|
+
|
|
194
|
+
reuse_connections: Annotated[
|
|
195
|
+
Optional[bool], pydantic.Field(alias="reuseConnections")
|
|
196
|
+
] = True
|
|
197
|
+
r"""Reuse connections between requests to improve performance"""
|
|
198
|
+
|
|
199
|
+
reject_unauthorized: Annotated[
|
|
200
|
+
Optional[bool], pydantic.Field(alias="rejectUnauthorized")
|
|
201
|
+
] = True
|
|
202
|
+
r"""Reject certificates that cannot be verified against a valid CA (such as a self-signed certificate)"""
|
|
203
|
+
|
|
204
|
+
verify_permissions: Annotated[
|
|
205
|
+
Optional[bool], pydantic.Field(alias="verifyPermissions")
|
|
206
|
+
] = True
|
|
207
|
+
r"""Disable if you can access files within the bucket but not the bucket itself. Resolves errors of the form \"discover task initialization failed...error: Forbidden\"."""
|
|
208
|
+
|
|
209
|
+
disable_time_filter: Annotated[
|
|
210
|
+
Optional[bool], pydantic.Field(alias="disableTimeFilter")
|
|
211
|
+
] = False
|
|
212
|
+
r"""Disable Collector event time filtering when a date range is specified"""
|
|
213
|
+
|
|
214
|
+
@field_serializer("partitioning_scheme")
|
|
215
|
+
def serialize_partitioning_scheme(self, value):
|
|
216
|
+
if isinstance(value, str):
|
|
217
|
+
try:
|
|
218
|
+
return models.PartitioningScheme(value)
|
|
219
|
+
except ValueError:
|
|
220
|
+
return value
|
|
221
|
+
return value
|
|
222
|
+
|
|
223
|
+
@field_serializer("aws_authentication_method")
|
|
224
|
+
def serialize_aws_authentication_method(self, value):
|
|
225
|
+
if isinstance(value, str):
|
|
226
|
+
try:
|
|
227
|
+
return models.CollectorS3AuthenticationMethod(value)
|
|
228
|
+
except ValueError:
|
|
229
|
+
return value
|
|
230
|
+
return value
|
|
231
|
+
|
|
232
|
+
@field_serializer("signature_version")
|
|
233
|
+
def serialize_signature_version(self, value):
|
|
234
|
+
if isinstance(value, str):
|
|
235
|
+
try:
|
|
236
|
+
return models.CollectorS3SignatureVersion(value)
|
|
237
|
+
except ValueError:
|
|
238
|
+
return value
|
|
239
|
+
return value
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from cribl_control_plane.types import BaseModel
|
|
5
|
+
from enum import Enum
|
|
6
|
+
import pydantic
|
|
7
|
+
from typing import List, Optional
|
|
8
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class CollectorScriptType(str, Enum):
|
|
12
|
+
r"""Collector type: script"""
|
|
13
|
+
|
|
14
|
+
SCRIPT = "script"
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class EnvVarTypedDict(TypedDict):
|
|
18
|
+
name: str
|
|
19
|
+
r"""Environment variable name"""
|
|
20
|
+
value: str
|
|
21
|
+
r"""JavaScript expression to compute environment variable's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class EnvVar(BaseModel):
|
|
25
|
+
name: str
|
|
26
|
+
r"""Environment variable name"""
|
|
27
|
+
|
|
28
|
+
value: str
|
|
29
|
+
r"""JavaScript expression to compute environment variable's value, enclosed in quotes or backticks. (Can evaluate to a constant.)"""
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
class CollectorScriptTypedDict(TypedDict):
|
|
33
|
+
type: CollectorScriptType
|
|
34
|
+
r"""Collector type: script"""
|
|
35
|
+
discover_script: str
|
|
36
|
+
r"""Script to discover what to collect. Should output one task per line in stdout."""
|
|
37
|
+
collect_script: str
|
|
38
|
+
r"""Script to run to perform data collections. Task passed in as $CRIBL_COLLECT_ARG. Should output results to stdout."""
|
|
39
|
+
shell: NotRequired[str]
|
|
40
|
+
r"""Shell to use to execute scripts."""
|
|
41
|
+
env_vars: NotRequired[List[EnvVarTypedDict]]
|
|
42
|
+
r"""Environment variables to expose to the discover and collect scripts."""
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
class CollectorScript(BaseModel):
|
|
46
|
+
type: CollectorScriptType
|
|
47
|
+
r"""Collector type: script"""
|
|
48
|
+
|
|
49
|
+
discover_script: Annotated[str, pydantic.Field(alias="discoverScript")]
|
|
50
|
+
r"""Script to discover what to collect. Should output one task per line in stdout."""
|
|
51
|
+
|
|
52
|
+
collect_script: Annotated[str, pydantic.Field(alias="collectScript")]
|
|
53
|
+
r"""Script to run to perform data collections. Task passed in as $CRIBL_COLLECT_ARG. Should output results to stdout."""
|
|
54
|
+
|
|
55
|
+
shell: Optional[str] = "/bin/bash"
|
|
56
|
+
r"""Shell to use to execute scripts."""
|
|
57
|
+
|
|
58
|
+
env_vars: Annotated[Optional[List[EnvVar]], pydantic.Field(alias="envVars")] = None
|
|
59
|
+
r"""Environment variables to expose to the discover and collect scripts."""
|